Dart 2 與原始Dart 語言的不同之處在於它使用強靜態類型(類型可以自動推斷,因此類型規範是可選的,但不再使用動態類型,並且最初計算的類型被分配給變量,並且嚴格的類型檢查是隨後應用)。 用於網頁應用程式開發
在新版本中:
- 新增了安全使用 Null 值的方法,破壞了向後相容性。 例如,如果嘗試將值“Null”指派給非未定義類型(例如“int”)的變量,現在將引發編譯時錯誤。 還引入了對可空和不可空類型變數的兼容性的限制,例如“int?” 和“int”(可以為“int”類型的變數分配一個“int”類型的變量,但反之則不然)。 這同樣適用於「return」語句中傳回的變數 - 如果函數體中類型不允許「Null」狀態的變數未賦值,則編譯器將顯示錯誤。 這些變更將使您避免因嘗試使用值未定義並設定為“Null”的變數而導致的崩潰。
- 存儲庫
pub.dev 突破10萬件大關。 作為 Dart 2.8 配置週期的一部分,透過支援在執行「pub get」命令時將套件檢索到多個並行執行緒中,以及在執行「酒吧運行」命令。 對基於 Flutter 的新專案測試「pub get」命令顯示,操作時間從 6.5 秒減少到 2.5 秒,對於 Flutter gallery 等大型應用程序,操作時間從 15 秒減少到 3 秒。 - 新增了新的「pub outdated」命令,以使已安裝軟體包的所有依賴項保持最新。 使用「pub outdated」指令,您可以在不變更 pubspec 檔案的情況下評估與指定套件關聯的所有相依性是否有更新的主要版本。 與“pub Upgrade”不同,新指令不僅檢查與 pubspec 相對應的版本,還檢查較新的分支。 例如,對於具有固定依賴項「foo:^ 1.3.0」和「bar:^ 2.0.0」的套件,執行「pub outdated」將顯示可用分支和較新分支的存在:
依賴項 目前可升級 可解析 最新
富1.3.0 1.3.1 1.3.1 1.3.1
酒吧 2.0.1 2.1.0 3.0.3 3.0.3
Dart語言的特點:
- 熟悉且易於學習的語法,對於 JavaScript、C 和 Java 程式設計師來說很自然。
- 確保所有現代網頁瀏覽器和各種類型的環境(從便攜式設備到強大的伺服器)的快速啟動和高效能;
- 能夠定義允許封裝和重複使用現有方法和資料的類別和介面;
- 指定類型可以更輕鬆地偵錯和識別錯誤,使程式碼更清晰、更具可讀性,並簡化第三方開發人員的修改和分析。
- 支援的類型包括:各種類型的雜湊、陣列和清單、佇列、數字和字串類型、用於確定日期和時間的類型、正規表示式(RegExp)。 或許
創建你自己的 類型; - 為了組織並行執行,建議使用具有isolate屬性的類,其程式碼完全在單獨的記憶體區域的隔離空間中執行,透過發送訊息與主進程互動;
- 支援使用可簡化大型 Web 專案的支援和偵錯的程式庫。 函數的第三方實作可以以共享庫的形式包含在內。 應用程式可以分為多個部分,並將每個部分的開發委託給單獨的程式設計師團隊;
- 一套支援 Dart 語言開發的現成工具,包括動態開發和調試工具的實作以及即時程式碼修正(「編輯並繼續」);
- 為了簡化 Dart 語言的開發,它附帶了
SDK , 套件管理器酒吧 、靜態程式碼分析器dart_分析器 、庫集、整合開發環境飛鏢板 和支援 Dart 的插件IntelliJ IDEA、WebStorm ,Emacs的 ,崇高的文字2 иVIM ; - 帶有庫和實用程式的附加套件透過儲存庫分發
酒吧 ,其中有超過 10 個包。
來源: opennet.ru