Flutter 3.0 重磅釋出,橫跨iOS、Android、Windows等六大平臺!

Flutter 3.0 重磅釋出,橫跨iOS、Android、Windows等六大平臺!

【CSDN 編者按】在5月12日谷歌的I/O主題演講中,Flutter 3。0正式釋出。今年2月,Flutter帶來了對Windows的支援。當前最新的Flutter3。0提供了對macOS和Linux桌面應用程式支援,改進Firebase整合、新的生產力和效能提升、新增Apple Silicon支援。截至目前,Flutter終於實現了對iOS、Android、Web、Windows、macOS、Linux六大平臺的穩定支援,完成了其對跨平臺的願景。

譯者 | 章雨銘 責編 | 屠敏

出品 | CSDN(ID:CSDNnews)

谷歌Flutter的產品經理Tim Sneath釋出一篇名為《Introducing Flutter 3》文章詳細介紹了Flutter 3。0,筆者對其進行了編譯,以饗讀者。

顛覆開發者開發方式的Flutter

Flutter的誕生是為了徹底改變應用程式開發方式:將Web的迭代開發模式與硬體加速圖形渲染和畫素級控制相結合,這些以前可是遊戲的專利,而現在它被來進行應用開發。自從Flutter 1。0測試版釋出以來,谷歌對其不斷地進行最佳化,讓Flutter的功能日趨完善,比如添加了新的框架功能和小部件、與底層平臺進行更加深入的整合、提供了豐富的軟體包庫,並且在效能和工具上也做了許多的改進。

Flutter 3.0 重磅釋出,橫跨iOS、Android、Windows等六大平臺!

從1。0到3。0版本,Flutter被越來越多的開發者使用來構建應用程式。據谷歌最新使用者研究報告顯示:

91%的開發人員認為Flutter能縮短構建和釋出應用程式所需要的時間;

85%的開發人員認為Flutter使他們的應用程式更美觀;

85%的人認可Flutter能使他們在更多的平臺上釋出他們的應用程式。

實現“大一統”,一個Flutter,橫跨iOS、Android、Web、Windows、macOS、Linux六大平臺

Flutter 3。0為開發者提供了一種使用Dart程式語言為六大面向消費者的主流平臺(iOS、Android、Web、Windows、macOS、Linux)目標編寫應用程式的方法。基於Flutter 3,開發者能擁有從單個程式碼庫為六個平臺構建應用程式的體驗,這將使其生產力大大提高。

不同於之前的版本,Flutter 3新增了對macOS和Linux應用程式的穩定支援。新增新平臺的支援並不像我們想象中那麼簡單,其需要的不僅僅是渲染畫素,還需要做很多其他的工作,比如新的輸入和互動模型、編譯和生成支援、可訪問性和國際化以及特定於平臺的整合等。Flutter不僅讓使用者能靈活地充分利用底層作業系統,同時能夠根據需要共享盡可能多的UI。

具體來看,在macOS上,Flutter3可以透過通用二進位制構建方式支援英特爾和Apple Silicon,允許應用打包在這兩種架構上本機執行的可執行檔案。同時,由於Dart對Apple Silicon的支援,編譯速度也將更快。在Linux上,Canonical和谷歌合作提供了一個高度整合且在同類中最佳的開發選項。

另外,Flutter 3 還改進了許多基礎功能,包括效能改進、Material You 支援和生產力更新。

除了上述所提到的內容,在新版本中,Flutter可以在蘋果晶片上進行原生開發。雖然Flutter自發布以來,一直與搭載M1晶片的蘋果裝置相容,但Flutter現在充分利用了Dart對Apple晶片的支援,可以在M1驅動的裝置上實現更快的編譯,並支援macOS應用程式的通用二進位制檔案。

另外,隨著谷歌的Material Design 3在Flutter 3這個版本中基本已經完成,開發人員能夠利用適應性強的跨平臺設計系統,該系統提供動態配色方案和更新的視覺元件:

Flutter 3.0 重磅釋出,橫跨iOS、Android、Windows等六大平臺!

Flutter是由Dart驅動的,Dart是一種用於多平臺開發的高生產力、可移植的語言。谷歌在Dart中添加了一些新的語言功能。這些新的語言功能帶來的好處頗多,比如能夠減少模板、提高可讀性、提供實驗性的RISC-V支援,以及升級的linter和新的文件等。在專用的部落格中可以獲得關於Dart 2。17所有新更改的細節,可透過連結檢視https://medium。com/dartlang

Firebase和Flutter深度整合

當然,構建應用的不僅僅是UI框架。一套全面的工具在構建、開發和操作應用中也是必不可少的,比如身份驗證、資料儲存、雲功能和裝置測試等服務。而包括Sentry、AppWrite和AWS Amplify在內的很多服務都支援Flutter。

谷歌提供的應用服務Firebase使用率很高,在SlashData的開發者基準測試中,有62%的Flutter開發者表示會在開發應用程式時使用Firebase。因此,在以前的版本中,谷歌一直致力於將Flutter與Firebase更好地結合,以創造一流的的Flutter整合。為此,谷歌將Flutter中的Firebase外掛提升到1。0(用於新增更好的文件和工具),以及提供像FlutterFire UI這樣的新小部件(為開發人員提供可重用的UI用於身份驗證和配置檔案螢幕)。

今天,谷歌宣佈將Flutter和Firebase的整合作為Firebase產品的核心,正在將原始碼和文件移動到Firebase主儲存庫和站點中,而且谷歌有可能與Android和iOS同步發展Firebase對Flutter的支援。

此外,為了使用Crashlytics(Firebase廣受歡迎的實時崩潰報告解決服務)谷歌還進行了以下重大改進。

透過更新Flutter Crashlytics外掛,可以讓使用者實時跟蹤致命的錯誤,從而為使用者提供與其他iOS或Android開發人員相同的功能集;

升級Crashlytics分析管道,以改進Flutter崩潰的聚類分析,從而更快地對問題進行分類、優先排序和修復;

簡化了外掛設定過程,因此只需幾個步驟即可從使用者的Dart程式碼中啟動並執行Crashlytics。

Flutter休閒遊戲工具包

對於大多數開發者來說,Flutter只是一個應用程式框架。但是,在休閒遊戲開發領域也有Flutter的一番天地。圍繞休閒遊戲開發的社群也在不斷壯大,很多開發者利用Flutter提供的硬體加速圖形支援和Flame等開源遊戲引擎。

為了讓休閒遊戲開發者能夠更能更容易上手,在今天的I/O大會上,谷歌宣佈釋出Flutter Casual Games Toolkit,它不僅提供了一個模板和最佳實踐的入門工具包,還能帶來廣告和雲服務的良好體驗。

Flutter 3.0 重磅釋出,橫跨iOS、Android、Windows等六大平臺!

雖然Flutter並不是為高強度的3D動作遊戲而生的,但是有跨度是常有的事,即使是一些遊戲也轉向Flutter的非遊戲UI,比如像PUBG Mobile這樣擁有數億使用者的流行遊戲。那麼谷歌能把技術發展到什麼程度呢?為了得到這個問題的答案,谷歌建立了一個有趣的彈球遊戲(由Firebase和Flutter的網路支援提供支援)。

I/O彈球遊戲中設計了一個帶有四個吉祥物(Flutter的Dash、Firebase的Sparky、Android機器人和Chrome的恐龍)的定製桌子。玩家能在遊戲中與別人一教高下,谷歌透過這種方式來展示Flutter多功能性,這很有趣。

Snearh認為,遊戲開發和企業開發對效能和使用者體驗有著共同的追求,而Flutter團隊一直在努力解決介面卡頓等問題,最終讓框架能夠更適用於各種型別的應用程式。

Flutter 3.0 重磅釋出,橫跨iOS、Android、Windows等六大平臺!

「一套程式碼,到處執行」,從 Flutter 3 開始

作為一款開源工具,Flutter不僅僅是谷歌的框架,也是一個業界開發者都能使用的產品。無論是透過貢獻新的程式碼或文件、建立賦予核心框架新的超能力的軟體包、編寫指導他人的書籍和培訓課程,還是幫助組織活動和使用者組等等,人人都可以參與其中。Flutter 3的釋出大大地提高了開發者的效率,也終讓大家都實現了「一套程式碼,到處執行」的夢想。

原文連結:https://medium。com/flutter/introducing-flutter-3-5eb69151622f

— END —

《新程式設計師004》以「我們的技術時代,我的程式人生」為主題,與多位國內外知名的技術先鋒和新生代程式設計師代表進行了深度對話,希望行業優秀人物的技術之路與人生感悟給大家帶來啟發。

頂部