Meteor 1.2 將擁抱 ES6、AngularJS 和 React

華銘發表於2015-08-14

Meteor 1.2即將在今夏晚些時候釋出,讓我們先來一睹為快它有哪些新的特性:

此外,Meteor團隊也公佈了他們在1.2版本之後的開發路線

具體資訊請參考官方Blog文章,戳這裡

 

Meteor 1.2的更新將集中在以下幾個方面

通用Javascript: 採用ECMAScript 2015 (ES6)

ECMAScript2015,也稱ES6,是Javascript社群最為最要的一個里程碑。這個版本可以稱得上是”有史以來最好的Javascript”了,新增了類,塊作用域等許多新特性。通過引入這些特性,解決了許多JS被大家所詬病的地方,必將吸引更多的開發者加入JS這個社群。Meteor團隊認為,所有用JS寫應用的開發者都應該使用ES2015,因此他們決定將ES2015作為Meteor平臺的官方JS版本。他們的目的是要讓Meteor成為使用ES2015最好的方式,同時為所有的平臺,無論客戶端還是伺服器端,提供無縫的ES2015體驗。Meteor1.2將是實現這種無縫開發體驗的第一步:這個版本將新增對ES2015所有特性的支援(除了模組),能夠自動通過Babel轉錄JS檔案,從而使這個版本能夠執行在所有Meteor所支援的裝置和瀏覽器上,除此之外,他們還將所有的例子和文件都改寫成了ES2015的語法。

既然可以如此簡單的支援ES2015,Meteor團隊希望在新的版本中,所有開發者都能夠儘早開始使用ES2015(最好今天就開始)。這是Javascript的一次巨大飛躍。但是如果大家還沒有準備好切換到ES2015,或者希望能逐步遷移現有的程式碼,不用著急,在Meteor1.2中,你同樣可以選擇這樣做。你可以將一部分程式碼寫成ES2015,而另一部分保持原來的語法,然後再以你自己的步伐慢慢進行調整。

反應式渲染: 優先支援Angular和React

開發者都希望自己的應用是反應式(reactive)和響應式(responsive)的,所以難怪大家對於反應式渲染框架(如Angular和React等)的崛起表現得如此興奮。好訊息是,在Meteor1.2中,將保證無論是使用Blaze,React還是Angular,都會有一個非常棒的開發體驗。

Meteor和Angular/React的關係就像是花生醬沾果凍,絕配。反應式渲染只是構建一個完整的基於”Optimistic UI“的反應式應用的一小部分,Meteor提供了其他的部分讓你能夠構建一個完整的應用,從安全的服務端邏輯,到一個全棧的反應式資料系統,甚至到PhoneGap軟體的構建支援。最重要的是,不像BaaS,Meteor可是開源的。

所以Angular和React將會被Meteor原生支援,從而更好地支撐起Meteor庫中的檢視層。事實上,官方的Meteor教程已經有兩個版本了,Blaze和Angular,React版的教程不久也會上線。如果想要了解更多這方面的資訊,請穩步至Angular Meteor的官方網站,或者參考以下兩篇介紹React+Meteor的文章:Getting started with React in MeteorSashko的論壇帖子

開發體驗: 更快及更加靈活的構建流程

開發體驗一直以來都是Meteor團隊的重中之重,為此他們開發一整套的工具鏈,而Meteor 1.2則著重在使其構建工具鏈更加的快速和靈活。

更快意味著能夠支援更大和更加複雜的應用,以及能確保提供高階的JS構建任務(如ES2015和JSX)。為此,他們精心搭建了一個快取系統,從而實現在有許多轉錄發生的情況下,能夠計算出最小的構建步驟來更新應用。

更加靈活則意味著為外掛的開發者內建了更加深層和豐富的用於構建過程的鉤子。這無疑為工具包的開發者擴充Metero提供了全新的機會,比如可以從Meteor程式碼的內部來對Bootstrap進行定製構建,或者只需要新增一個包就可以檢查程式碼。這也解決了一個Meteor中一直存在的關於LESS的限制,之前的版本不得不以一種很尷尬的方式來繞過。

1.2版本之後的開發路線

除了1.2版本以外,Meteor團隊還希望在其他的領域能夠完善Meteor,這些領域可以總結為以下幾個方面:

整合

SQL 官方的SQL的支援將會吸引另外一大批開發者來使用Meteor。Meteor將會漸近式地支援SQL,先從SQL的“observeChanges”開始,然後逐步將它構建成Meteor全棧上的內建支援。

REST和微服務模式. Meteor團隊將會研究如何能更好地處理那些來自於現成後端服務的資料,也行會通過核心功能的形式,或者connector包和模式指導的模式。

應用架構

構建棧 Meteor團隊將會把一些社群要求的功能,如routing,併入核心庫中,而且會採用更加果斷的態度來建議如何構建大型的Meteor應用。當然,這些建議是可選的,主要是針對那些需要的開發團隊。而對於哪個功能會併入核心庫中,Meteor團隊的方法是從Atmosphere以及Meteor開發者使用者中選出那些最受歡迎的庫,然後再對它們進行整合。同時,他們也會新增任何能使開發更加容易的功能。

ES15模組 Meteor團隊將會將自產的前ES15時代的命名系統替換成更加耀眼和現代的ES15模組。Meteor的計劃是,會保留Rails風格的“do what I mean”,為那些需要的開發者自動做符號解析,與此同時如果偏愛另一種方式,也會允許使用嚴格的,顯性的名稱空間控制。

測試改善 Meteor團隊計劃將Velocity併入核心庫中,同時對它進行簡化和流程化。

移動端推進 在移動端構建工具鏈的方向上有許多的可能性,包括新的技術,如React Native,到其他更加廣泛的涉及跨平臺構建及debug的工具集。

相關文章