
Flutter 為應用開發帶來了革新:只要一套代碼庫,即可構建、測試和發布適用於移動、Web、桌面和嵌入式平台的精美應用——開發者只需專注於他們希望構建的產品和服務,而無需首要考慮發布到哪些平台;作為一個高性能、高生產力的開發框架,Flutter 也可以幫助開發者們縮短產品開發周期;一套代碼庫,針對多個平台。
新特性和改進: 更快速、更高效這次正式版主要關注的是 移動平台性能。理想情況下,出色的性能應該是「標配」,但在實踐中,所有大型或複雜業務的應用都需要針對硬件和系統 API 庫進行優化。這包括但不僅限於比如應用啟動,可能會受限於網絡帶寬和其他代碼初始化的消耗,內存消耗,可能會受制於部分內存有限的設備,以及圖形渲染性能等。我們也一直在藉助內部的大型應用比如 Google Pay 對 Flutter 的使用來提高 Flutter 的性能表現,並提供更好的工具來調試和分析應用性能。為你的工程升級到 Flutter 2.8 正式版,你的應用應該會有更少的內存占用以及更快的啟動速度。
最新的更新也包含了更方便的 應用接入後端服務 的特性,比如使用 Firebase 和 Google Cloud。我們也為應用加入 Google Ads 盈利提供了穩定版的支持,並對相機插件和 Web 插件內嵌提供了大量更新。與此同時發布的還有 Dart 2.15 正式版,增加了對並發性能的重大改進,也添加了新的語言特性,比如構造函數拆分和枚舉類型的增強,也進行了性能優化,使得運行時內存降低了 10%。

另一個重要話題和資源投入是「提升開發者效率」,得力於 Flutter 的有狀態熱重載 (stateful hot reload) 等特性,我們始終專注於為開發者創建一個緊湊的內部循環迭代流程,我們正在開始探索封裝出一些更高級的功能讓開發者們更快速和高效的使用,你也能在未來的版本里看到我們針對這個目標的改進。比如在此次正式版發布里,我們添加了一個使用 Firebase 處理身份驗證的 widget,使用的時候無須擔心任何特殊的用例,比如兩步驗證、密碼重置的操作,也不用操心使用 Google、Apple、Twitter 和 Facebook 賬號登陸時的複雜情況。將這些特性和服務直接構建在 Flutter 的核心基礎中,將有可能為應用開發帶來革新,將高效開發和低代碼方案相結合,應用在 Flutter 這個靈活和強大的 UI 框架上。
使用基於 Flutter 的遊戲開發框架 Flame對於大部分開發者來說,Flutter 是一個應用框架。不過使用 Flutter 進行休閒小遊戲開發的生態也在不斷發展,這些小遊戲藉助 Flutter 實現硬件圖形加速。
今天我們也同時慶祝 Flame 框架 (flame-engine.org) 的 1.0 版正式發布,這是一個使用基於 Flutter 的模塊化 2D 遊戲引擎,Flame 提供了快速構建遊戲所需要的全部內容,除了遊戲循環 (game loop) 之外,也提供了核心元素比如組件系統 (Flame 里稱之為 FCS)、精靈動畫和圖像、碰撞檢測、世界相機、效果系統以及手勢和輸入支持等。
Flame 是模塊化的,它也可以使用其他庫或 package 進行擴展,比如使用 River 進行動畫效果處理、使用 audioplayers 這個 package 進行音樂播放和聲音特效,使用 Forge2D (一個類似 Box2D 的物理引擎)、Tiled (瓦片地圖編輯器)、Fire Atlas (Spritesheet 和精靈動畫編輯器) 等。Flame 以及其廣泛的生態系統,共同為休閒或者 2D 遊戲提供了一套強大的服務。

Flame 由 Blue Fire 團隊[1] 創造,這是一個專注於為 Flutter 和 Dart 構建開源 package 和插件的團隊。我們很高興能與他們一起合作,如果你對遊戲開發感興趣,我們鼓勵你去試試看 Flame。
Flutter 的發展勢頭正旺Flutter 的持續增長、發展勢頭以及工具和生態的繁榮的令人感嘆。今年的 I/O 大會上,我們注意到 Play 商店已經擁有超過 20 萬款應用使用了 Flutter,六個月後,這個數字幾近翻了一番,達到 37.5 萬+ 款!

不僅在 Android 平台,據獨立移動分析公司 AppAnnie[2] 的信息,iOS 平台頭部品牌和大型應用諸如 BMW[3]、eBay[4]、WeChat[5]、SHEIN[6]、Philips Hue[7]、 Norton[8]、trip.com[9] 和 Greggs[10] 里也都使用了 Flutter。在 Web 平台,我們也通過一些類似 FlutterFlow[11] 和 Rive[12] 等設計工具為應用帶去更好的體驗。桌面端,Ubuntu 的工程團隊也正繼續使用 Flutter 構建各種新的體驗,包括新的安裝程序和固件更新程序。甚至包括 絕地求生[13] 這樣的大型遊戲,也表示 Flutter 能夠很好的適應各種 UI 屏幕。
生態系統的構建絕非一日之事,由各個機構和社區獨立調研得出:Statista[14]、JetBrains[15]、SlashData[16] 和 Stack Overflow[17],Flutter 現在已經成為最受歡迎的多平台工具包,這離不開日益增長的 package 和插件庫的生態以及各種工具集的支持。
回首和展望這一年同樣艱難,而且我們的工程團隊也一直在忙碌。除了把 2.8 推入正式版本,我們還重寫了開發者工具,推出空安全和 Web 支持,完成了原生代碼的 FFI 支持,加入了對 Material You 的支持,並努力提升性能和質量。我們將近解決和關閉了總共 2 萬個 issue,也 更新了新版的 Flutter 網站。過去的幾個月我們花費了大量的精力來整理我們的工程基礎建設,用以提高工程師的生產力以及擴大測試範圍等。
展望 2022,首先是希望能夠真正走出去與大家見面,我們也正在向核心開發者體驗方面投入更多,比如增強編程語言特性,文檔更新以及抽象出更多高級功能,讓 Flutter 可以更易於構建複雜應用,我們還將把桌面端支持推進到穩定版本,並進一步增加 Web 端的特性。除此之外,我們還計劃與擴大其他平台的互操作性以適配更新的屏幕。我們一直在路上!
懷念和致敬我們想把 Flutter 2.8 版本獻給社區的 Kevin Gray,他是一名來自 VGV 團隊的工程師,但是 於一周之前不幸去世[18]。一開始 Kevin 就對 Flutter 的成功做了很多重要貢獻,他是很多早期 Flutter demo 背後的開發者,包括 Flutter 的第一個客戶 Hamilton 應用,用 Flutter 開發了第一個桌面演示 slides 的應用,開發了第一個在 Google I/O 主題演講中展示的 Flutter 應用。Kevin 是一位有才華、有愛心、風趣和善良的人,我們在公開紀念他,並讓所有人都知道他的影響,如果沒有他,Flutter 將不會是現在的這個樣子。我們想念你,謝謝你為 Flutter 做出的一切。
Kevin 一直在支持一項公益事業「國際計劃 (Plan International)」,CFUG 社區以 Kevin 的名義向這個項目捐助 $280,以感謝他對 Flutter 的支持和貢獻。
文內鏈接Blue Fire 團隊: https://dev.to/blue-fire/fireslime-is-now-blue-fire-405g
[2]AppAnnie: https://www.appannie.com/cn/
[3]BMW: https://itunes.apple.com/app/id1519457734
[4]eBay: https://itunes.apple.com/app/id1456156090
[5]WeChat: https://apps.apple.com/us/app/wechat/id414478124
[6]SHEIN: https://apps.apple.com/us/app/shein-online-fashion/id878577184
[7]Philips Hue: https://apps.apple.com/app/id1055281310
[8]Norton: https://apps.apple.com/app/id1278474169
[9]trip.com: https://apps.apple.com/app/id681752345
[10]Greggs: https://apps.apple.com/gb/app/greggs/id1098233626
[11]FlutterFlow: https://flutterflow.io/
[12]Rive: https://rive.app/
[13]絕地求生: https://apps.apple.com/us/app/pubg-mobile-arcane/id1330123889
[14]Statista: https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/
[15]JetBrains: https://www.jetbrains.com/lp/devecosystem-2021/miscellaneous/#Technology_which-cross-platform-mobile-frameworks-do-you-use-two-years
[16]SlashData: https://www.slashdata.co/reports/?category=mobile-desktop
[17]Stack Overflow: https://insights.stackoverflow.com/trends?tags=flutter%2Creact-native%2Ccordova%2Cxamarin
[18]於一周之前不幸去世: https://verygood.ventures/blog/remembering-our-friend-and-teammate-kevin-gray