當前位置:
首頁 > 最新 > Dart 2 正式發布:針對客戶端開發進行了優化

Dart 2 正式發布:針對客戶端開發進行了優化

今天,Google 正式發布了 Dart 2,最新的版本詮釋了 Google 對 Dart 這門語言的新認識:Dart 是針對 Web 和移動客戶端開發進行獨特優化的語言。

以下全文來自 Dart 產品經理 Anders Thorhauge Sandholm 對 Dart 2 的一些解讀。

Dart 2 大大加強和精簡了類型系統,清理了語法,並重建了大部分開發工具鏈,使移動和 Web 開發變得更加愉快和高效。Dart 2 還融合了包括 Flutter、AdWords 和 AdSense 在內的語言早期使用者的經驗教訓,以及針對客戶反饋的成千上萬大大小小的問題進行了改進。

Dart 的核心原則

Google 為什麼認為 Dart 能夠滿足客戶端開發人員的需求?Google 認為除了現代通用語言所必需的屬性之外,客戶端開發還應受益於語言的以下特性:

高效。語法必須清晰簡潔,工具簡單,開發周期接近即時。

快速。即使在小型移動設備上,運行時的性能和啟動也必須非常出色且可預測。

便攜。客戶開發人員今天必須考慮三種平台:iOS、Android 和 Web,這門語言需要在所有這些平台上運行良好。

易用。如果這門語言希望讓數百萬開發人員受用,那麼它就不能脫離實際。

反應式。這種語言應該支持反應式的編程風格。

Dart 已經用於 Google 和其他公司的 Web、iOS 和 Android 平台上許多高質量、關鍵性的應用程序,它對移動和 Web 開發有著巨大的益處:

Dart 加快了開發人員的速度,因為它具有清晰、簡潔的語法,並且能夠使用 JIT 編譯器在 VM 上運行。後者允許在移動開發過程中進行有狀態的熱重載,從而實現超短的開發周期,您可以在設備上運行的應用程序中編輯、編譯和替換代碼。

憑藉其能夠提前有效地編譯為本地代碼的能力,Dart 在移動設備具有可預測性、高性能和快速啟動的能力。

Dart 支持編譯為本地代碼(ARM,x86 等)以實現快速的移動性能,並且可以將其轉換為用於 Web 的高效的 JavaScript。

Dart 對於許多現有的開發人員來說是易用的,這要歸功於其不容忽視的面向對象和語法特點—— 它允許任何使用 C ++、C#、Objective-C 或 Java 的開發人員在幾天之內迅速提高工作效率。

Dart 適用於反應式編程,其核心庫包括 streams 和 futures ,它也通過其世代垃圾收集器來管理短暫對象。

Dart 2:更好的客戶端開發

在 Dart 2 中,Google 採取了進一步措施鞏固 Dart 作為客戶端開發語言的霸主地位。特別增加了一些新功能,包括強大的類型功能,以及將 UI 定義為代碼。

強大、健全的類型功能

AdWords 和 AdSense 背後的團隊已經使用 Dart 構建了一些 Google 最大和最先進的 Web 應用,以管理那些給 Google 帶來大部分收入的廣告。就是在與這些團隊進行密切合作合作之後,Google 發現了增強 Dart 類型系統的大好機會,這有助於 Dart 開發人員在開發過程早期發現 bug,並更好地擴展到大型團隊構建的應用程序中,提高整體代碼質量。

當然這不是唯一的方式,在廣袤的 Web 生態系統中,向 JavaScript 添加類型注釋的趨勢也在增長。例如,TypeScript 和 Flow 都使用類型注釋和推理來擴展 JavaScript,以提高分析代碼的能力。

在下面的小例子中,Dart 2 的類型推斷有助於發現一些微小的錯誤,並因此幫助提高整體代碼質量。

這段代碼代表了什麼?你可以合理地預期它會列印「27」,但是,如果沒有啟用 Dart 2 的聲音類型系統,它將列印「10000」,因為按照字典順序排列,這恰好是字元串列表中最小的元素。但是,使用 Dart 2 時,此代碼會給出類型錯誤。

將 UI 作為代碼(UI as code)

在創建 UI 時,你必須在單獨的用戶界面標記語言和編寫應用程序的編程語言之間進行切換,Google 正在努力使 UI 變成一種愉快的體驗,以顯著減少對上下文切換的需求。Dart 2 可選和。這個非常強大的功能本身非常有價值,也為其他事情的發展指明了方向。例如,有了和兩種選擇,我們可以清理 UI 小部件的定義,以便它不再使用單個關鍵字。

Dart 的客戶端用途

移動

Dart 最重要的用途之一就是 Flutter,它是谷歌新的移動 UI 框架,為 iOS 和 Android 製作高質量的原生界面。

開發人員曾使用 Flutter 構建一個非常受歡迎的節目 Hamilton 的官方應用程序,並在構建時間上打破了記錄。Flutter 使用反應式編程風格並逐個像素控制整個 UI。對於 Flutter 而言,Dart 在易學性、反應式編程、出色的開發速度以及具有快速的垃圾回收器、高性能運行系統等方面都符合要求。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 移動開發前線 的精彩文章:

原來,React Native也能搭上區塊鏈!

TAG:移動開發前線 |