Google推出Flutter 2框架與Dart 2.12語言

谷歌推出了Flutter 2使用者介面框架,這標誌著該專案從一個用於開發行動應用程式的框架轉變為一個用於創建任何類型程式(包括桌面程式和Web應用程式)的通用框架。

Flutter 被視為 React Native 的替代方案,可讓您基於一個程式碼庫產生適用於不同平台的應用程序,包括 iOS、Android、Windows、macOS 和 Linux,以及在瀏覽器中運行的應用程式。 先前使用 Flutter 1 編寫的行動應用程式在切換到 Flutter 2 後可以適應在桌面和 Web 上運行,而無需重寫程式碼。

Flutter程式碼的主要部分是用Dart語言實作的,執行應用程式的執行時間引擎是用C++寫的。 開發應用程式時,除了使用Flutter原生的Dart語言之外,還可以使用DartForeignFunction介面來呼叫C/C++程式碼。 透過將應用程式編譯為目標平台的本機程式碼,可以實現高執行效能。 在這種情況下,程式不需要在每次變更後重新編譯 - Dart 提供了熱重載模式,讓您可以對正在執行的應用程式進行變更並立即評估結果。

Flutter 2 完全支援建立適合生產實作的 Web 應用程式。 提到了使用Flutter for the Web 的三個主要場景:開發獨立的Web 應用程式(PWA,Progressive Web Apps)、建立單頁Web 應用程式(SPA,Single page apps)以及將行動應用程式轉換為Web 應用程式。 Web 開發工具的特點包括使用加速 2D 和 3D 圖形渲染的機制、螢幕上元素的靈活排列以及編譯到 WebAssembly 中的 CanvasKit 渲染引擎。

桌面應用程式支援處於測試階段,並將在今年稍後的未來版本中穩定下來。 Canonical、微軟和豐田已宣布支持使用 Flutter 進行開發。 Canonical 選擇 Flutter 作為其應用程式的主要框架,並且還使用 Flutter 為 Ubuntu 開發新的安裝程式。 微軟已將 Flutter 應用於具有多個螢幕的可折疊設備,例如 Surface Duo。 豐田計劃將 Flutter 用於車載資訊娛樂系統。 谷歌開發的Fuchsia微核心作業系統的使用者shell也是基於Flutter建構的。

Google推出Flutter 2框架與Dart 2.12語言

同時,Dart 2.12 程式語言發布,Dart 2 的徹底重新設計的分支的開發仍在繼續。Dart 2 與 Dart 語言原始版本的不同之處在於使用了強靜態類型(類型可以自動推斷,因此指定類型不是強制性的,但不再使用動態類型,並將最初計算的類型分配給變量,隨後應用嚴格的類型檢查)。

該版本以 Null 安全模式的穩定性而聞名,這將有助於避免因嘗試使用值未定義並設定為 Null 的變數而導致的崩潰。 此模式意味著變數不能有 null 值,除非明確地為它們分配了 null 值。 此模式嚴格遵守變數類型,這允許編譯器應用額外的最佳化。 在編譯時檢查類型合規性,例如,如果嘗試將值“Null”指派給類型不暗示未定義狀態的變數(例如“int”),則會顯示錯誤。

Dart 2.12 的另一個重要改進是 FFI 函式庫的穩定實現,它允許您建立高效能程式碼,您可以從中存取 C 語言的 API。 進行了性能和尺寸優化。 新增了使用 Flutter 編寫的開發人員工具和程式碼分析系統,以及用於為 Android Studio/IntelliJ 和 VS Code 開發 Dart 和 Flutter 應用程式的新外掛程式。

Google推出Flutter 2框架與Dart 2.12語言


來源: opennet.ru

添加評論