它來啦!Flutter 3 正式發(fā)布全解析!
大家好,我是劉望舒,騰訊最具價(jià)值專家,著有三本業(yè)內(nèi)知名暢銷書,三本書被中國國家圖書館、各大985名校圖書館收藏,連續(xù)五年蟬聯(lián)電子工業(yè)出版社年度優(yōu)秀作者。
前華為面試官、獨(dú)角獸公司技術(shù)總監(jiān)。
BAT?即可。
作者 / Tim Sneath, Product Manager for Flutter and Dart
作為 Google I/O 主題演講的一部分,我們?cè)谶@里很高興為大家?guī)?Flutter 3。Flutter 3 完成了我們從以移動(dòng)端為中心到多平臺(tái)框架的路線圖,提供了對(duì) macOS 和 Linux 桌面應(yīng)用的支持,改進(jìn)了對(duì) Firebase 的集成,更增加了新的生產(chǎn)力功能和性能改進(jìn)特性,此外還提供了對(duì) Apple Silicon 的支持。?
通往 Flutter 3 之路

隨著這個(gè)產(chǎn)品走向成熟,越來越多的人開始用它來構(gòu)建應(yīng)用。今天,有超過 50 萬個(gè)應(yīng)用使用 Flutter 發(fā)布。來自 data.ai 等研究公司的分析,以及公眾的評(píng)價(jià),都表明 Flutter 正被許多細(xì)分領(lǐng)域的客戶所使用。其使用場景之廣,從微信 (WeChat) 等社交應(yīng)用,到 Betterment 和 Nubank 等金融和銀行應(yīng)用,以及 SHEIN 和 trip.com 等商務(wù)應(yīng)用,和 Fastic、Tabcorp 等生活方式應(yīng)用,還有 My BMW 這樣的伴侶應(yīng)用到巴西政府等公共機(jī)構(gòu)的官方應(yīng)用等等,都有 Flutter 在大放異彩。
現(xiàn)在已有超過 50 萬個(gè)應(yīng)用使用 Flutter 構(gòu)建。
data.ai https://www.data.ai/en/ Flutter 精彩案例 https://flutter.dev/showcase WeChat https://play.google.com/store/apps/details?id=com.tencent.mm&hl=en_US&gl=US Betterment https://apps.apple.com/us/app/betterment-investing-saving/id393156562 Nubank https://play.google.com/store/apps/details?id=com.nu.production&hl=en_US&gl=US SHEIN https://play.google.com/store/apps/details?id=com.zzkko&hl=en_US&gl=US Trip.com https://apps.apple.com/us/app/trip-com-hotels-flights-trains/id681752345 Fastic https://fastic.com/ Tabcorp https://auspreneur.com.au/tabcorp-adopts-googles-flutter-platform/ My BMW https://www.press.bmwgroup.com/global/article/detail/T0328610EN/the-my-bmw-app:-new-features-and-tech-insights-for-march-2021?language=en 巴西政府官方應(yīng)用 https://apps.apple.com/app/id1506827551
91% 的開發(fā)者認(rèn)為 Flutter 縮短了構(gòu)建和發(fā)布應(yīng)用的時(shí)間。 85% 的開發(fā)者認(rèn)為 Flutter 使他們的應(yīng)用比以前更加精美。 85% 的開發(fā)者認(rèn)為 Flutter 使他們的應(yīng)用能在更多平臺(tái)上發(fā)布。
毫不夸張地說,F(xiàn)lutter 為我們帶來了一種 "高級(jí)感",這與我們團(tuán)隊(duì)之前提供的任何東西都不一樣。對(duì)我們的設(shè)計(jì)師來說,最重要的是,他們可以輕松地構(gòu)建新的用戶界面,這意味著我們團(tuán)隊(duì)在面對(duì)各種設(shè)計(jì)規(guī)格時(shí),會(huì)更少說 "做不到",而更多地直接進(jìn)行迭代。如果您覺得我們的說法有道理,我們推薦您試試 Flutter —— 至少我們非常慶幸當(dāng)初選擇了它。
Sonos:?使用 Flutter 改進(jìn)設(shè)置流程
https://tech-blog.sonos.com/posts/renovating-setup-with-flutter/
歡迎來到 Flutter 3
現(xiàn)在,我們正式發(fā)布 Flutter 3。至此,F(xiàn)lutter 的跨平臺(tái)之旅邁入高潮。有了 Flutter 3,您就可以僅用一套代碼庫,為 6 個(gè)平臺(tái)構(gòu)建精美的體驗(yàn)。它為開發(fā)者提供了無與倫比的生產(chǎn)力,并使初創(chuàng)團(tuán)隊(duì)從第一天起就能將新的想法投放到完全可用的市場中。
在以前的版本中,我們已經(jīng)在 iOS 和 Android 平臺(tái)之外增加了 web 端和 Windows 平臺(tái)的支持,現(xiàn)在,Flutter 3 增加了對(duì) macOS 和 Linux 應(yīng)用的穩(wěn)定支持。增加平臺(tái)支持需要的不僅僅是渲染像素這么簡單:?還包括對(duì)新的輸入和交互模型的支持、編譯和構(gòu)建的支持、無障礙和國際化支持,以及特定平臺(tái)的整合。我們的目標(biāo)是,讓您能夠靈活地充分利用底層操作系統(tǒng),同時(shí)根據(jù)您的選擇盡可能多地共享用戶界面和邏輯。
在 macOS 上,我們已經(jīng)投入資源支持 Intel 和 Apple Silicon,并提供通用二進(jìn)制 (Universal Binary) 支持,使應(yīng)用能夠打包成在兩種架構(gòu)上都能原生運(yùn)行的可執(zhí)行文件。在 Linux 上,Canonical 和 Google 已經(jīng)合作為開發(fā)者們帶來了高度集成的最佳開發(fā)工具。
構(gòu)建通用 macOS 二進(jìn)制文件 https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary?
Superlist https://superlist.com/
Flutter 3 還對(duì)許多基本要素進(jìn)行了改進(jìn),提高了性能,強(qiáng)化了對(duì) Material You 的支持,并進(jìn)一步提升了生產(chǎn)力。
除了上面提到的內(nèi)容外,在這個(gè)版本中,F(xiàn)lutter 已經(jīng)完全支持在 Apple Silicon 上進(jìn)行原生開發(fā)。雖然自 M1 處理器誕生以來,F(xiàn)lutter 就一直與搭載 M1 的蘋果設(shè)備兼容,但 Flutter 現(xiàn)在充分利用了 Dart 對(duì) Apple Silicon 的支持,在搭載 M1 的設(shè)備上實(shí)現(xiàn)了更快的編譯,并支持 macOS 應(yīng)用的通用二進(jìn)制文件。
使用 Apple Silicon 的 Mac 電腦 https://support.apple.com/en-us/HT211814 Dart 2.14 https://medium.com/dartlang/announcing-dart-2-14-b48b9bb2fb67 構(gòu)建通用 macOS 二進(jìn)制文件 https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary

Material Design 3
https://m3.material.io/
我們也將在近期發(fā)布更詳細(xì)的技術(shù)文章,在其中闡述了這部分內(nèi)容,以及 Flutter 3 的許多其他新功能。
Flutter 由 Dart 驅(qū)動(dòng),這是一種用于多平臺(tái)開發(fā)的高生產(chǎn)力、可移植的語言。我們?cè)谶@個(gè)發(fā)布周期中對(duì) Dart 的改進(jìn)工作包括:?有助于減少模板代碼和提升可讀性的新語言功能,實(shí)驗(yàn)性的 RISC-V 支持,經(jīng)過升級(jí)的 linter,以及新的文檔。如果您想要了解 Dart 2.17 中所有新改進(jìn)的細(xì)節(jié)情況,請(qǐng)關(guān)注將在近期發(fā)布的文章。
Firebase 和 Flutter
當(dāng)然,構(gòu)建應(yīng)用不僅僅是構(gòu)建用戶界面框架。應(yīng)用發(fā)布者需要一套全面的工具,來幫助他們構(gòu)建、發(fā)布和運(yùn)營自己的應(yīng)用,包括認(rèn)證、數(shù)據(jù)存儲(chǔ)、云端功能和設(shè)備測試等服務(wù)。目前已有多種服務(wù)支持 Flutter,包括 Sentry、AppWrite 和 AWS Amplify。
Sentry https://docs.sentry.io/platforms/flutter/ AppWriter https://appwrite.io/docs/getting-started-for-flutter AWS Amplify https://docs.amplify.aws/start/q/integration/flutter/
SlashData 開發(fā)者基準(zhǔn)研究
https://www.slashdata.co/developer-program-benchmarking/?
FlutterFire UI
https://pub.flutter-io.cn/packages/flutterfire_ui
Crashlytics
https://firebase.google.cn/docs/crashlytics
Flutter 休閑游戲工具包
對(duì)于大多數(shù)開發(fā)者來說,F(xiàn)lutter 是一個(gè)應(yīng)用框架。但是,利用 Flutter 提供的硬件圖形加速支持和 Flame 等開源游戲引擎,圍繞休閑游戲開發(fā)而建立的社區(qū)也在不斷壯大。我們希望讓休閑游戲開發(fā)者更容易上手,所以在今天的 I/O 大會(huì)上,我們發(fā)布了休閑游戲工具包 (Casual Game Toolkit),它提供了模板、最佳實(shí)踐入門套件,還為您準(zhǔn)備了可用于廣告和云服務(wù)的贊助額度。

Flame https://flame-engine.org/ Flutter 休閑游戲工具包 https://flutter.dev/games
雖然 Flutter 并不是為高強(qiáng)度的 3D 動(dòng)作游戲而設(shè)計(jì)的,但如今,一部分這類游戲在獨(dú)立于游戲場景之外的用戶界面部分也開始使用 Flutter 來實(shí)現(xiàn),包括 PUBG Mobile 這樣擁有數(shù)億用戶的流行游戲。在 I/O 大會(huì)上,我們想看看我們能把技術(shù)推進(jìn)到什么程度,所以我們創(chuàng)建了一個(gè)有趣的彈球游戲,它使用到了 Firebase 和 Flutter 的 web 端支持。I/O Pinball 彈球游戲提供了一個(gè)定制桌面,圍繞著 Google 最受歡迎的四個(gè)吉祥物進(jìn)行設(shè)計(jì),它們分別是: Flutter 的 Dash、Firebase 的 Sparky、Android 機(jī)器人和 Chrome 恐龍,您可以在這個(gè)游戲中與他人一較高下。我們希望通過這種有趣方式展示 Flutter 的多功能性。

PUBG Mobile https://play.google.com/store/apps/details?id=com.tencent.ig
由 Google 贊助,由社區(qū)驅(qū)動(dòng)
我們喜歡 Flutter 的一點(diǎn)是,它不僅僅是 Google 的產(chǎn)品——它是一個(gè) "屬于所有人" 的產(chǎn)品。開源意味著我們都可以參與其中,并與它的成功息息相關(guān)。您可以貢獻(xiàn)新的代碼或文檔,創(chuàng)建 package 來為核心框架賦予新的超能力,編寫教導(dǎo)他人的書籍和培訓(xùn)課程,還可以幫助組織活動(dòng)和用戶社群,等等。
為了展示社區(qū)的精彩,我們最近與 DevPost 合作,贊助了 Puzzle Hack 挑戰(zhàn),讓開發(fā)者們通過 Flutter 來演繹經(jīng)典的滑動(dòng)拼圖游戲,以展示他們的技能。這場活動(dòng)呈現(xiàn)了 web、桌面和移動(dòng)端完美結(jié)合的場景:?現(xiàn)在大家都可以通過瀏覽器或應(yīng)用商店玩到這些游戲。
下面這個(gè)視頻展示了我們最喜歡的一些作品和獲獎(jiǎng)?wù)撸嘈拍矔?huì)喜歡:
感謝您對(duì) Flutter 的支持,歡迎來到 Flutter 3!

? 耗時(shí)2年,Android進(jìn)階三部曲第三部《Android進(jìn)階指北》出版!
為了防止失聯(lián),歡迎關(guān)注我的小號(hào)
??微信改了推送機(jī)制,真愛請(qǐng)星標(biāo)本公號(hào)??
