日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Meteor:網(wǎng)絡應用開發(fā)的瑞士軍刀 隱者黑鷹

 隱者黑鷹 2017-01-30

自從Node.js撼動整個Web開發(fā)領域以來,JavaScript Web全棧開發(fā)框架層出不窮,但是隨著時間流逝,人們也逐漸意識到Node.js并不適合所有場景,一體化的開發(fā)框架也不一定適合JavaScript, 眾多JS Web框架紛紛沉寂,但唯有Meteor以其韌性堅持下來并脫穎而出,成為JavaScript Web開發(fā)框架的代表。

2011年組建的Meteor畢 業(yè)于YCombinator訓練營,成員來自Google等巨頭企業(yè)。迄今為止,Meteor開發(fā)團隊已經(jīng)拿到了多輪投資,包括早期Andressen Horowitz領投的1000萬美元,以及在推出Galaxy前夕的融資2000萬美元。Meteor于2014年十月發(fā)布1.0版本,2015年的八 月份,Meteor超過Rails,Github Star數(shù)接近3萬,成為GitHub最受歡迎的網(wǎng)絡應用開發(fā)框架。

作為一個開源框架,Meteor有著產(chǎn)品級的實時性和跨平臺特性,提供多種功能且易用性極佳。InfoQ一直關注Meteor的發(fā)展情況,并進行了跟蹤報 道。近日Meteor發(fā)布了Galaxy應用托管服務,標志著Meteor正式進入商業(yè)運營的階段。本文將回顧Meteor的發(fā)展,并分析Meteor的 優(yōu)缺點,以及Meteor的未來。InfoQ記者還就相關問題請教了Vue.js作者、Meteor的開發(fā)者之一尤雨溪。

Meteor的發(fā)展

Meteor早期版本以實時框架為賣點,外界對它的關注大約從0.4版本開始,這個版本將其Node.js依賴從0.6更新到0.8版本,而Node.js也正是從0.8版本開始漸漸普及。下面列出Meteor的主要版本更新:

  • 2012年9月發(fā)布0.4版本,添加智能郵件發(fā)送包,更新 Node.js 從 0.6 到 0.8 版本。
  • 2013年0.5.x版本,從0.5版本開始,Meteor做了相當大的變動,目標將基于Metero的應用擴展到百萬用戶級別。0.5.3版增 加了對環(huán)境變量的支持,支持更多可配置的開發(fā)環(huán)境。0.5.7版在性能和伸縮性上做了不少改進。0.5.8班包含客戶端數(shù)據(jù)庫更新,增加對 AppCache 支持,改進了底層的 Deps 工具,支持CoffeeScript。
  • 0.6版本包含一個全新的系統(tǒng)用于分發(fā)Meteor和更新應用,同時增加應用專有的包以及直接支持 NPM 模塊。
  • 0.7版本實現(xiàn)一個新的數(shù)據(jù)庫驅(qū)動器,使用MongoDB數(shù)據(jù)庫復制日志來更高效的監(jiān)控查詢。
  • 0.8版本用Blaze模板引擎替代2012年引入的Spark引擎,Spark被稱為jQuery的聲明式版本,不過顯然它并未代表未來的趨勢。
  • 0.9版本開始豐富整個生態(tài)系統(tǒng),0.9.0版本發(fā)布了官方的Meteor packaging系統(tǒng),包括Isobuild構(gòu)建系統(tǒng)和Meteor Package Server。0.9.2 版本首次支持使用PhoneGap構(gòu)建iOS和Android移動應用。
  • 1.0版本與2014年10月發(fā)布,作為一個里程碑版本并不包含重大更新,但更新了文檔,優(yōu)化了用戶體驗。
  • 1.1版本終于開始支持Windows操作系統(tǒng),同時還支持MongoDB 3.0版本。
  • 1.2版本開始支持ES6、AngularJS和React,前段時間還發(fā)布了Angular Meteor 1.2.0版,這是為Angular定制的版本。
  • 另外前段時間還發(fā)布了Galaxy,這是為Meteor應用提供托管的官方服務。

從上面的更新我們可以看到Meteor不止是在打造一個框架,也是在構(gòu)建一個從研發(fā)到部署、從Web到移動的、JavaScript全棧開發(fā)的生態(tài)鏈,這是開發(fā)者選擇Meteor的原因之一。

Why Meteor

從 發(fā)展趨勢來看,Meteor的出現(xiàn)并不是偶然。在Web開發(fā)中,一體化的框架非常多,如Rails就是其中的杰出代表,以其快速開發(fā)的能力受到人們青睞。 Node.js橫空出世以來,最主流的Web框架是Express,但是它只能算微框架,要想開發(fā)出一個功能完整的應用還需要大量的配置和很多的功能插 件。市面上并沒有主流的Node.js一體化框架,Meteor瞄準了這個缺口,也獲得了市場的承認和開發(fā)者的喜愛。

從開發(fā)者的眾多反饋來看,選擇Meteor的原因不外乎下面幾點:社區(qū)活躍、學習難度低、大量原生功能和優(yōu)秀的生態(tài)系統(tǒng),以及其主要的賣點:實時性框架。

  • 社區(qū)活躍:Meteor無論在GitHub、StackOverflow還是Twitter等社交媒體上,用戶活躍度都超過其他開發(fā)框架一個數(shù)量級,活躍的社區(qū)代表開發(fā)者正在進行頻繁的交流和討論,有助于問題的解決和框架的推廣傳播。
  • 學習難度低:如上文所說,Meteor是前后端甚至數(shù)據(jù)庫都可統(tǒng)一開發(fā)的JavaScript框架,開發(fā)者無需掌握多種不同工具即可完成網(wǎng)絡應用的構(gòu)建。Meteor在設計之初就考慮了簡明的理念,在官方教程的幫助下,開發(fā)者一個小時之內(nèi)就能學會基本開發(fā)。
  • 大量原生功能:支持多重數(shù)據(jù)庫、視圖、地址分配、安全、性能工具、測試、移動等功能,涵蓋整個網(wǎng)絡應用開發(fā)周期
  • 優(yōu)秀生態(tài)系統(tǒng):迄今為止,Meteor在線代碼庫中包含超過五千個第三方組件,而且數(shù)目仍然在迅速增長。

另外,Meteor從最開始的一個重要賣點就是實時框架,而現(xiàn)在實時性在Web應用甚至移動應用中用到的地方越來越多,證明Meteor選擇這個方向也是對的。

Why Not Meteor

當然,Meteor并不是沒有缺點,比如近期推出的Galaxy就遭到了詬病,Meteor本身是為了降低開發(fā)門檻,快速開發(fā),適用于中小團隊和創(chuàng)業(yè)者,但是Galaxy最低每月500美元的價格與這個定位并不匹配,在發(fā)布之后受到開發(fā)者的非議。

除了這個之外,Meteor缺乏大型成功案例,沒有經(jīng)過實踐的洗禮,也讓開發(fā)者懷疑它是否足夠成熟可用。在這篇Meteor在生產(chǎn)環(huán)境的實踐的文章里,作者提到了他使用Meteor的痛點,那就是部署在非官方平臺的體驗并不好,另外,某些關鍵功能插件并不好用,亟待加強和優(yōu)化。

而 讓人不選擇Meteor的根本原因,還與趨勢相關。Node.js包管理器NPM十分好用,并且迅速流行開來,對于Node.js開發(fā)者來說,依賴NPM 來進行模塊化的開發(fā)非常方便,而Express框架是很多Node.js開發(fā)者入門必學,因此它所倡導的模塊化+高度可配置的理念也就默認被人們所接受。 在這篇文章里 作者就希望人們使用更多庫而不是框架來開發(fā)Node.js Web應用。當然,不管趨勢如何變化,我們可以肯定的是,至少很長一段時間內(nèi),類似于Meteor這樣的一體化框架還會有它的市場。尤雨溪表示:“是否使 用框架是按實際情況考慮的。全棧式框架的價值在于對于沒有特殊要求的應用,能夠在極短的時間內(nèi)開發(fā)出可用的產(chǎn)品。去框架化對于技術人員來說是很浪漫的事 情,但當你拿了融資,需要在幾個月內(nèi)產(chǎn)品上線的情況下,未必有那么充裕的時間去自己整合各種組件,實現(xiàn)一些框架已經(jīng)實現(xiàn)了的功能。”

Meteor的未來

從目前的表現(xiàn)來看,Meteor正在穩(wěn)步發(fā)展,但是,它所處的環(huán)境,無論是Node.js,還是JavaScript社區(qū),都正在劇烈變化當中,誰也不能預測未來Meteor到底能否成功。

在 筆者看來,Meteor的未來是否成功,在很大程度上將取決于移動端,目前Meteor通過PhoneGap來支持移動應用打包,但是,相比于目前移動 Web的發(fā)展,它已經(jīng)有些落后于潮流,React Native才是人們的新寵,InfoQ記者向尤雨溪詢問Meteor是否有計劃支持React Native,他表示React Native的運行環(huán)境和打包方式都和現(xiàn)在集成Cordova的方式區(qū)別很大,因此目前還沒有具體的計劃,不過未來肯定會去嘗試。希望Meteor在這方 面更激進一些,像1.2版本支持ES6、Angular和React,就十分受到開發(fā)者的歡迎。

另外,Galaxy的發(fā)布,也讓人擔心,Meteor的重心是否轉(zhuǎn)向提供服務,框架的功能創(chuàng)新是否會放慢速度。尤雨溪則表示無需擔心,因為只有保持框架本身的競爭力才能為Galaxy吸引到客戶,所以肯定不會對框架本身松懈的。

至 于近一段時間Meteor的開發(fā)計劃,尤雨溪介紹道,他們已經(jīng)在計劃對Meteor本身進行一些大的改動來解決一些社區(qū)公認的問題,比如Meteor自身 的模塊系統(tǒng)一直受人詬病,他們在1.3會加入對ES6 module的支持。另外還會加強對于NPM的原生支持,讓Meteor應用可以更簡單地調(diào)用NPM上的資源。

JavaScript 社區(qū)一直充滿活力,每天各種各樣的框架層出不窮,但是真正成功商業(yè)化的不多,我們也衷心希望Meteor能為JavaScript框架探索出一條成功的道 路。對開發(fā)者來說,Meteor作為一款功能全面、簡單好用的一體化框架,在開發(fā)Node.js Web應用的時候,是一個不錯的選擇。


    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多