Flutter 2 正式出道(一)

相信不少人昨晚熬夜奮戰(zhàn),觀看了Flutter Engage大會,Flutter團(tuán)隊也正式官宣了Flutter 2。從Flutter 1.0正式版到Flutter 2差不多有兩年多一些的時間。但在這么短的時間里,Flutter團(tuán)隊在765個貢獻(xiàn)者的貢獻(xiàn)下共關(guān)閉了24541個issue,合并了17039個PR。從9月份的Flutter 1.22開始,團(tuán)隊在298個貢獻(xiàn)者的貢獻(xiàn)下共關(guān)閉了5807個issue,合并了4091個PR。

Flutter 2為我們帶了很多令大家興奮的特性,比如Dart 2.12, 空安全,Web等等。有條件的可以看看這兩個文章Announcing Flutter 2Announcing Dart 2.12.

接下來,我們快速瀏覽一下Flutter 2讓我們興奮的事情吧~

Web

現(xiàn)在,Flutter Web正式出道,完成從betastable的華麗轉(zhuǎn)身。在Flutter 2中,由于Flutter Web的出道,Flutter將代碼重用能力提升到了另一個層次。所以,現(xiàn)在當(dāng)你使用Flutter 2創(chuàng)建新項(xiàng)目的時候,web將成為新的支持平臺。

圖片

圖片中的是Moi Mobiili,一個現(xiàn)代的移動虛擬網(wǎng)絡(luò)運(yùn)營商的Mun Moi Account manager應(yīng)用,他們選擇了用Flutter開發(fā)。

通過利用Web平臺的眾多優(yōu)勢,Flutter為構(gòu)建豐富的交互式Web應(yīng)用程序奠定了基礎(chǔ)。 Flutter團(tuán)隊主要專注于性能和渲染保真度的改進(jìn)。 除了HTML渲染器之外,Flutter 2還添加了一個新的基于CanvasKit的渲染器。Flutter 2也新增了一些web專用特性,比如Link widget,以此來確保當(dāng)你的應(yīng)用運(yùn)行在瀏覽器的時候感覺像是一個web應(yīng)用。

想要了解更多Flutter web可以閱讀Flutter web support hits the stable milestone。

空安全(Sound Null Safety)

安全是Dart語言的重要補(bǔ)充,它通過區(qū)分可空類型和非可空類型進(jìn)一步增強(qiáng)了類型系統(tǒng)。這使開發(fā)人員能夠防止null錯誤崩潰(NPE),這是應(yīng)用程序崩潰的常見原因。 通過將空檢查合并到類型系統(tǒng)中,可以在開發(fā)過程中捕獲這些錯誤,從而防止生產(chǎn)崩潰。 從基于Dart 2.12Flutter 2開始,Flutter已開始完全支持空空全了。 有關(guān)更多詳細(xì)信息,請參見Announcing Dart 2.12

pub.dev上已經(jīng)有超過1000支持空安全的開發(fā)包了,所以大家可以開始嘗試升級到Flutter 2了。如果你是開發(fā)包的作者,可以參見遷移指導(dǎo)并開始為你的開發(fā)包提供對空安全的支持。

桌面

在此版本中,Flutter Desktop已在beta可用了,并且Flutter Desktop也被標(biāo)記了早期發(fā)布的標(biāo)志。 這意味著Flutter已經(jīng)準(zhǔn)備好讓你嘗試一下用FLutter開發(fā)一下桌面應(yīng)用:你可以把Flutter Desktop視為“ beta快照”,以此來預(yù)覽將于今年晚些時候發(fā)布的最終穩(wěn)定版本。

關(guān)于更多桌面的改進(jìn)和特性,稍后我會再補(bǔ)充。

新的iOS特性

盡管Flutter團(tuán)隊一直致力于提高對其他平臺支持質(zhì)量,但請不要就這樣以為他們把iOS拋至腦后了。事實(shí)上,此版本合并了178個與iOS有關(guān)的PR,包括為iOS帶來State Restoration2349567781,這可以讓我們從命令行直接構(gòu)建IPA,并不需要打開Xcode。69809,它更新了CocoaPods版本以匹配最新的工具。 此外,Cupertino實(shí)現(xiàn)中還添加了一些iOS小部件。

全新的iOS搜索框CupertinoSearchTextField

image

CupertinoFormSection, CupertinoFormRowCupertinoTextFormFieldRow ,這幾個新的小部件可以更輕松地生成更具有iOS美感的表單。

image

除了致力于為iOS帶來新特性,Flutter團(tuán)隊也在研究如何提升著色器和動畫在iOS和Flutter上的性能。iOS仍是Flutter的主要平臺,Flutter團(tuán)隊將會繼續(xù)努力為大家?guī)硇碌奶匦院托阅芴嵘?/p>

新的小部件:Autocomplete 和 ScaffoldMessenger

AutocompleteCore是支持auto-complete(自動填充)的最小單位了。

Autocomplete就是自動填充了,這個功能很實(shí)用。

image

現(xiàn)在你可以直接使用Autocomplete了,如果你對該特性的設(shè)計感興趣,你可以讀一下[Autocomplete設(shè)計文檔]

(https://docs.google.com/document/d/1fV4FDNdcza1ITU7hlgweCDUZdWyCqd-rjz_J7K2KkfY/)

同樣地,ScaffoldMessenger的創(chuàng)建是為了解決一些和SnackBar有關(guān)的問題,包括輕松響應(yīng)AppBar動作創(chuàng)建SnackBar,創(chuàng)建在Scaffold轉(zhuǎn)換之間持久保存的SnackBars的能力,以及即使用戶導(dǎo)航到具有其他Scaffold的頁面也能夠在異步操作完成時顯示SnackBars的功能 。

image

所有的這些好處,我們只需要幾行代碼就能實(shí)現(xiàn)顯示SnackBar

final messenger = ScaffoldMessenger.of(context);
messenger.showSnackBar(SnackBar(content: Text(‘I can fly.’)));

當(dāng)然了ScaffoldMessenger不止這些,有關(guān)更多的詳細(xì)資料,可以觀看這個視頻。

東西太多了,寫不完。晚上再更。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容