Google今日釋出Dart 2穩定版,不只對Dart進行了最佳化,讓應用程式更小載入速度更快外,也提供了新的網頁開發工具,幫助開發者將Dart編譯為JavaScript。

Google自家的開源UI框架Flutter中,早已綑綁了Dart 2預先釋出版本,Google提到,過去一年Dart語言在外部使用量成長了十倍,而且在上一個季度,Dart是在GitHub上發展快速的語言之一,而在Stack Overflow論壇,討論Dart的問題也大幅成長。

Dart是由Google開發的一般用途程式語言,同時也被Ecma組織認證為標準語言。Google表示,Dart 2的推出,代表著將Dart重新被定位成主流的程式語言,專用於開發行動與網頁應用程式。Dart 2以語言功能、框架與元件來減少樣板程式碼(Boilerplate Code)的使用,同時也能加速開發工作,讓開發者專注在程式邏輯上,而且還提供早期除錯工具,幫助開發者快速找出問題,最後產出小型快速的執行程式碼。

Dart的類別(Type)系統非常的健全,開發者在開發階段,編譯和分析應用程式時,就會發現許多程式碼存在的問題,因此應用程式到了使用者手上,問題發生率會明顯下降。Google在自家的超大型應用程式使用Dart時,類別系統於開發週期的初期就發現許多錯誤,進而幫助他們開發更高品質的程式碼。Google特別強調,所謂健全的語言並不代表擁有大量的樣板,而是類別系統包含進階推測功能。Dart 2減少了程式語言的關鍵領域的慣例,包括new關鍵字轉為Optional,而const關鍵字在常量上下文中也是Optional。

在Dart 2中,Google花費了許多心力讓Dart編譯到JavaScript流程更加順暢,讓開發周期更加符合開發者需求,並且提升了程式碼執行的效率。Dart 2能做到大多數JavaScript目標語言無法提供的好處,像是聲音類別和原生行動應用程式的支援。Google表示,他們在Dart 2的網頁工具採用兩個互補的JavaScript編譯器,來完全支援JavaScript開發模型,而開發編譯器Dartdevc則提供了快速漸進式編譯,能產出好閱讀又容易除錯的JavaScript程式碼。

這個網頁開發工具使用新的建置系統,目的在實現快速、可除錯與可擴展性。現在像是產生序列化程式碼、Sass編譯成CSS或是將Dart編譯為JavaScript程式碼等任務,都在同一工具鍊中進行,幫助開發者改變部分應用程式時,達到快速且漸進的更新。而Dart 2還提供開發工具擴充,能支援Android Studio和JetBrains工具套件外,也支援帶有Dart Code擴充套件的Visual Studio Code。

雖然Dart SDK提供存取先進瀏覽器API函式庫,但也支援用來建構複雜網頁應用程式的開發框架Angular,Dart 2中包含了AngularDart 5,開發者可利用Dart的聲音類別系統和新的建置系統,並在開發過程使用漸進式建置,最後還能提供編譯過較輕量的JavaScrip程式碼,作為部署應用程式之用。這個版本相較起AngularDart 4,除了縮減頁面載入處理的程式碼外,也顯著的減少網頁可交互時間(Time to Interactivity),整體程式碼可以減少一半以上。

Google多數的網頁應用程式都是使用Dart開發的,最大規模的系統就屬Google廣告了,Google將廣告系統遷移至Dart後,整體使用者介面程式碼減少40%。Google還提到,使用最佳實踐所建置的Dart網頁應用程式,在先進裝置中可以在1秒內提供全功能的使用者體驗,即便是在慢速的3G網路中,也能在行動裝置上以不超過5秒的時間載入全部功能,因此Dart對於為小型應用程式最佳化的輕量框架來說極具競爭力。


熱門新聞

Advertisement