自 1996 年至今,網(wǎng)站的工作方式普遍是由服務(wù)器端向?yàn)g覽器傳送整個(gè)渲染好的 HTML 文件,下載和刷新需要較長(zhǎng)的等待時(shí)間。在 2012 年的今天它迎來了新曙光,這套古老的模式將可能一去不復(fù)返了。簡(jiǎn)單說,新的模式是服務(wù)器和瀏覽器初始化之后只進(jìn)行純數(shù)據(jù)的對(duì)話,由瀏覽器決定怎樣渲染它來生成 HTML,遠(yuǎn)程會(huì)話變成了本地的交互,操作動(dòng)作和數(shù)據(jù)傳輸將感覺不到延遲。 Meteor 是一個(gè)新鮮出爐的現(xiàn)代網(wǎng)站開發(fā)平臺(tái),基礎(chǔ)構(gòu)架是 Node.JS + MongoDB,它把這個(gè)基礎(chǔ)構(gòu)架同時(shí)延伸到了瀏覽器端,如果 App 用純 JavaScript 寫成,JS APIs 和 DB APIs 就可以同時(shí)在服務(wù)器端和客戶端無差異地調(diào)用,本地和遠(yuǎn)程數(shù)據(jù)通過 DDP(Distributed Data Protocol)協(xié)議傳輸。因此部分應(yīng)用如 TODO 列表,網(wǎng)絡(luò)在線和離線下使用功能完全沒有差異,動(dòng)作響應(yīng)和數(shù)據(jù)延遲也完全感覺不出來。 如果簡(jiǎn)單定義“現(xiàn)代網(wǎng)站”是一個(gè)實(shí)時(shí)交互、超高性能、具備非凡體驗(yàn)的網(wǎng)站,那么 Meteor 就是一個(gè)可為開發(fā)者以簡(jiǎn)單高效而且充滿樂趣的方式進(jìn)行現(xiàn)代網(wǎng)站開發(fā)的平臺(tái),以往開發(fā)周期需要幾周到幾個(gè)月的項(xiàng)目,現(xiàn)在可能只需要幾個(gè)小時(shí)或者一個(gè)周末的時(shí)間就可以完成了。Meteor 構(gòu)建的應(yīng)用體驗(yàn),會(huì)讓你感覺瀏覽器刷新按鈕和地址欄變成多余的。 Meteor 對(duì)于開發(fā)者,網(wǎng)站在開發(fā)過程中,頁面 CSS 樣式和 HTML 結(jié)構(gòu)更改時(shí)可自動(dòng)刷新瀏覽器實(shí)現(xiàn)代碼的熱部署,方便查看運(yùn)行效果;訪客瀏覽網(wǎng)站,服務(wù)器端和每一個(gè)瀏覽器端的數(shù)據(jù)增刪查改都將自動(dòng)同步推送至服務(wù)器和每一個(gè)會(huì)話終端,不需要刷新頁面來查看新內(nèi)容,新版本代碼和數(shù)據(jù)推送過程也不會(huì)打斷當(dāng)前用戶的正常瀏覽。Meteor 如同它的中文名字“飛火流星”一樣,奪目閃現(xiàn),鋒芒畢露。 要看這顆“流星”有多快,下面幾個(gè)簡(jiǎn)單步驟即可輕松搭建本地開發(fā)環(huán)境和部署新網(wǎng)站到網(wǎng)絡(luò)上,整個(gè)過程可能不會(huì)花費(fèi)超過 5 分鐘:
curl install. | /bin/sh 2)創(chuàng)建一個(gè)應(yīng)用: meteor create try-meteor 3)本地開跑( 運(yùn)行在 http://localhost:3000/ ): cd try-meteor meteor 線上部署,讓全世界都可以訪問到( http://36kr.): meteor deploy 36kr.
Meteor 開發(fā)和運(yùn)行演示視頻: 初步了解,Meteor 本質(zhì)上是 Node.JS 應(yīng)用的開發(fā),繼承了 Ruby on Rails、Node.JS、MongoDB API 等框架的基礎(chǔ)特性,模糊了服務(wù)器端和客戶端,弱化網(wǎng)絡(luò)連接質(zhì)量造成的影響。在官方示例應(yīng)用中,一個(gè)多人實(shí)時(shí)互動(dòng) Leaderboard 游戲應(yīng)用源代碼不足 50 行,其中沒有 MVC 中 Contorler 的概念,也不需要 Callback,僅僅幾個(gè)簡(jiǎn)單文件而已,而且它確實(shí)是工作了。在瀏覽器中查看頁面 HTML 代碼,只引用了一個(gè) CSS 和 JS 文件,數(shù)據(jù)通過 SocketJS 傳輸。 Meteor 當(dāng)前還處于開發(fā)預(yù)覽版,代碼以 GPL 協(xié)議開源,1.0 版本將在一個(gè)月到一年內(nèi)正式推出。你現(xiàn)在可以在 GitHub 上關(guān)注它。 |
|