谷歌Dart曾經(jīng)躊躊滿志地想要取代JavaScript成為web開發(fā)的首選語言。然而在一年半前,谷歌放棄了這個想法。因為Dart不僅僅在語言本身,包括它的整個生態(tài)圈,都比JavaScript落后了一大截。所以Dart最終還是淪落到了跟TypeScript和CoffeeScript一樣的命運——成為另一個可以被編譯成JavaScript的語言。
然而,在沉寂了一段時間之后,在10月底舉行的慕尼黑Dart開發(fā)者大會上,Dart帶著贊新的面貌重返我們的視野。
事實上,盡管Dart無法像當(dāng)初聲稱的那樣可以取代JavaScript,但在谷歌內(nèi)部,它確實是一門很成功的web開發(fā)語言。谷歌的AdWords、AdSense和Fiber項目團隊開始把Dart融入他們的前端應(yīng)用開發(fā)。一項內(nèi)部報告表明,Dart可以幫助他們提升25%到100%的前端開發(fā)效率。谷歌內(nèi)部的Dart代碼量比去年增長了3.5倍。
在谷歌之外,Wrike、Workiva、Blossom等公司也在使用Dart。所以不管在內(nèi)部還是外部,Dart都有它的市場。
Dart團隊不再把精力放在如何構(gòu)建Dart運行時上,而是集中精力做好Dart到JavaScript的編譯器以及相關(guān)的工具。因為同時在Chrome瀏覽器里運行JavaScript運行時和Dart運行時會帶來很多問題,比如兩種語言之間無法進行交互。
Dart語言本身也是帶來了一些新的特性。比如強類型支持、泛型方法。Dart到JavaScript的編譯器也得到改進,在編譯速度上有了大幅度的提升。
在大會上,Dart團隊啟動了AngularDart 2.0項目,使用Dart語言作為Angular的實現(xiàn)。同時還發(fā)布了基于AngularDart的Material Design的內(nèi)部開發(fā)者預(yù)覽版。
另外,谷歌啟動了一個新項目Flutter。Flutter使用響應(yīng)式函數(shù)編程模型,允許開發(fā)者基于單個代碼庫開發(fā)跨平臺的移動應(yīng)用。雖然Flutter的想法跟Facebook的React Native如出一轍,不過Flutter團隊還是希望能夠為開發(fā)者提供一套基于Dart的完整解決方案。
從Dart在谷歌內(nèi)部的受歡迎程度來看,Dart的勢頭會繼續(xù)增長。這個也就是谷歌想要通過這次大會傳達給我們的信息。不過要想在外部同樣獲得開發(fā)者的支持,Dart團隊仍然任重而道遠。