Dart 2.1新版本,更小更快
Google更新了Dart的新版本2.1,體積更小的程式碼,更快的工具,並提供更快的型別檢查。
Dart最初是作為JavaScript的替代品建立的,瀏覽器將直接支援它,而不是將其編譯成JavaScript。這一點從來沒有流行起來,因為除了Chrome,瀏覽器從來沒有新增過支援,甚至Chrome在一段時間後也放棄了支援。相反,Dart被重新開發為更好的編譯器。
當Dart在今年早些時候釋出時,重寫後的版本顯示預設情況下是強型別的,基於類,並將函式視為物件。Mike James在beta版釋出時描述了Dart 2,它採用了現代JavaScript(比如ES2015),並在其中添加了一個真正的層次化型別系統,並有可能被用於移動應用程式世界。
Dart 2還包括一個聲音型別系統。換句話說,您不能建立計算值與表示式的靜態型別不匹配的值的表示式。Dart的型別系統使用靜態檢查(編譯時錯誤)和執行時檢查的組合來強制執行此操作。
但是,儘管進行了聲音檢查,新版本仍然支援int-to-double轉換,以避免表示式期望使用double但得到整數時產生錯誤。
新版本也對mixin有更好的支援。這些提供了一種在多個類層次結構中重用類程式碼的方法,Dart 2.1為mixins引入了一種新語法,使用了一個新的mixin關鍵字,您可以使用它來定義只能用作mixins的類。它們現在還可以擴充套件其他類,並可以呼叫超類中的方法。
效能改進適用於特定的開發人員組,特別是Flutter開發人員和Web開發人員。 Flutter是谷歌的移動應用SDK,可用於在iOS和Android上建立本機介面。它使用Dart作為其語言,並且已更新更新版本,以便新型別系統新增的檢查不再導致大量開銷。 Web開發人員也應該看到改進,因為Web上執行的Dart程式碼的程式碼大小和編譯時間已經得到改善; Dart的開發團隊表示,他們已經看到了良好的結果,例如在一些情況下,縮小的產量大小減少了17%,編譯時間縮短了15%。
對新版本的其他更改包括對協議緩衝區的支援。這些是與語言無關,與平臺無關的序列化結構化資料的方式。該機制正在廣泛採用abd支援,並在Google內部廣泛使用。
另一項改進是支援在knative上提供Dart程式碼。這是一個基於Kubernetes的平臺,支援構建,部署和管理無伺服器工作負載。 Dart團隊表示,對於大多數Dart應用程式開發人員來說,他們知道knative可能太低階了,但是認為它可能會成為一個重要的組成部分,可以在諸如為Flutter應用程式建立後端的情況下更好地支援在Google Cloud中提供Dart程式碼。
Dart SDK 2.1現在可以從Dart主頁下載,而Flutter開發人員會發現它包含在Flutter 1.0版本中。
更多資訊
ofollow,noindex">Dart
Dart 2.1 原始碼獲取: https://github.com/dart-lang/sdk/releases/tag/2.1.0
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2018-12/155680.htm