Flutter 3.0 重磅發(fā)布,橫跨iOS、Android、Windows等六大平臺(flutter版)
【CSDN 編者按】在5月12日谷歌的I/O主題演講中,F(xiàn)lutter 3.0正式發(fā)布。今年2月,F(xiàn)lutter帶來了對Windows的支持。當(dāng)前最新的Flutter3.0提供了對macOS和Linux桌面應(yīng)用程序支持,改進(jìn)Firebase集成、新的生產(chǎn)力和性能提升、添加Apple Silicon支持。
截至目前,F(xiàn)lutter終于實(shí)現(xiàn)了對iOS、Android、Web、Windows、macOS、Linux六大平臺的穩(wěn)定支持,完成了其對跨平臺的愿景。
譯者 | 章雨銘 責(zé)編 | 屠敏
出品 | CSDN(ID:CSDNnews)
谷歌Flutter的產(chǎn)品經(jīng)理Tim Sneath發(fā)布一篇名為《Introducing Flutter 3》文章詳細(xì)介紹了Flutter 3.0,筆者對其進(jìn)行了編譯,以饗讀者。
顛覆開發(fā)者開發(fā)方式的Flutter
Flutter的誕生是為了徹底改變應(yīng)用程序開發(fā)方式:將Web的迭代開發(fā)模式與硬件加速圖形渲染和像素級控制相結(jié)合,這些以前可是游戲的專利,而現(xiàn)在它被來進(jìn)行應(yīng)用開發(fā)。自從Flutter 1.0測試版發(fā)布以來,谷歌對其不斷地進(jìn)行優(yōu)化,讓Flutter的功能日趨完善,比如添加了新的框架功能和小部件、與底層平臺進(jìn)行更加深入的集成、提供了豐富的軟件包庫,并且在性能和工具上也做了許多的改進(jìn)。
從1.0到3.0版本,F(xiàn)lutter被越來越多的開發(fā)者使用來構(gòu)建應(yīng)用程序。據(jù)谷歌最新用戶研究報告顯示:
-
91%的開發(fā)人員認(rèn)為Flutter能縮短構(gòu)建和發(fā)布應(yīng)用程序所需要的時間;
85%的開發(fā)人員認(rèn)為Flutter使他們的應(yīng)用程序更美觀;
85%的人認(rèn)可Flutter能使他們在更多的平臺上發(fā)布他們的應(yīng)用程序。
實(shí)現(xiàn)“大一統(tǒng)”,一個Flutter,橫跨iOS、Android、Web、Windows、macOS、Linux六大平臺
Flutter 3.0為開發(fā)者提供了一種使用Dart編程語言為六大面向消費(fèi)者的主流平臺(iOS、Android、Web、Windows、macOS、Linux)目標(biāo)編寫應(yīng)用程序的方法?;贔lutter 3,開發(fā)者能擁有從單個代碼庫為六個平臺構(gòu)建應(yīng)用程序的體驗,這將使其生產(chǎn)力大大提高。
不同于之前的版本,F(xiàn)lutter 3新增了對macOS和Linux應(yīng)用程序的穩(wěn)定支持。添加新平臺的支持并不像我們想象中那么簡單,其需要的不僅僅是渲染像素,還需要做很多其他的工作,比如新的輸入和交互模型、編譯和生成支持、可訪問性和國際化以及特定于平臺的集成等。Flutter不僅讓用戶能靈活地充分利用底層操作系統(tǒng),同時能夠根據(jù)需要共享盡可能多的UI。
具體來看,在macOS上,F(xiàn)lutter3可以通過通用二進(jìn)制構(gòu)建方式支持英特爾和Apple Silicon,允許應(yīng)用打包在這兩種架構(gòu)上本機(jī)運(yùn)行的可執(zhí)行文件。同時,由于Dart對Apple Silicon的支持,編譯速度也將更快。在Linux上,Canonical和谷歌合作提供了一個高度集成且在同類中最佳的開發(fā)選項。
另外,F(xiàn)lutter 3 還改進(jìn)了許多基礎(chǔ)功能,包括性能改進(jìn)、Material You 支持和生產(chǎn)力更新。
除了上述所提到的內(nèi)容,在新版本中,F(xiàn)lutter可以在蘋果芯片上進(jìn)行原生開發(fā)。雖然Flutter自發(fā)布以來,一直與搭載M1芯片的蘋果設(shè)備兼容,但Flutter現(xiàn)在充分利用了Dart對Apple芯片的支持,可以在M1驅(qū)動的設(shè)備上實(shí)現(xiàn)更快的編譯,并支持macOS應(yīng)用程序的通用二進(jìn)制文件。
另外,隨著谷歌的Material Design 3在Flutter 3這個版本中基本已經(jīng)完成,開發(fā)人員能夠利用適應(yīng)性強(qiáng)的跨平臺設(shè)計系統(tǒng),該系統(tǒng)提供動態(tài)配色方案和更新的視覺組件:
Flutter是由Dart驅(qū)動的,Dart是一種用于多平臺開發(fā)的高生產(chǎn)力、可移植的語言。谷歌在Dart中添加了一些新的語言功能。這些新的語言功能帶來的好處頗多,比如能夠減少模板、提高可讀性、提供實(shí)驗性的RISC-V支持,以及升級的linter和新的文檔等。在專用的博客中可以獲得關(guān)于Dart 2.17所有新更改的細(xì)節(jié),可通過鏈接查看https://medium.com/dartlang
Firebase和Flutter深度集成
當(dāng)然,構(gòu)建應(yīng)用的不僅僅是UI框架。一套全面的工具在構(gòu)建、開發(fā)和操作應(yīng)用中也是必不可少的,比如身份驗證、數(shù)據(jù)儲存、云功能和設(shè)備測試等服務(wù)。而包括Sentry、AppWrite和AWS Amplify在內(nèi)的很多服務(wù)都支持Flutter。
谷歌提供的應(yīng)用服務(wù)Firebase使用率很高,在SlashData的開發(fā)者基準(zhǔn)測試中,有62%的Flutter開發(fā)者表示會在開發(fā)應(yīng)用程序時使用Firebase。因此,在以前的版本中,谷歌一直致力于將Flutter與Firebase更好地結(jié)合,以創(chuàng)造一流的的Flutter集成。為此,谷歌將Flutter中的Firebase插件提升到1.0(用于添加更好的文檔和工具),以及提供像FlutterFire UI這樣的新小部件(為開發(fā)人員提供可重用的UI用于身份驗證和配置文件屏幕)。
今天,谷歌宣布將Flutter和Firebase的集成作為Firebase產(chǎn)品的核心,正在將源代碼和文檔移動到Firebase主存儲庫和站點(diǎn)中,而且谷歌有可能與Android和iOS同步發(fā)展Firebase對Flutter的支持。
此外,為了使用Crashlytics(Firebase廣受歡迎的實(shí)時崩潰報告解決服務(wù))谷歌還進(jìn)行了以下重大改進(jìn)。
-
通過更新Flutter Crashlytics插件,可以讓用戶實(shí)時跟蹤致命的錯誤,從而為用戶提供與其他iOS或Android開發(fā)人員相同的功能集;
升級Crashlytics分析管道,以改進(jìn)Flutter崩潰的聚類分析,從而更快地對問題進(jìn)行分類、優(yōu)先排序和修復(fù);
簡化了插件設(shè)置過程,因此只需幾個步驟即可從用戶的Dart代碼中啟動并運(yùn)行Crashlytics。
Flutter休閑游戲工具包
對于大多數(shù)開發(fā)者來說,F(xiàn)lutter只是一個應(yīng)用程序框架。但是,在休閑游戲開發(fā)領(lǐng)域也有Flutter的一番天地。圍繞休閑游戲開發(fā)的社區(qū)也在不斷壯大,很多開發(fā)者利用Flutter提供的硬件加速圖形支持和Flame等開源游戲引擎。
為了讓休閑游戲開發(fā)者能夠更能更容易上手,在今天的I/O大會上,谷歌宣布發(fā)布Flutter Casual Games Toolkit,它不僅提供了一個模板和最佳實(shí)踐的入門工具包,還能帶來廣告和云服務(wù)的良好體驗。
雖然Flutter并不是為高強(qiáng)度的3D動作游戲而生的,但是有跨度是常有的事,即使是一些游戲也轉(zhuǎn)向Flutter的非游戲UI,比如像PUBG Mobile這樣擁有數(shù)億用戶的流行游戲。那么谷歌能把技術(shù)發(fā)展到什么程度呢?為了得到這個問題的答案,谷歌創(chuàng)建了一個有趣的彈球游戲(由Firebase和Flutter的網(wǎng)絡(luò)支持提供支持)。
I/O彈球游戲中設(shè)計了一個帶有四個吉祥物(Flutter的Dash、Firebase的Sparky、Android機(jī)器人和Chrome的恐龍)的定制桌子。玩家能在游戲中與別人一教高下,谷歌通過這種方式來展示Flutter多功能性,這很有趣。
Snearh認(rèn)為,游戲開發(fā)和企業(yè)開發(fā)對性能和用戶體驗有著共同的追求,而Flutter團(tuán)隊一直在努力解決界面卡頓等問題,最終讓框架能夠更適用于各種類型的應(yīng)用程序。
「一套代碼,到處運(yùn)行」,從 Flutter 3 開始
作為一款開源工具,F(xiàn)lutter不僅僅是谷歌的框架,也是一個業(yè)界開發(fā)者都能使用的產(chǎn)品。無論是通過貢獻(xiàn)新的代碼或文檔、創(chuàng)建賦予核心框架新的超能力的軟件包、編寫指導(dǎo)他人的書籍和培訓(xùn)課程,還是幫助組織活動和用戶組等等,人人都可以參與其中。Flutter 3的發(fā)布大大地提高了開發(fā)者的效率,也終讓大家都實(shí)現(xiàn)了「一套代碼,到處運(yùn)行」的夢想。
原文鏈接:https://medium.com/flutter/introducing-flutter-3-5eb69151622f
本文由CSDN翻譯,未經(jīng)授權(quán),禁止轉(zhuǎn)載。
— END —
《新程序員004》以「我們的技術(shù)時代,我的程序人生」為主題,與多位國內(nèi)外知名的技術(shù)先鋒和新生代程序員代表進(jìn)行了深度對話,希望行業(yè)優(yōu)秀人物的技術(shù)之路與人生感悟給大家?guī)韱l(fā)。
成就一億技術(shù)人