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