【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六大平台的穩定支持,完成了其對跨平台的願景。
谷歌Flutter的產品經理Tim Sneath發布一篇名為《Introducing Flutter 3》文章詳細介紹了Flutter 3.0,筆者對其進行了編譯,以饗讀者。
顛覆開發者開發方式的Flutter
Flutter的誕生是為了徹底改變應用程序開發方式:將Web的迭代開發模式與硬件加速圖形渲染和像素級控制相結合,這些以前可是遊戲的專利,而現在它被來進行應用開發。自從Flutter 1.0測試版發布以來,谷歌對其不斷地進行優化,讓Flutter的功能日趨完善,比如添加了新的框架功能和小部件、與底層平台進行更加深入的集成、提供了豐富的軟件包庫,並且在性能和工具上也做了許多的改進。
從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是由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並不是為高強度的3D動作遊戲而生的,但是有跨度是常有的事,即使是一些遊戲也轉向Flutter的非遊戲UI,比如像PUBG Mobile這樣擁有數億用戶的流行遊戲。那麼谷歌能把技術發展到什麼程度呢?為了得到這個問題的答案,谷歌創建了一個有趣的彈球遊戲(由Firebase和Flutter的網絡支持提供支持)。
I/O彈球遊戲中設計了一個帶有四個吉祥物(Flutter的Dash、Firebase的Sparky、Android機器人和Chrome的恐龍)的定製桌子。玩家能在遊戲中與別人一教高下,谷歌通過這種方式來展示Flutter多功能性,這很有趣。
Snearh認為,遊戲開發和企業開發對性能和用戶體驗有着共同的追求,而Flutter團隊一直在努力解決界面卡頓等問題,最終讓框架能夠更適用於各種類型的應用程序。
「一套代碼,到處運行」,從 Flutter 3 開始
作為一款開源工具,Flutter不僅僅是谷歌的框架,也是一個業界開發者都能使用的產品。無論是通過貢獻新的代碼或文檔、創建賦予核心框架新的超能力的軟件包、編寫指導他人的書籍和培訓課程,還是幫助組織活動和用戶組等等,人人都可以參與其中。Flutter 3的發布大大地提高了開發者的效率,也終讓大家都實現了「一套代碼,到處運行」的夢想。
原文鏈接:https://medium.com/flutter/introducing-flutter-3-5eb69151622f
本文由CSDN翻譯,未經授權,禁止轉載。
— END —
《新程序員004》以「我們的技術時代,我的程序人生」為主題,與多位國內外知名的技術先鋒和新生代程序員代表進行了深度對話,希望行業優秀人物的技術之路與人生感悟給大家帶來啟發。
— 推薦閱讀 —
—點這裡↓↓↓記得關註標星哦~—
一鍵三連 「分享」「點讚」「在看」
成就一億技術人
