Flutter 3 相關介紹,包括Flutter桌面端、Flutter firebase 、Flutter遊戲- 谷歌2022 I/O 大會,

語言: CN / TW / HK

theme: smartblue

原本連結 https://medium.com/flutter/introducing-flutter-3-5eb69151622f

Flutter 3 作為 Google I/O 主題演講的主要部分,Flutter 3 完成了 Flutter 從以移動為中心到多平臺框架的路線圖,本次提供了 macOS 和 Linux 桌面應用相關的支援,以及對 Firebase 整合的改進、提高生產力和效能以及對 Apple Silicon 的支援等等

Flutter 3 之旅

Flutter 為了徹底改變應用的開發方式:將 Web 的迭代開發模型與以前遊戲保留的硬體加速圖形渲染和畫素級控制相結合。

自 Flutter 1.0 beta 釋出以來的過去四年裡,Flutter 團隊逐漸在這些基礎上進行構建,添加了新的 framework 功能和新的 Widget,與底層平臺更深入地整合,還有豐富的packages 支援以及許多效能和工具改進。

image.png

隨著產品的成熟,越來越多的人開始使用 Flutter 構建應用程式。如今有超過 500,000 個使用 Flutter 構建的應用程式。

來自 data.ai等研究公司的分析以及公開推薦表明,Flutter 被許多領域的客戶使用:

如今,有超過 500,000 個使用 Flutter 構建的應用程式

開發人員告訴我們,Flutter 可以更快地為更多平臺構建精美的應用。在我們最近的使用者研究中:

  • 91% 的開發人員同意 Flutter 減少了構建和釋出應用所需的時間。
  • 85% 的開發者同意 Flutter 讓他們的應用比以前更漂亮。
  • 85% 的人同意 Flutter 讓他們能夠為比以前更方便地在更多的平臺釋出他們的應用。

Sonos 最近的一篇部落格文章中,他討論了他們關於體驗方便的改進,強調了其中的第二點:

“毫不誇張地說,解鎖 [Flutter] 是有一定程度的‘溢價’,這與我們團隊之前交付的任何東西都不同。對我們的設計師來說最重要的是,Flutter 可以輕鬆地構建新的 UI,這意味著我們的團可以花更少的時間對規範說“不”,而將更多的時間用於迭代規範。這聽起來值得,所以我們建議大家可以嘗試一下 Flutter。”

Flutter 3 介紹

藉助 Flutter 3,開發者可以通過一個程式碼庫為六個平臺構建應用,為開發人員提供無與倫比的生產力,並幫助初創公司在一開始就將新想法快速得帶入完整的目標市場。

在之前的版本中,我們在 iOS 和 Android 的技術上添加了WebWindows 支援,現在Flutter 3 增加了對 macOS 和 Linux 應用程式的穩定支援

新增對應平臺的支援不僅僅是渲染畫素:它包括新的輸入和互動模型、編譯和構建支援、accessibility 和國際化以及特定於平臺的整合等等,Flutter 團隊的目標是讓開發者能夠靈活地利用底層作業系統,同時根據開發者的選擇儘可能多的共享 UI 和邏輯

在 macOS 上,現在支援 Intel 和 Apple Silicon,提供Universal Binary的支援,允許應用打包支援兩種架構上的可執行檔案。在 Linux 上,Canonical 和 Google 合作提供了一個最佳的開發選項。

Superlist是 Flutter 如何實現 Desktop 應用的一個很好的例子,它會今天在測試版中釋出。

Superlist 通過將列表、任務和自由格式內容組合成全新的待辦事項列表和個人計劃的新應用程式,提供協作能力,而 Superlist 團隊之所以選擇 Flutter,是因為它能夠提供快速、高度品牌化的桌面體驗,我們認為他們迄今為止的進步證明了為什麼 Flutter 是一個不錯的選擇。

Flutter 3 還改進了許多基礎功能,包括了改效能、Material You 支援和開發效率的提高。

除了上面提到的工作,在這個版本中,Flutter 現在支援完全給予原生Apple 晶片進行開發,雖然 Flutter 自發布以來一直與基於 M1 的 Apple 裝置相容,但 Flutter 現在可以充分利用了Dart 對 Apple 晶片的支援,從而能夠在基於 M1 的裝置上更快地編譯並支援 macOS 應用程式的 Universal Binary 檔案

我們對Material Design 3的工作也在此版本中基本完成,它允許開發人員提供動態配色方案和新的視覺元件,以適應性強的跨平臺設計系統:

Flutter 由 Dart 提供支援,Dart 是一種用於多平臺開發的高生產力、可移植語言,我們在這個週期中對 Dart 的改進工作包括有: - 減少樣板檔案; - 提高可讀性的新語言功能; - 實驗性 RISC-V 支援; - 升級的 linter 和新文件;

有關 Dart 2.17 中所有新改進的更多詳細資訊,請檢視部落格

Firebase 和 Flutter

當然,構建應用的不僅僅是 UI , 應用的釋出者需要一整套工具來構建、釋出和執行應用,包括: 身份驗證、資料儲存、雲功能和裝置測試等服務。

目前有多種服務都已經支援 Flutter,包括SentryAppWriteAWS Amplify

Google 提供的應用服務是 Firebase,SlashData 的開發者基準測試研究表明,62% 的 Flutter 開發者在他們的應用中使用 Firebase。

因此,在過去的幾個版本中,我們一直在與 Firebase 合作,以便能更好地將 Flutter 的整合。這包括將 Flutter 的 Firebase 外掛釋出到 1.0,新增更好的文件和工具,以及FlutterFire UI等新 Widget,為開發人員提供可重用的身份驗證和配置檔案介面 UI 等等。

而在今天,我們宣佈將 Flutter/Firebase 整合升級為 Firebase 產品的核心支援。我們正在將原始碼和文件轉移到 Firebase 儲存庫和站點中,開發者可以期待我們與 Android 和 iOS 同步發展 Firebase 對 Flutter 的支援。

此外,我們還進行了一些重大改進,以支援使用 Firebase 時支援崩潰報告服務 Crashlytics。通過Flutter Crashlytics 外掛,開發者可以實時跟蹤致命錯誤,提供與 iOS 和 Android 開發人員相同的功能集。

這包括重要的警報和指標,如“無崩潰使用者”可幫助開發者掌握應用的穩定性。Crashlytics 分析管道已升級和改進對 Flutter 崩潰的支援,從而更快可以地對問題進行分類、優先排序和修復問題。

最後我們簡化了外掛設定過程,因此只需幾個步驟即可從 Dart 程式碼中啟動和執行 Crashlytics。

Flutter 休閒遊戲工具包

對於大多數開發者來說,Flutter 是一個應用框架。但是隨著休閒遊戲開發社群也在不斷壯大,利用 Flutter 提供的硬體加速圖形支援以及Flame等開源遊戲引擎的需求一致在提高。

我們想讓休閒遊戲開發者更容易上手,因此在今天的 I/O 上,我們宣佈釋出休閒遊戲工具包,它提供的模板和最佳實踐的入門工具包以及廣告和雲服務。

儘管 Flutter 並非專為高強度 3D 動作遊戲而設計的渲染引擎,但其中一些遊戲的非遊戲 UI 已經開始轉向 Flutter ,包括擁有數億使用者的熱門遊戲,如PUBG Mobile

對於 I/O,我們想看看我們可以將這項技術推到多遠,所以 Flutter 團隊建立了一個有趣的彈球遊戲,由 Firebase 和 Flutter 的網路支援提供支援。

I/O Pinball 提供了一個圍繞 Google 的吉祥物設計的遊戲:Flutter 的 Dash、Firebase 的 Sparky、Android 機器人和 Chrome 恐龍,我們認為這是展示 Flutter 的一種有趣方式。

image.png

由 Google 贊助,由社群提供支援

我們喜歡 Flutter 的原因,不僅僅是一款 Google 開發的產品——而是因為它是一款“所有人”的產品。

開源意味著我們都可以參與並受益於它的成功,無論是通過貢獻新程式碼或文件,建立核心框架軟體包,編寫書籍和培訓課程來教授他人。

為了展示社群的最佳狀態,我們最近與 DevPost 合作贊助了 Puzzle Hack 挑戰賽,讓開發人員有機會通過使用 Flutter 重新構想經典的滑動拼圖來展示他們的技能,這將展示 web, desktop 和 mobile如何結合。

相關的影片連結:https://youtu.be/l6hw4o6_Wcs