08.10 谷歌Dart2正式發佈,目標成為移動與Web開發主流語言!

谷歌Dart2正式發佈,目標成為移動與Web開發主流語言!

Google Dart 產品經理宣佈 Dart 2 正式發佈,這標誌著 Dart 語言的重啟,目標成為主流的移動和 Web 開發語言。同時,Google 還宣佈重構 Dart Web 平臺,這對開發者來說,是一個高效率、高性能和可擴展的組合。

由於 Flutter 已經與 Dart 2 SDK 綁定了幾個月了,相信許多 Flutter 的開發者已經享受了 Dart 2 的許多優勢,由於框架和語言之間具有耦合的緊密關係,因此 Dart 2 正式發佈對 Flutter 正式版來說,是一個重要的里程碑。

1 Dart 在飛速發展

Dart2 的發佈意味著 Dart 語言的重啟:一個目標成為主流的移動和 Web 開發語言。它專注於為移動和 Web 應用程序提供快速開發和出色的用戶體驗。Google 希望開發者能構建出高效的客戶端應用程序,並能將編程語言、框架、組件三者有效結合,減少樣板代碼,專注於業務邏輯,同時谷歌也會提供一些識別早期錯誤的、實現強大調試功能和運行小而快的運行時(runtime )代碼的工具。

在過去一年中,Dart 獲得了巨大的增長,谷歌官方的數據顯示,用戶量在過去一年內增長了 10 倍,在上個季度中,Dart 也是 GitHub 發展最快的語言之一(https://madnight.github.io/githut/#/pull_requests/2018/2)。

谷歌Dart2正式发布,目标成为移动与Web开发主流语言!

在 Google 內部,Dart 也是 Google 用於開發 Web 應用程序的為數不多的幾種語言之一,它擁有來自十個不同項目的數百萬行代碼,其中包括 Google Ads、Google Shopping 和來自 Google 內部的基礎架構團隊的項目。

事實上,你可能已經在開始使用 Dart 了,只是你沒有發現而已:Dart 已經用於 Sass 樣式表預處理器(https://sass-lang.com/)中,以使其運行速度更快、更易於編寫。Sass 在 Homebrew 和 Chocolatey 上以獨立可執行文件的形式進行分發,並在 npm 上編譯為純 JavaScript。

Dart 還可以在沒有外部依賴的情況下在任何地方輕鬆地安裝應用程序,引入開發者的工作流。

谷歌Dart2正式发布,目标成为移动与Web开发主流语言!

Google 稱,Dart 2 的目的有三個:優化語言開發,增強 Google 對 Web 和移動框架的支持能力,將 Google 內部的一些支持 Dart 的工具和組件帶給外部的開發者。

2 Dart 2:優化客戶端

正如 Google 在今年年初宣稱的那樣,Dart 擁有一個健全、完整的生態系統,這意味著在你運行你的應用程序之前,在編譯期間就能發現大量的問題。Google 說,當他們將 Dart 應用到 Google 中的超大型應用程序中時,他們在開發早期就能發現很多的錯誤,為他們後期避免了很多麻煩,也保證了代碼的質量。

有了 Dart 2,表達式的值與表達式靜態類型不匹配的情況將不會再發生了,這意味著你可以將代碼擴展到數百萬行,處理大型的重構項目,高效地部署你的代碼。

<code>final _field = [3.14, 6.28]; void main { // No type parameter is provided, but  is inferred print([1, 2, 3].runtimeType); // List // If types are unmatched, their common base type is used // int (1) and double (3.14) are both `num` print([1, 3.14].runtimeType); // List // Inference goes beyond variables. // You can omit types on fields, too. print(_field.runtimeType); // List<double> }/<double>/<code>

3 Dart on the Web:豐富、強大的框架

Web 應用程序從一開始就是 Dart 使命的核心,實際上,Google 大多數 Dart 開發都是針對 Web 應用程序的。其中,最重要的一個是 Google Ads,它推動了數十億美元的 Web 經濟的發展。Google 在將代碼遷移到 Dart 的過程中,UI 代碼量減少了 40%,同時還提高了開發人員的工作效率和應用程序的質量。

Dart SDK 不僅提供了很多訪問現代瀏覽器 API 的庫,而且還支持 Angular 框架以構建複雜的 Web 應用程序。

AngularDart 5(https://webdev.dartlang.org/angular)作為 Dart 2 的一部分,它充分利用 Dart 的類型系統和新的構建系統(見下文)在開發過程中提供快速的增量構建,並在部署過程中提供 JavaScript 的編譯功能。

Google 表示,目前他們在框架上的投資已經擴展到核心組件上了,你現在可以通過這個鏈接訪問這些組件:https://dart-lang.github.io/angular_components_example/

4 Dart 2 具有靈活的開發工具

Dart 2 讓 Dart 成為編譯 JavaScript 的編程語言,它具有 Web 開發人員所期待的開發週期,以及出色的運行時(runtime)性能。同時它還具有大多數 JS 目標語言匹及的優點:豐富的類型系統和對原生移動應用程序的強大支持。

使用 Dart 2 進行開發,Web 工具採用純 JavaScript 開發模型和兩個互補的 JavaScript 編譯器。開發編譯器 dartdevc 提供快速的增量編譯,同時生成易於閱讀和調試的 JavaScript。這使得生成編譯器 dart2js 能夠專注於為桌面的移動應用程序的 PWA 生成高度優化的 JavaScript。

Dart 的 Web 工具基於新的構建系統,旨在實現快速,可調試和可擴展的目標。現在,將 Sass 編譯為 CSS 或將 Dart 編譯為 JavaScript 等任務發生在一個工具鏈中,該工具鏈在你更改應用程序的各個部分時,支持快速地增量更新。構建系統還旨在支持 Web 之外的應用。例如:Flutter 開發人員使用它來生成 JSON 序列化代碼。

Dart 2 還有一組擴展的開發工具。除了支持 Android Studio 和 JetBrains 套件工具(包括 IntelliJ IDEA 和 WebStorm)之外,還支持帶有 Dart Code 擴展的 Visual Studio 代碼。

最後,Dart SDK 附帶了其他有用的工具:一個與包站點並用的包管理器,一個靜態分析器,一個作為包使用的 linter,以及用於編輯符合 Dart 樣式指南的 Web 文檔和代碼格式的工具。

最後,Google 表示,Dart 更新的消息會更新在 Dart Announcements 中,歡迎關注。開發者在使用 Dart 2 的過程中,有任何問題,可在 Gitter 社區與他們溝通。


分享到:


相關文章: