Flutter 2.2 釋出 | 各平臺優化、型別別名、雲部署能力、UWP Alpha,總有一款是你的菜

AlexV525發表於2021-05-19

官方更新說明文章:medium.com/flutter/ann…

參與 Google I/O 2021 線上會議:events.google.com/io?lng=zh-C…

在今日(5月19日)舉行的 Google I/O 2021 大會上,Flutter 2.2 正式釋出,同時包含了 Dart 2.13 的更新。該版本主要專注於提升開發體驗,為交付的應用提供更好的穩定性和更強的效能。讓我們來一覽為快新版 Flutter 帶來的新內容~

空安全支援

從 Flutter 2.2 開始,新建立的 Flutter 專案將 預設啟用健全的空安全。空安全能幫助開發者規避大量的空引用異常,以更為清晰的控制流處理可空內容,避免過多地在執行時進行可空性檢查。目前在 pub.dev 上約有 5000 個 package 已經支援並遷移至空安全。有關空安全的介紹、FAQ、遷移教程、深入解析空安全等內容,請參考 空安全系列文件 進行學習並遷移你的 package 和專案。

各平臺的優化

在 Flutter 2.2 中,Flutter 針對 Web 提供了 Service Worker 以進行後臺快取;對於 Android 應用,新增了 延遲載入元件 的支援。對於 iOS 應用,著色器的預編譯現在已經整合至開發工具中,可以消除或減少首次執行的卡頓,更多資訊可參考 預編譯 SkSL 快取方法

業務擴充套件

除了 Flutter 本身的開發工作,Flutter 團隊也與其他 Google 團隊進行了密切合作。為了讓開發者在其開發的應用中更為可靠地變現,新的廣告 SDK 外掛 也已經更新,同時還推出了一款 支援 Google Pay 和 Apple Pay 的官方支付外掛,用於在 Android 和 iOS 平臺進行商品的支付。

Dart 2.13

隨著 Flutter 一起更新的還有 Dart 2.13。新版本的 Dart 增強了底層互動操作的支援,可以在 FFI 中使用陣列和封裝的 struct。

此外,型別別名 已經 在 Dart 2.13 中開始支援。有了型別別名,再也不用擔心 <A, <B, <C, <D>>>>。下面是一個建立型別別名的例子:

typedef MapToList<X> = Map<X, List<X>>;

void main() {
  MapToList<int> m = {};
  m[7] = [7];
  m[8] = [2, 2, 2];
  for (var x in m.keys) {
    print('$x --> ${m[x]}');
  }
}
複製程式碼

更多平臺生態的支援

在 Flutter Engage 活動上,Flutter 官宣了與豐田的合作,將 Flutter 引入下一代車機系統。同時 Canonical 也推出了首個整合了 Flutter 支援的 Ubuntu 版本。而現在,三星也正在 將 Flutter 移植到 Tizen,索尼正在 主導 Linux 的嵌入式方案。兩個巨頭公司均選擇以開源協作的方式加入到了 Flutter 生態的發展中。

微軟除了一直在為 Flutter 的可摺疊裝置體驗進行投入以外,將在本週釋出 Flutter UWP (Windows 10) Alpha 版本的應用,使得 Flutter 在 Windows 平臺的嵌入更上一層樓。

在上週,Adobe 宣佈推出了 XD to Flutter 的外掛更新。設計師們通過 XD 進行絕妙地設計後,能更好地將其想法通過 Flutter 外掛的支援匯出並應用到開發中,與開發人員進行更深入地協作。

XD to Flutter

FlutterFlow

FlutterFlow 由兩位 Google 前員工製作的,一款以視覺化互動進行開發、擁有眾多開發模板、可快速整合雲服務(基於 FireBase)、快速釋出至應用商城的 線上無程式碼/低程式碼 開發平臺。只需要選擇你想要的效果,拖放、組合,就可以快速產出擁有原生體驗的應用。點選此處 報名初期體驗

FlutterFlow

結語

Flutter 一直致力於為開發者打造絕佳的開發體驗,並讓開發者消除傳統開發時的技術壁壘,將想法更快速且直接地部署在任意平臺。在 Google I/O 2021 大會上,Flutter 團隊將會以更多的技術研討會、Live Coding 演示和視訊點播的形式與大家分享。最後歡迎各位嘗試由 Flutter 開發的 Photo booth Web 應用,與 Flutter 的吉祥物合影留念。

Dash

如果您正在準備開始學習 Flutter 應用,或對於 Flutter/Dart 的細節有更多疑問,歡迎訪問 Flutter 中文文件Dart 中文文件 進一步學習和深入瞭解。

相關文章