一起看 I/O | Flutter 3 正式發(fā)布!
作者 / Tim Sneath, Google Flutter 和 Dart 產(chǎn)品組產(chǎn)品經(jīng)理
Flutter 3 實(shí)現(xiàn)了 Flutter 以移動(dòng)端為中心擴(kuò)展到多平臺(tái)的產(chǎn)品規(guī)劃,并在今年 I/O 大會(huì)的主題演講上正式發(fā)布,此次發(fā)布提供了對(duì) macOS 和 Linux 桌面端的穩(wěn)定版支持,同時(shí)包括 Firebase 集成的改進(jìn),增加了與生產(chǎn)力和性能相關(guān)的新特性,并對(duì) Apple 芯片提供了支持。
Flutter 3 的演進(jìn)
創(chuàng)建 Flutter 的初衷是為了徹底改變應(yīng)用開(kāi)發(fā):將 「Web 應(yīng)用的迭代開(kāi)發(fā)模式」與「硬件加速的圖形渲染」和「像素級(jí)的控制」三者結(jié)合——之前只有游戲才能這么做。自 Flutter 1.0 Beta 版發(fā)布以來(lái)的四年里,我們逐漸在這些基礎(chǔ)上發(fā)展,增加了新的框架功能和新的 widget,與底層平臺(tái)進(jìn)行了更深入的整合,還加入了豐富的 package 庫(kù),此外還進(jìn)行了許多性能和工具等方面的改進(jìn)。

隨著 Flutter 逐漸產(chǎn)品走向成熟,越來(lái)越多的人開(kāi)始用它來(lái)構(gòu)建應(yīng)用。今天,有超過(guò) 50 萬(wàn)個(gè)應(yīng)用使用 Flutter 發(fā)布。來(lái)自 data.ai 等研究公司的分析以及公眾的評(píng)價(jià)都可以表明,F(xiàn)lutter 正被許多細(xì)分領(lǐng)域的客戶(hù)所使用。其使用場(chǎng)景非常廣泛,從微信 (WeChat) 等社交應(yīng)用,到 Betterment 和 Nubank 等金融和銀行類(lèi)應(yīng)用,再到 SHEIN 和 trip.com 等商旅應(yīng)用以及 Fastic、Tabcorp 等生活方式類(lèi)的應(yīng)用,還有 My BMW 此類(lèi)的硬件連接類(lèi)應(yīng)用,最后是巴西政府等公共機(jī)構(gòu)的官方應(yīng)用等等,都有 Flutter 在大放異彩。
現(xiàn)在已有超過(guò) 50 萬(wàn)個(gè)應(yīng)用使用 Flutter 構(gòu)建。
開(kāi)發(fā)者告訴我們,F(xiàn)lutter 幫助他們?cè)诟嗟钠脚_(tái)上更快地構(gòu)建出了精美的應(yīng)用。我們最新的用戶(hù)研究也表明:
- 91% 的開(kāi)發(fā)者認(rèn)為 Flutter 縮短了構(gòu)建和發(fā)布應(yīng)用的時(shí)間。
- 85% 的開(kāi)發(fā)者認(rèn)為 Flutter 使他們的應(yīng)用比以前更加精美。
- 85% 的開(kāi)發(fā)者認(rèn)為 Flutter 使他們的應(yīng)用能在更多平臺(tái)上發(fā)布。
Sonos 在 最近的一篇博客文章 中討論了他們對(duì)設(shè)置體驗(yàn)的改版工作,其中著重強(qiáng)調(diào)了上述的第二點(diǎn):
毫不夸張地說(shuō),F(xiàn)lutter 為我們帶來(lái)了一種 "高級(jí)感",這與我們團(tuán)隊(duì)之前提供的任何東西都不一樣。對(duì)我們的設(shè)計(jì)師來(lái)說(shuō),最重要的是,他們可以輕松地構(gòu)建新的用戶(hù)界面,這意味著我們團(tuán)隊(duì)在面對(duì)各種設(shè)計(jì)規(guī)格時(shí),會(huì)更少說(shuō) "做不到",而更多地直接進(jìn)行迭代。如果您覺(jué)得我們的說(shuō)法有道理,我們推薦您試試 Flutter —— 至少我們非常慶幸當(dāng)初選擇了它。
歡迎來(lái)到 Flutter 3
Flutter 3 正式發(fā)布,至此,F(xiàn)lutter 的跨平臺(tái)之旅邁入高潮。有了 Flutter 3,您就可以?xún)H用一套代碼庫(kù),為 6 個(gè)平臺(tái)構(gòu)建精美的體驗(yàn)。它為開(kāi)發(fā)者提供了無(wú)與倫比的生產(chǎn)力,并使初創(chuàng)團(tuán)隊(duì)從第一天起就能將新的想法投放到完全可用的市場(chǎng)中。
在以前的版本中,我們已經(jīng)在 iOS 和 Android 平臺(tái)之外增加了 Web 端 和 Windows 平臺(tái) 的支持,現(xiàn)在,Flutter 3 增加了對(duì) macOS 和 Linux 應(yīng)用的穩(wěn)定支持。增加平臺(tái)支持需要的不僅僅是渲染像素這么簡(jiǎn)單: 還包括對(duì)新的輸入和交互模型的支持、編譯和構(gòu)建的支持、無(wú)障礙和國(guó)際化支持,以及特定平臺(tái)的整合。我們的目標(biāo)是,讓您能夠靈活地充分利用底層操作系統(tǒng),同時(shí)根據(jù)您的選擇盡可能多地共享用戶(hù)界面和邏輯。
在 macOS 上,我們已經(jīng)投入資源支持 Intel 處理器和 Apple 芯片,并提供 通用二進(jìn)制 (Universal Binary) 文件) 的支持,使應(yīng)用能夠打包成在兩種架構(gòu)上都能原生運(yùn)行的可執(zhí)行文件。在 Linux 上,Canonical 和 Google 已經(jīng)合作為開(kāi)發(fā)者們帶來(lái)了高度集成的最佳開(kāi)發(fā)工具。
Superlist 是一個(gè)很好的例子,告訴大家 Flutter 是如何幫助您實(shí)現(xiàn)精美桌面體驗(yàn)的,它今天推出了 Beta 版本供大家體驗(yàn)。Superlist 提供了超強(qiáng)的協(xié)作功能,通過(guò)一個(gè)嶄新的應(yīng)用將列表、任務(wù)和自由形式的內(nèi)容結(jié)合在一起,將待辦事項(xiàng)和個(gè)人計(jì)劃等功能打磨得煥然一新。Superlist 團(tuán)隊(duì)選擇 Flutter,是因?yàn)樗軌蛱峁┛焖偾腋叨绕放苹淖烂骟w驗(yàn)。我們認(rèn)為,他們迄今為止的進(jìn)展表明這是一個(gè)非常明智的選擇。
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 芯片 上進(jìn)行原生開(kāi)發(fā)。雖然自 M1 處理器誕生以來(lái),F(xiàn)lutter 就一直與搭載 M1 的蘋(píng)果設(shè)備兼容,但 Flutter 現(xiàn)在充分利用了 Dart 對(duì) Apple Silicon 的支持,在搭載 M1 的設(shè)備上實(shí)現(xiàn)了更快的編譯,并支持 macOS 應(yīng)用的通用二進(jìn)制文件。
在這個(gè)版本中,我們對(duì) Material Design 3 所做的支持工作已基本完成。開(kāi)發(fā)者們現(xiàn)在可以盡情使用這套自適應(yīng)性強(qiáng)、跨平臺(tái)的設(shè)計(jì)系統(tǒng),包括其動(dòng)態(tài)顏色方案和經(jīng)過(guò)更新的視覺(jué)組件。

我們也將在近期發(fā)布更詳細(xì)的技術(shù)文章,并在其中更多介紹這部分內(nèi)容,以及 Flutter 3 的許多其他新功能。
Flutter 由 Dart 編程語(yǔ)言提供強(qiáng)有力的支持,這是一種用于多平臺(tái)開(kāi)發(fā)的高生產(chǎn)力、可移植的語(yǔ)言。我們?cè)谶@個(gè)發(fā)布周期中對(duì) Dart 的改進(jìn)工作包括: 枚舉支持成員變量、改進(jìn)的超類(lèi)參數(shù)繼承,以及更為靈活的命名參數(shù)相關(guān)的新的語(yǔ)言特性;同時(shí)為 package:lints 開(kāi)啟了 2.x 版本,這是一套官方的 lint 規(guī)則,是根據(jù)我們總結(jié)的 Dart 最佳實(shí)踐整合而成的一個(gè) lint 規(guī)則集;與此同時(shí),我們也更新了核心庫(kù)的 API 文檔,為其帶來(lái)了豐富的示例代碼。并且,為了改善平臺(tái)集成特性,我們?cè)?Flutter 插件中提供了一個(gè)新的模版,使用 dart:ffi 與原生平臺(tái)進(jìn)行 C 語(yǔ)言的互操作、對(duì) RISC-V 指令集提供實(shí)驗(yàn)性支持,以及對(duì) macOS 和 Windows 可執(zhí)行文件的簽名支持。如果想要了解 Dart 2.17 中所有新改進(jìn)的細(xì)節(jié)情況,請(qǐng)關(guān)注將在近期發(fā)布的文章。
Firebase 和 Flutter
當(dāng)然,構(gòu)建應(yīng)用不僅僅是構(gòu)建用戶(hù)界面框架。應(yīng)用發(fā)布者需要一套全面的工具,來(lái)幫助他們構(gòu)建、發(fā)布和運(yùn)營(yíng)自己的應(yīng)用,包括認(rèn)證、數(shù)據(jù)存儲(chǔ)、云端功能和設(shè)備測(cè)試等服務(wù)。目前已有多種服務(wù)支持 Flutter,包括 Sentry、AppWrite 和 AWS Amplify。
Firebase 是由 Google 提供的應(yīng)用服務(wù)平臺(tái)。SlashData 的開(kāi)發(fā)者基準(zhǔn)研究 顯示,62% 的 Flutter 開(kāi)發(fā)者在其應(yīng)用中使用 Firebase。因此,在過(guò)去的幾個(gè)版本中,我們一直在與 Firebase 合作對(duì)兩者的集成進(jìn)行擴(kuò)展和改良,并將其打造成 Flutter 的首選集成服務(wù)。這包括將 Flutter 的 Firebase 插件升級(jí)到 1.0,增加更好的文檔和工具,以及提供像 FlutterFire UI 這樣的新 widget,為開(kāi)發(fā)者提供可重用的認(rèn)證和用戶(hù)資料界面。
今天,我們宣布 Flutter 和 Firebase 的整合已成為 Firebase 產(chǎn)品核心的一部分并得到完全的支持。我們已將源代碼和文檔轉(zhuǎn)移到 Firebase 的主 repo 和網(wǎng)站中。Firebase 對(duì) Flutter 的支持將和 Android 和 iOS 端的支持同步發(fā)展。
此外,我們還進(jìn)行了重大改進(jìn),以支持 Flutter 應(yīng)用使用 Crashlytics (這是 Firebase 中很受歡迎的實(shí)時(shí)崩潰報(bào)告服務(wù))。隨著 Flutter Crashlytics 插件的更新,您可以使用與 iOS 和 Android 開(kāi)發(fā)者相同的功能集來(lái)實(shí)時(shí)跟蹤致命錯(cuò)誤。其中包括重要警報(bào)和指標(biāo),如 "無(wú)崩潰用戶(hù)",幫助您保持應(yīng)用的穩(wěn)定性。Crashlytics 的分析管線(xiàn)已經(jīng)升級(jí),以改善 Flutter 崩潰的聚合處理,使其能更快地分級(jí)、優(yōu)先處理和修復(fù)問(wèn)題。最后,我們簡(jiǎn)化了插件的設(shè)置過(guò)程,因此您只需要幾個(gè)步驟就可以直接通過(guò) Dart 代碼設(shè)置并使用 Crashlytics。
Flutter 休閑游戲工具包
對(duì)于大多數(shù)開(kāi)發(fā)者來(lái)說(shuō),F(xiàn)lutter 是一個(gè)應(yīng)用框架。但是,利用 Flutter 提供的硬件圖形加速支持和 Flame 等開(kāi)源游戲引擎,圍繞休閑游戲開(kāi)發(fā)而建立的社區(qū)也在不斷壯大。我們希望讓休閑游戲開(kāi)發(fā)者更容易上手,所以在今天的 I/O 大會(huì)上,我們發(fā)布了 Flutter 休閑游戲工具包 (Casual Game Toolkit),它提供了模板、最佳實(shí)踐入門(mén)套件,還為您準(zhǔn)備了可用于廣告和云服務(wù)的贊助額度。

雖然 Flutter 并不是為高強(qiáng)度的 3D 動(dòng)作游戲而設(shè)計(jì)的,但如今,一部分這類(lèi)游戲在獨(dú)立于游戲場(chǎng)景之外的用戶(hù)界面部分也開(kāi)始使用 Flutter 來(lái)實(shí)現(xiàn),包括 PUBG Mobile 這樣擁有數(shù)億用戶(hù)的流行游戲。在 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è)游戲中與他人一較高下。我們希望通過(guò)這種有趣方式展示 Flutter 的多功能性。

Flutter: 由 Google 支持,由社區(qū)驅(qū)動(dòng)
我們喜歡 Flutter 的一點(diǎn)是,它不僅僅是 Google 的產(chǎn)品——它是一個(gè)「屬于所有人」的產(chǎn)品。開(kāi)源意味著我們都可以參與其中,并與它的成功息息相關(guān)。您可以貢獻(xiàn)新的代碼或文檔,創(chuàng)建 package 來(lái)為核心框架賦予新的超能力,編寫(xiě)教導(dǎo)他人的書(shū)籍和培訓(xùn)課程,還可以幫助組織活動(dòng)和用戶(hù)社群,等等。
為了展示社區(qū)的精彩,我們最近與 DevPost 合作,贊助了 Puzzle Hack 挑戰(zhàn),讓開(kāi)發(fā)者們通過(guò) Flutter 來(lái)演繹經(jīng)典的滑動(dòng)拼圖游戲,以展示他們的技能。這場(chǎng)活動(dòng)呈現(xiàn)了 web、桌面和移動(dòng)端完美結(jié)合的場(chǎng)景: 現(xiàn)在大家都可以通過(guò)瀏覽器或應(yīng)用商店玩到這些游戲。
感謝您對(duì) Flutter 的支持,歡迎來(lái)到 Flutter 3!
posted on 2022-05-13 18:22 Flutter社區(qū) 閱讀(662) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)