Flutter Forward 2023:Google 宣布的創新對您的業務意味著什麼?
已發表: 2023-02-13有什麼比以軟件開發中最重要的活動之一Flutter Forward 2023開始新的一年更好的了? Miquido 的 Flutter 開發團隊相信探索會議期間宣布的改進同樣令人愉快! 讓我們看看事件的名稱Flutter Forward是否確實具有預言性。 是時候總結最值得注意的 Flutter 3.7 版本,並簡要回顧一下 Google 跨平台框架的未來計劃。
到目前為止,Flutter 相對於其他移動或 Web 應用程序開發框架的最顯著優勢是顯著降低開發成本、令人印象深刻的應用程序擴展可能性、接近本機的應用程序性能以及實現複雜接口的能力。 眾所周知,Flutter 專注於所有這些領域的進一步改進。 但是我們究竟可以期待什麼樣的升級呢?
讓我們討論 Flutter Forward 的主題演講,深入探討 Google 框架的 4 個最重要的未來方向,並考慮 2023 年宣布的改進的商業價值。
基線:2022 年的 Flutter
Flutter 是谷歌創建的一個開源框架,用於優化多平台應用程序的開發過程,同時保持原生方法提供的最大功能。 谷歌在 2018 年底宣布了第一個穩定版本(Flutter 1.0),這個相對較新的工具包迅速成為全球最受歡迎的跨平台開發框架。
谷歌框架的巨大流行並不令人意外。 Flutter 的好處很多,這讓越來越多的開發者熱衷於選擇這個框架。 Flutter 是一個 UI 工具包,允許開發人員從單個代碼庫構建美觀、用戶友好的移動、Web 和桌面應用程序。 得益於熱重載功能,Flutter 允許開發人員即時預覽任何代碼更改,從而提高了他們的工作效率。 最後但同樣重要的是,Flutter 是一個完全開源的項目,不需要許可費或專用工具。
谷歌2023年重點開發Flutter
谷歌非常致力於開發 Flutter,2022 年將發布近 20 個版本就是證明。根據 Github 上發布的路線圖,Flutter 計劃在 2023 年發布 4 個穩定版本和 12 個 beta 版本。此外,為了表彰令人印象深刻的外部貢獻者社區, Flutter 最近宣布了他們的新策略,即“當它們到達 beta 通道時發布新功能,而不是等待它們進入穩定發布通道”和“鼓勵人們尋找更快的更新周期來使用 beta 通道”。
看看在肯尼亞內羅畢舉行的 Flutter Forward 活動上公佈的 2023 年路線圖,有一件事變得清晰起來。 Flutter 現在正進入一個將其跨平台競爭遠遠甩在後面的階段。 性能、質量、可訪問性和安全性方面的預期改進規模,以及 Flutter 計劃在 2023 年發布的新功能的數量,確實令人印象深刻。 讓我們討論其中最重要的。
Flutter Forward 2023 期間宣布的四大創新
在 Flutter Forward 活動期間,跨平台框架的創始人提請注意他們希望在即將發布的版本中開發的 4 個主要領域,包括:
- 突破性的圖形性能
- Web 和移動設備的無縫集成
- 早期的新興架構
- 繼續關注開發者體驗。
讓我們仔細看看上述四個類別中最有趣的新聞。
1. 突破性的圖形性能:葉輪和材料 3
在 Flutter Forward 活動中,Flutter 強調了其對提高 Google UI 工具包圖形性能的日益增長的承諾。 Flutter 的團隊不僅決定重寫 Flutter 的渲染運行時 Impeller,還宣布即將遷移到 Material 3。這些變化對於有興趣使用 Flutter 開發數字產品的公司意味著什麼?
葉輪的更多進展
Flutter run –enable-impeller 是對 Flutter 渲染運行時的重大重寫,旨在修復動畫卡頓問題並實現複雜動畫(如萬花筒或 3D)的流暢性能。 並且儘管 Impeller 目前僅提供早期測試版(iOS 預覽模式),但 Flutter Dev 透露,在未來幾個月內,他們打算微調 Impeller 對 iOS 的支持,並宣布 Android 預覽版的發布日期。
它 [Impeller] 是一種如此不同的體驗。 簡直如絲般順滑。 (…) 本質上,我們能夠構建一個為 Flutter 量身定制的圖形渲染引擎,而不是利用通用渲染器。
Tim Sneath谷歌 Flutter 和 Dart 產品與用戶體驗總監
Flutter 遷移到 Material 3
在 Flutter Forward 期間宣布的突破性變化之一是從 Material 2 (M2) 遷移到 Material 3 (M3)。 Flutter 的最新版本 Flutter 3.7 帶來了基於新版 Google 設計語言的 widgets。 為什麼這是一個重大變化,它會對您的數字產品產生什麼影響?
什麼是材料 3
對於那些不熟悉 M2 和 M3 的人,讓我們從一小段信息開始。 Material Design 是 Google 於 2014 年開發的一種設計語言,旨在將 UX/UI 原則與技術創新相結合。 圖形組件、指南和工具的適應性系統簡化了開發人員和設計人員之間的合作,並使構建用戶友好的數字產品變得更加容易。
2021 年的最新 Material 更新 Material 3 帶來了可訪問性問題的標準化和圖形組件的更大彈性。 Material 3 的靈活性主要與引入設計標記操作標準相關,即構成設計系統的最小單位(例如顏色、排版或間距)。 這在實踐中意味著什麼? 只需看看 Google 的展示項目之一:使用 Flutter 開發並基於 Material 3 的 Wonderous 移動應用程序!
哪些可能性將 Flutter 遷移到 Material 3?
遷移到 M3 意味著 Flutter 正在加強其在 UI 工具包方面的領導地位,這些工具包可以創建引人入勝、具有視覺吸引力的應用程序。 利用排版、快速實現基於主題的 UI、通過動作或動畫引入運動……得益於對 M3 的增強支持,從現在開始,Flutter 開發人員將能夠高效地實現最先進的創意願景。
當然,遷移到 Material 3 是一個過程,所以在 Flutter 3.7 階段,框架的創建者關注了以下問題:
- 儘管大多數 Flutter 小部件已經遷移到 M3,開發人員應該關注 Material 3 Flutter GitHub 項目的進展以確認給定小部件的狀態。
- 開發人員可以使用 useMaterial3 標誌選擇加入 Material 3。 但是,在遷移所有 Flutter 和單個應用程序的代碼之前,UI 可能會不一致。
您想發現更多 Material 3 的新特性嗎? 查看 Flutter Dev 準備的交互式演示。
2. Web 和移動無縫集成
Flutter Dev 還確認了對確保 Dart 和其他編程語言之間更好集成的強烈關注。 在 Web 上,Flutter 現在可以用作嵌入式組件。 在移動設備上,Flutter 應用程序現在可以調用系統 API 或用其他編程語言編寫的代碼。 讓我們討論有關 Flutter 中無縫 Web 和移動集成的最重要的改進!
元素嵌入
討論最多的 Flutter Forward 改進之一是 Flutter 用於 Web 開發的新標準:將 Flutter 模塊嵌入到現有的 Web 應用程序中。 元素嵌入是 Flutter Dev 團隊現在預覽的一項新功能,它允許 Web 開發人員輕鬆地將 Flutter 內容嵌入到標準 <div> 元素中。 換句話說,Web 開發人員很快就能將 Flutter 小部件集成到現有應用程序中——即使是那些用不同編程語言編寫的應用程序。
從 Dart 代碼直接與本地 API 通信
Flutter 正在努力改進兩個用於生成綁定的工具(適用於 iOS 的 FFIgen 和適用於 Android 的 JNIgen),允許從 Dart 代碼直接與本機 API 通信。 FFIgen 和 JNIgen 可以調用本機代碼並重用已編寫的代碼或利用特定於平台的功能,從而顯著提高開發效率。 目前,Dart 能夠與以下對象通信:
- C (飛鏢:ffi) → Linux
- Objective-C 和 Swift(dart:ffi + FFIgen 包)→ macOS 和 iOS
- C++(dart:ffi + FFIgen 包)→ Windows
- Java 和 Kotlin(JNI 和 JNIgen 包)→ Android
- JavaScript(js 包)→ Web。
與 JavaScript 更好的互操作性
看來用 JavaScript 構建的數字產品也有了新的機會! 開發人員現在可以直接從 JavaScript 驅動 Flutter 小部件——反之亦然。 與 JavaScript 更好的互操作性是另一項改進,它使 Google 的框架在擴展或重寫現有移動或 Web 應用程序方面格外有效。
3. 支持早期的新興架構
在 Flutter Forward 2023 期間,Flutter 團隊透露了將 Flutter 編譯為 WebAssembly (Wasm) 的首次嘗試——一種“編程語言的可移植編譯目標,支持在 Web 上部署客戶端和服務器應用程序”(WebAssembly)。 Flutter 和 Dart 的產品和用戶體驗總監 Tim Sneath 還宣布了 Flutter 對 RISC-V 這一開放標準免版稅芯片架構的支持。 為什麼我們認為這兩個決定都值得更長時間的評論?
顫振和 WebAssembly
WebAssembly 作為平台中立的二進制指令格式在所有主要瀏覽器中越來越受歡迎,Flutter 開發團隊希望探索它的優點。 Wasm 的特點是速度和性能令人印象深刻,尤其是在處理大量數據時。 在圖像或視頻處理方面,Wasm 比其最大的競爭對手 JavaScript 好得無可比擬。 但它對 Google 框架的開發有何幫助?
WebAssembly 看起來會給我們一些改進的加載時間,減少通過網絡傳輸的兆字節的大小和數量。 (...) WebAssembly 的潛力是——無論是在網絡上還是在網絡之外——成為這種新型的便攜式通用語言。 我喜歡這樣的想法,即我們也可以在 WebAssembly 中採用和使用其他語言的其他代碼。
Tim Sneath谷歌 Flutter 和 Dart 產品與用戶體驗總監
Flutter 對 RISC-V 的支持
儘管 RISC-V 仍處於早期階段,但它正逐漸開始在整個行業中受到關注。 根據 Sneath 的說法,谷歌對這種架構的投資可能會為 Flutter 開闢新的平台。 儘管 ARM 處理器在性能方面仍然處於領先地位,但 RISC-V 在可穿戴技術方面看起來非常有前途。 更不用說 RISC-V 是在不需要付費使用的開源許可下提供的。
4. 持續關注開發者體驗:Dart 3 alpha & Flutter News Toolkit
Flutter 是一個旨在提高開發人員生產力的框架。 Flutter 的編程語言 Dart 通過熱重載功能實現高效的迭代工作,允許開發人員在開發過程中進行試驗、調整特性和修復錯誤,而無需重新加載整個應用程序。 更重要的是,Dart 在所有平台上運行速度都很快,允許開發人員實現複雜的 UI 創建,最後但並非最不重要的是,它非常容易學習。
然而,在 Flutter Forward 期間,Flutter Dev 宣布了一個更高效、更便攜、更易用的 Dart 版本。 讓我們談談 Dart 3,現在可以在早期 alpha 中進行測試!
Dart 3 中 100% 的聲音無效安全:不再有應用程序崩潰!
關於即將推出的 Dart 3 最重要的公告是引入 100% 聲音空安全。 Flutter 不再支持在沒有空安全的情況下運行,以減少代碼的開銷和復雜性。 在 Dart 3 中,默認情況下所有變量都是非空的——這顯著降低了添加新功能的成本和復雜性。
在健全的類型系統中,您可以信任類型,這意味著當類型聲明它不是時,變量永遠不會為 null。 這通過在開發過程中而不是在生產過程中發現問題來提高生產力,並使 Dart 編譯器能夠生成更小、更優化的代碼。 (...) Dart 的獨特之處在於將 100% 可靠的空安全引入現有語言。
Michael Thomsen PM 負責 Google 的 Dart 和 Flutter
Dart 3 前所未有的表現力:記錄、模式和訪問控制
記錄和模式是 Dart 3 的兩個主要新功能,可優化結構化數據的工作。 記錄允許 Flutter 開發人員構建新的數據結構,輕鬆組合現有數據。 反過來,模式可以解構複合數據。
Flutter 新聞工具包
Flutter News Toolkit 是一個開源的 Flutter Dev 項目,面向媒體和內容髮布者,他們尋求一種快速、經濟高效的方式來接觸移動設備上的讀者。 對數字化轉型感興趣的內容髮布者現在可以使用一個完整的工具包,其中包含他們開發新聞移動應用程序可能需要的一切,包括導航、搜索、身份驗證、廣告集成、通知、配置文件或訂閱。
Miquido 和 Flutter
隨著許多行業進入充滿挑戰的時代,優先考慮運營開銷優化和風險緩解至關重要。 跨平台框架 Flutter 是一種開源、經濟高效且可靠的解決方案,可讓公司專注於他們真正應該關心的事情:數字產品的效率、可擴展性和盈利能力。
2018 年,Miquido 成為第一家在 Flutter 中創建商業項目的歐洲公司。 Abbey Road Studios 的 Topline 移動應用程序不僅滿足了業務假設,簡化了與標誌性英國標籤相關的藝術家的音樂錄製過程,而且贏得了整個移動應用程序開發行業的青睞。 這就是為什麼我們要強調跨平台技術和 Flutter 在移動開發中提供的商機。
Flutter 的未來會怎樣? 往年的經驗表明,Flutter 信守承諾。 因此,我們有信心 Flutter 的 2023 年路線圖可以被認為是 Google 團隊精心實施的深思熟慮的計劃。