本文轉載自公眾號:群英傳
作者:徐宜生
我們在手機、桌面和網路上進行多平臺UI開發的歷程達到了頂峰。
我們很高興地宣佈,作為谷歌I/O主題演講的一部分,我們今天推出了Flutter 3。Flutter 3完成了我們從以移動為中心到多平臺框架的路線圖,提供了對macOS和Linux桌面應用的支援,以及對Firebase整合的改進,新的生產力和效能特性,並支援Apple Silicon。
The journey to Flutter 3
我們創辦Flutter的初衷是試圖徹底改變應用開發:將網路的迭代開發模式與硬體加速圖形渲染和畫素級控制相結合,而這在以前是遊戲的專利。自Flutter 1.0測試版以來的四年裡,我們逐漸在這些基礎上發展,增加了新的框架功能和新的小工具,與底層平臺更深入的整合,豐富的包庫和許多效能和工具的改進。
隨著產品的成熟,越來越多的人開始用它構建應用程式。今天,有超過50萬個應用程式是用Flutter建立的。來自data.ai等研究公司的分析,以及公眾的評價,表明Flutter被許多細分領域的客戶所使用:從微信等社交應用到Betterment和Nubank等金融和銀行應用;從SHEIN和trip.com等商務應用到Fastic和Tabcorp等生活方式應用;從My BMW等伴侶應用到巴西政府等公共機構。
今天,有超過50萬個應用程式使用Flutter構建。
開發人員告訴我們,Flutter有助於在更多的平臺上更快地構建漂亮的應用程式。在我們最新的使用者研究中。
- 91% 的開發者認為 Flutter 縮短了構建和釋出應用程式的時間。
- 85%的開發者認為Flutter使他們的應用程式比以前更漂亮。
- 85%的人認為Flutter使他們的應用比以前能在更多的平臺上釋出。
在Sonos最近的一篇部落格文章中,討論了他們改造後的設定體驗,他們強調了其中的第二個問題。
"毫不誇張地說,[Flutter]釋放了一種與我們團隊之前交付的任何東西都不同的 "高階 "程度。對我們的設計師來說,最重要的是,可以輕鬆地構建新的UI,這意味著我們的團隊花在對規格說 "不 "的時間更少,花在迭代上的時間更多。如果這聽起來值得,我們會推薦你試一試Flutter--我們很高興這樣做。"
Introducing Flutter 3
今天,我們推出Flutter 3,這是我們填補Flutter所支援的平臺的旅程的高潮。有了Flutter 3,您可以從一個程式碼庫中為六個平臺構建更好的體驗,為開發者提供無與倫比的生產力,並使初創企業從第一天起就能將新的想法帶到完整的可觸達市場。
在以前的版本中,我們用網路和Windows支援來補充iOS和Android,現在Flutter 3增加了對macOS和Linux應用的穩定支援。增加平臺支援需要的不僅僅是渲染畫素:它包括新的輸入和互動模型、編譯和構建支援、可訪問性和國際化,以及特定平臺的整合。我們的目標是讓你能夠靈活地充分利用底層作業系統,同時儘可能多地分享你選擇的使用者介面和邏輯。
在macOS上,我們已經支援英特爾和蘋果Silicon,並提供通用二進位制支援,使應用程式能夠打包可執行檔案,在兩種架構上原生執行。在Linux上,Canonical和谷歌已經合作為開發提供了一個高度整合的、最好的選擇。
Superlist是Flutter如何實現美麗的桌面體驗的一個很好的例子,它今天推出了測試版。Superlist提供了超強的協作,通過一個新的應用程式,將列表、任務和自由形式的內容結合在一起,成為待辦事項和個人計劃的新方式。Superlist團隊選擇Flutter是因為它能夠提供快速、高度品牌化的桌面體驗,我們認為他們迄今為止的進展證明了為什麼它被證明是一個偉大的選擇。
Flutter 3還對許多基本要素進行了改進,提高了效能,支援Material You,並更新了生產力。
除了上述工作外,在這個版本中,Flutter可以完全原生在蘋果晶片上進行開發。雖然Flutter自發布以來一直與M1驅動的蘋果裝置相容,但Flutter現在充分利用了Dart對蘋果晶片的支援,在M1驅動的裝置上實現了更快的編譯,並支援macOS應用程式的通用二進位制檔案。
在這個版本中,我們為Material Design 3所做的工作基本完成,使開發者能夠利用一個適應性強、跨平臺的設計系統,提供動態的色彩方案和更新的視覺元件。
我們詳細的技術博文闡述了這些以及Flutter 3的許多其他新功能。
Flutter由Dart驅動,這是一種用於多平臺開發的高生產力、可移植的語言。我們在這個週期中對Dart的工作包括減少模板和幫助可讀性的新語言功能,實驗性的RISC-V支援,升級的linter和新的文件。關於Dart 2.17中所有新改進的進一步細節,請檢視專用部落格:https://medium.com/dartlang。
Firebase and Flutter
當然,建立一個應用程式不僅僅是一個UI框架。應用程式釋出者需要一套全面的工具來幫助你構建、釋出和運營你的應用程式,包括認證、資料儲存、雲功能和裝置測試等服務。有多種服務支援Flutter,包括Sentry、AppWrite和AWS Amplify。
谷歌提供的應用服務是Firebase,SlashData的開發者基準研究顯示,62%的Flutter開發者在其應用中使用Firebase。因此,在過去的幾個版本中,我們一直在與Firebase合作,以擴大和更好地將Flutter作為一個一流的整合。這包括將Flutter的Firebase外掛提高到1.0,增加更好的文件和工具,以及像FlutterFire UI這樣的新部件,為開發者提供可重用的auth和profile介面的UI。
今天,我們宣佈Flutter/Firebase的整合將成為Firebase產品中完全支援的核心部分。我們將原始碼和文件轉移到Firebase的主倉庫和網站中,你可以指望我們與Android和iOS同步發展Firebase對Flutter的支援。
此外,我們還進行了重大改進,以支援使用Crashlytics的Flutter應用程式,這是Firebase流行的實時崩潰報告服務。隨著Flutter Crashlytics外掛的更新,你可以實時跟蹤致命的錯誤,為你提供與其他iOS和Android開發者相同的功能集。這包括重要的警報和指標,如 "無崩潰使用者",幫助你保持你的應用程式的穩定性。
Crashlytics分析管道已經升級,以改善Flutter崩潰的聚類,使其更快地分流、優先處理和修復問題。最後,我們簡化了外掛的設定過程,因此只需要幾個步驟就可以使用Crashlytics,並從你的Dart程式碼中開始執行。
Flutter Casual Games Toolkit
對於大多數開發者來說,Flutter是一個應用程式框架。但是,圍繞休閒遊戲開發的社群也在不斷壯大,利用Flutter提供的硬體加速圖形支援和Flame等開源遊戲引擎。我們希望讓休閒遊戲開發者更容易上手,所以在今天的I/O大會上,我們宣佈了休閒遊戲工具包,它提供了一個模板和最佳實踐的入門套件,以及廣告和雲服務的良好體驗。
雖然Flutter並不是為高強度的3D動作遊戲而設計的,但即使是一些遊戲也轉向Flutter的非遊戲UI,包括像PUBG Mobile這樣擁有數億使用者的流行遊戲。而對於I/O,我們想看看我們能把技術推到什麼程度,所以我們創造了一個有趣的彈球遊戲,它由Firebase和Flutter的網路支援提供支援。I/O彈球遊戲提供了一個圍繞谷歌最喜歡的四個吉祥物設計的定製桌子。Flutter的Dash、Firebase的Sparky、Android機器人和Chrome的恐龍,並讓你與他人競爭高分。我們認為這是一種展示Flutter多功能性的有趣方式。
Sponsored by Google, powered by community
我們喜歡Flutter的一點是,它不僅僅是谷歌的產品--它是一個 "所有人 "的產品。開源意味著我們都可以參與其中,並與它的成功息息相關,無論是通過貢獻新的程式碼或文件,建立賦予核心框架新的超能力的包,編寫教導他人的書籍和培訓課程,還是幫助組織活動和使用者組。
為了展示社群的最佳狀態,我們最近與DevPost合作贊助了一個Puzzle Hack挑戰,為開發者提供了一個機會,通過用Flutter重新想象經典的滑動拼圖來展示他們的技能。這證明了網路、桌面和移動的完美結合:現在我們都可以線上或通過商店玩這些遊戲。
我們把這個視訊放在一起,展示了我們最喜歡的一些作品和獲獎者;我們認為你會喜歡它。
謝謝您對Flutter的支援,歡迎來到Flutter 3!
Google I/O 大會全程回放視訊已生成