Google 發布 Flutter 2:其中的新功能
已發表: 2021-04-02谷歌推出了 Flutter 2.0 版——一個開源 UI 開發工具包,使應用程序開發者能夠製作跨平台應用程序。 此次升級突出了 Flutter 的全新功能包和增強的可移植性,以支持不同平台上的應用程序。
今天,我們將探索 Flutter 2 提供的功能。 閱讀博客到最後。
Flutter 2:完整概述
網絡支持
Flutter 的高端 Web 支持是 Flutter 2 在 Flutter Engage 發布活動中最關鍵的宣言。 早些時候,Web 的基礎主要是以文檔為中心。 現在,豐富的平台 API 促進了使用繪圖 API、硬件加速 2D 和 3D 圖形以及靈活佈局的複雜應用程序開發。
Flutter 2 提供穩定的 Web 支持,在 Web 上呈現與在移動設備上相同的體驗。 移動應用程序開發服務專家可以使用相同的代碼庫為 Android、iOS 和瀏覽器構建應用程序。 可以將用 Dart 編寫的現有 Flutter 代碼編譯成出色的 Web 體驗,因為使用 Flutter 2,Web 只是您應用程序的另一個設備目標。
新版本重點關注 3 個應用場景:
- 單頁應用 (SPA)
- 漸進式 Web 應用程序 (PWA)
- 將現有的基於 Flutter 的移動應用程序引入 Web 並提供相同的體驗
Flutter 不會轉譯為其小部件的 HTML 等價物。 相反,Flutter 的 Web 引擎提供了兩種渲染器之間的選擇:
- 一個 CanvasKit 渲染器,它利用 WebGL 和 WebAssembly 將 Skia 繪製命令渲染到瀏覽器畫布
- 針對廣泛的兼容性和大小進行了優化的 HTML 渲染器
還構建了一個 Flutter Plasma 演示,以展示使用 Dart 創建複雜的 Web 圖形體驗的簡便性,該體驗可以在移動設備和桌面上無縫運行。
社區還添加了一些特定於 Web 的功能,例如文本自動填充、PWA 清單以及對路由和地址欄 URL 的控制。
桌面支持
它仍處於測試狀態,穩定版可能會在今年晚些時候發布。 不過,讓我們來看看它提供了什麼。
對於桌面瀏覽器,社區添加了鍵盤快捷鍵、交互式滾動條、屏幕閱讀器支持,以便在 Chrome OS、Windows 和 macOS 上輕鬆訪問,並增強了桌面模式下的默認內容密度。
谷歌做了幾項改進——將 Flutter 桌面質量提高,確保文本編輯在每個支持的平台上提供原生體驗,集成文本選擇樞軸點等基礎功能。它還在 TextField 中添加了一個內置的上下文菜單和Cupertino 和 Material 設計語言的 TextFormField 小部件。 抓取手柄被添加到 ReorderableListView 小部件。
更新後的滾動條小部件提供了您可以在桌面上使用的各種引人入勝的功能。 Flutter 2 還允許對 Flutter 應用程序進行命令行參數管理。 這樣,在 Windows 文件資源管理器中雙擊數據文件之類的操作可用於在應用程序中打開文件。
顫振修復
Flutter Fix 是各種東西的集合。 它有一個名為 Dart Fix 的 Dart CLI 工具的專有命令行。 它有助於查找已棄用的 API 列表並使用它們升級代碼。 它還允許訪問 Flutter SDK 中包含的可訪問修復列表。
此外,它還為 Android Studio IDE、VScode 和 IntelliJ 提供了一組更新的 Flutter 擴展,可以提供類似的可訪問解決方案列表,並幫助開發人員簡單地使用鼠標更改代碼。
擴展的便攜性
Google 重點介紹了最近的 3 個團隊,它們展示了 Flutter 的最大可移植性。
首先,微軟將擴大對 Flutter 的支持。 除了最近在 Flutter 中提供優質 Windows 支持的合作外,微軟還將為 Flutter 引擎做出貢獻,以促進可折疊 Android 設備的應用程序開發。
其次,Canonical 正與 Google 合作將 Flutter 帶到桌面。 它將支持 Linux 上的應用程序開發和部署。 Canonical 承諾在多種硬件配置上提供極好的體驗。
最後,領先的汽車製造商豐田宣布採用一些開創性策略,通過創建由 Flutter 支持的各種信息娛樂系統,為汽車提供下一代數字體驗。 由於 Flutter 的智能手機級觸摸系統、快速迭代、開發人員人體工程學和始終如一的高性能,豐田試圖聘請 Flutter 開發人員。 Flutter 的嵌入式 API 將允許豐田定制 Flutter 並滿足構建尖端信息娛樂系統的要求。

添加到應用程序
Flutter 2 旨在減少任何應用程序開發機構的開發人員的工作量,同時確保高質量的結果。 Add-to-App 是另一個突出這一目標的功能。
開發人員可以將 Flutter 添加到現有的 Android 或 iOS 應用程序中。 Add-to-App 功能是在兩個平台上重用 Flutter 代碼的好方法,同時存儲當前的本地數據庫。 隨著這一變化,谷歌建議可能將 Flutter 引擎集成到本機應用程序中。
顫振對開本
正如我們已經討論過的,Flutter 現在支持 3 個平台——Android、iOS 和 Web,還有 3 個處於測試階段的平台——Windows、Linux 和 macOS。 如何創建一個可以更改為多種形式(小、大和中型屏幕)、多種習語(Web、移動和桌面)和多種輸入模式(鍵盤、鼠標和触摸)的應用程序?
Flutter Folio 給出了這個問題的答案。
Flutter Folio 是一款剪貼簿應用程序,旨在利用 Flutter 的功能來創建可在所有平台和設備上無縫運行的應用程序:Android、iOS、Mac、Windows、Linux 和 Web。 它是與 gskinner 和 Flutter 團隊合作構建的自適應應用程序的完美示例。
Flutter 開發工具
Flutter DevTools 用於調試 Flutter 應用程序。 引入了一項新功能,該功能甚至在啟動 DevTools 之前就關注任何問題,即 IntelliJ、Android Studio 或 Visual Studio Code 能夠在出現異常時通知並提供在 DevTools 中顯示它以啟動調試過程。
在運行 DevTools 時,選項卡上的新錯誤標記有助於追踪應用程序中的各種問題。
在 DevTools 中,添加了另一個新功能,可以輕鬆地以比其特徵更高的分辨率查看圖片。 它有助於減少額外的內存使用和應用程序大小。 開發者可以允許 Flutter Inspector 中的 Invert Oversized Images 開啟這個功能。
谷歌還增加了顯示固定佈局的能力。 這允許開發人員調試不同類型的佈局。
Flutter DevTools 2 中可用的其他功能包括:
- 性能視圖現在重命名為 CPU Profiler。 同樣,時間軸視圖重命名為性能。 這些更改突出了它們提供的功能。
- 新的內存視圖圖表更小、更易於使用且速度更快。 它包含一個新的懸停卡,可以解釋特定時間的活動。
- 搜索和過濾功能已添加到“日誌記錄”選項卡中。
- Flutter Frames Chart 中包含平均 FS 數據和各種可用性增強功能。
- 時序網格包含在 CPU Profiler 火焰圖中。
- Tracklogs 表單已啟動,因此開發人員可以在啟動時檢查總的日誌記錄歷史。
- 不成功的網絡請求將在網絡分析器中被調用以進行即時修復。
適用於 Flutter 的 Google 移動廣告
Google 宣布推出適用於 Flutter 的 Google Mobile Ads 測試版。 新的 SDK 可與 AdMob 和 AdManager 完美配合,提供不同的廣告格式,包括橫幅廣告、原生廣告、插頁式廣告和獎勵視頻廣告。
谷歌還宣布了對主要 Firebase 服務(如 Cloud Messaging、Cloud Firestore、Cloud Function、身份驗證、雲存儲、Crashlytics)的 Flutter 插件的各種更新,集成了可靠的 null 安全幫助以及 Cloud Messaging Package 的更新。
飛鏢 2.12
這是谷歌的又一重大啟示。 Dart 2.12 支持健全的 null 安全性。 它有可能刪除任何空引用異常。 這樣,它可以確保在開發和運行時,如果開發人員明確選擇,類型只能包含空值。
該更新還包括 FFI(外來函數接口)的一致應用。 它使開發人員能夠使用 dart:ffi 庫來調用本機 C API。
是時候結束了
如您所見,Flutter 2 正在為應用程序開發領域帶來一些突破性的變化。 使用網絡和移動應用程序之間的界限正在逐漸消失,有利於為各種平台和設備提供卓越的用戶體驗。 如果您想順其自然,是時候使用 Flutter 2 構建應用程序了!
