Flutter網(wǎng)站和Null安全性逐漸趨于穩(wěn)定集晚,F(xiàn)lutter桌面安全性逐漸轉(zhuǎn)向Beta版!
今天蒋院,我們很高興地宣布Flutter 2的發(fā)布莲绰。距離Flutter 1.0的發(fā)布已經(jīng)兩年多了,但是在很短的時間內(nèi)蛤签,我們已經(jīng)關(guān)閉了24,541期,并合并了765個貢獻者的17,039個PR震肮。自9月Flutter 1.22發(fā)布以來戳晌,我們已經(jīng)關(guān)閉了5807期并合并了298位貢獻者的4091個PR。特別感謝我們的志愿者捐助者躬厌,他們慷慨地抽出時間來改進Flutter項目竞帽。為顫振2釋放頂部志愿者貢獻者是旭寶林46周的PR,a14n與32周的PR該重點是使顫振疙渣,以空的安全性堆巧,和hamdikahloun具有20個PR泼菌,改善了Flutter插件的數(shù)量。但是哗伯,不僅僅是編碼員為Flutter項目做出了貢獻篷角。一大批志愿者PR評審人員還負責評審1525個PR,包括hamdikahloun(再次?叶住)嘉蕾,CareF和YazeedAlKhalaf(僅16個!)错忱。Flutter確實是社區(qū)的一項工作,如果沒有問題提出者喉悴,PR貢獻者和代碼審查者,我們就不可能進入第2版箕肃。此版本適用于所有人今魔。
Flutter 2發(fā)行版中發(fā)生了很多令人興奮的事情。有關(guān)Flutter 2和Dart 2.12的新功能以及我們的客戶和合作伙伴如何使用Flutter 2的概述错森,請參閱宣布Flutter 2涩维。有關(guān)Dart 2.12的詳細信息,請參閱宣布Dart 2.12瓦阐。有關(guān)建議在生產(chǎn)中使用的Flutter網(wǎng)站的最佳利用方法,請參閱Flutter網(wǎng)站支持達到穩(wěn)定的里程碑踏幻。
而且,要了解Flutter 2本身的新功能该面,請繼續(xù)閱讀!
截止到今天隔缀,F(xiàn)lutter的網(wǎng)絡(luò)支持已經(jīng)從Beta過渡到穩(wěn)定渠道。在此初始穩(wěn)定版本中晌梨,F(xiàn)lutter在Web平臺的支持下將代碼的可重用性提高到另一個層次须妻。因此,現(xiàn)在當您穩(wěn)定地創(chuàng)建Flutter應用程序時荒吏,Web只是該應用程序的另一個設(shè)備目標。
致力于通過數(shù)字化實現(xiàn)卓越運營的現(xiàn)代移動虛擬網(wǎng)絡(luò)運營商Moi Mobiili選擇Flutter構(gòu)建其Mun Moi客戶經(jīng)理應用程序瞧挤,并于近期啟動了其Web應用程序儡湾。
通過利用Web平臺的眾多優(yōu)勢,F(xiàn)lutter為構(gòu)建豐富的交互式Web應用程序奠定了基礎(chǔ)癌刽。我們主要專注于性能和渲染保真度的改進尝丐。除了我們的HTML渲染器之外,我們還添加了一個新的基于CanvasKit的渲染器爹袁。我們還添加了特定于Web的功能,例如Link小部件譬淳,以確保在瀏覽器中運行的應用感覺像Web應用盹兢。
在Flutter的網(wǎng)絡(luò)支持博客文章中找到有關(guān)此穩(wěn)定版本的更多詳細信息。
聲音無效
聲音空安全性是Dart語言的重要補充蛤迎,它通過區(qū)分可空類型和非可空類型進一步增強了類型系統(tǒng)含友。這使開發(fā)人員能夠防止null錯誤崩潰校辩,這是應用程序崩潰的常見原因辆童。通過將空檢查合并到類型系統(tǒng)中,可以在開發(fā)過程中捕獲這些錯誤故黑,從而防止生產(chǎn)崩潰庭砍。從Flutter 2開始,包含Dart 2.12的穩(wěn)定版完全支持聲音無效安全性诗轻。有關(guān)更多詳細信息揭北,請參見Dart 2.12博客文章。
pub.dev軟件包存儲庫已經(jīng)發(fā)布了1,000多個空安全軟件包搔体,其中包括Dart,Flutter劝术,Firebase和Material團隊的數(shù)百個軟件包呆奕。如果您是軟件包作者,請查看遷移指南并考慮立即進行遷移登馒。
桌面
在此版本中,我們很高興地宣布圈纺,F(xiàn)lutter的桌面支持已在穩(wěn)定頻道中以早期版本的標志提供麦射。這意味著我們已經(jīng)準備好讓您嘗試一下它作為Flutter應用程序的部署目標:您可以將其視為“ beta快照”,以預覽將于今年晚些時候發(fā)布的最終穩(wěn)定版本蛔琅。
為了使Flutter桌面達到這樣的質(zhì)量峻呛,從大小上進行了改進辜窑,從確保文本編輯像在每個受支持的平臺上的本機體驗一樣開始寨躁,包括諸如文本選擇樞軸點的基本功能以及能夠進行文本編輯的能力。在處理完鍵盤事件后停止傳播职恳。在鼠標輸入端,現(xiàn)在可以立即開始使用高精度定點設(shè)備進行拖動色徘,而不必等待處理觸摸輸入時所需的延遲操禀。此外,內(nèi)置的上下文菜單已添加到Material和Cupertino設(shè)計語言的TextField和TextFormField小部件中床蜘。最后,添加了抓手到ReorderableListView小部件扬蕊。
ReorderableListView現(xiàn)在具有抓握手柄丹擎,可通過鼠標輕松拖放
作為開發(fā)人員,ReorderableListView總是很擅長移動項目再愈,但是它要求用戶長按才能啟動拖動护戳。這在移動設(shè)備上很有意義,但是很少有臺式機用戶會想到用鼠標長按某個項目來移動它媳荒,因此此版本包括適用于鼠標或觸摸輸入的抓握手柄。平臺慣用功能的另一項改進是更新的滾動條缴渊,該滾動條可以正確顯示桌面形狀因素鱼炒。
此版本包括一個更新的Scrollbar小部件,該小部件在桌面環(huán)境中非常有效
滾動條小部件已更新,以提供桌面上預期的交互功能菩佑,包括拖動拇指欣舵,單擊軌道以上下滾動頁面以及在鼠標懸停在鼠標的任何部分上時顯示軌道的功能缀磕。滾動條。此外糟把,由于Scrollbar是使用新ScrollbarTheme類的主題牲剃,因此您可以設(shè)置其樣式以使其與應用程序的外觀和風格相匹配。
對于其他特定于桌面的功能凿傅,此版本還啟用了Flutter應用程序的命令行參數(shù)處理功能,以便可以使用諸如Windows File Explorer中的數(shù)據(jù)文件雙擊之類的簡單操作來打開應用程序中的文件辨液。我們還努力使Windows和macOS的調(diào)整大小更加流暢箱残,并為國際用戶啟用IME(輸入法編輯器)。
Flutter桌面現(xiàn)在支持直觀的IME輸入
此外燎悍,我們還提供了更新的文檔盼理,介紹了開始準備將桌面應用程序部署到特定于操作系統(tǒng)的商店時需要執(zhí)行的操作。試試看宏怔,如果我們錯過了任何事情,請?zhí)峁┓答仭?/p>
在嘗試使用Flutter桌面Beta時思劳,您可以通過按預期方式切換到Beta通道并根據(jù)flutter.dev上的指導為目標平臺設(shè)置配置標志來訪問它妨猩。此外,我們還制作了穩(wěn)定通道上可用的beta比特的快照威兜。如果您使用“ flutter config”啟用某個桌面配置設(shè)置(例如enable-macos-desktop),則可以嘗試桌面支持的beta功能椒舵,而不必經(jīng)歷漫長的過程才能轉(zhuǎn)移到beta頻道,刪除Flutter SDK的所有最新Beta版犁钟,構(gòu)建工具等泼橘。這非常適合嘗試一下或?qū)⒆烂嬷С钟米骱唵蔚摹?Flutter Emulator”。
但是炬灭,如果您選擇停留在穩(wěn)定的頻道上以訪問桌面Beta重归,則不會像切換到Beta或dev頻道那樣快地獲得新功能或錯誤修復。因此鼻吮,如果您正在積極地針對Windows,macOS或Linux宙搬,我們建議您切換到可更快提供更新的渠道拓哺。
當我們接近Flutter桌面的第一個完整的生產(chǎn)質(zhì)量版本時,我們知道我們還有更多工作要做士鸥,包括對與本機頂級菜單集成的支持,更像各個平臺的體驗的文本編輯以及可訪問性支持讼积,以及常規(guī)的錯誤修復和性能增強脚仔。如果您認為在臺式機達到生產(chǎn)質(zhì)量之前還需要做其他事情,請確保提供您的反饋们颜。
平臺自適應應用程序:Flutter Folio示例
現(xiàn)在,撲支持生產(chǎn)應用三個平臺(Android窥突,iOS設(shè)備和網(wǎng)絡(luò))和三個測試版(在Windows阻问,MacOS和Linux)的,一個自然的問題是:如何編寫一個應用程序称近,適應本身以及多個不同尺寸(小,中和大屏幕)斥铺,不同的輸入模式(觸摸坛善,鍵盤和鼠標)和不同的習慣用法(移動邻眷,網(wǎng)絡(luò)和臺式機)?為了為我們自己以及世界各地的Flutter開發(fā)人員回答此問題改衩,我們委托了Flutter Folio剪貼簿應用程序驯镊。
宣布新的Flutter Folio應用程序
Folio只是一個簡單的示例,您希望它可以從一個代碼庫在多個平臺上很好地運行橄镜。所謂“好”冯乘,是指它在小屏幕,中屏幕和大屏幕上看起來都不錯裆馒,它利用了觸摸,鍵盤和鼠標輸入的優(yōu)勢翔横,并且對于平臺的慣用語言也很好用(例如梗搅,通過使用網(wǎng)絡(luò)上的鏈接和桌面上的菜單)舔亭。我們將這種應用稱為“平臺自適應”蟀俊,因為它可以很好地適應所運行的任何平臺。
如果您想了解如何使自己的應用程序平臺具有適應性矛洞,可以查看Folio的源代碼烫映。將來,期望找到能夠更深入地探討該主題的文檔和代碼實驗室抽兆。同時族淮,請查看Alo?sDeniel關(guān)于該主題的出色博客文章和視頻。
Google Mobile Ads to Beta
除了Flutter桌面版移至測試版贴妻,今天我們很高興地宣布Flutter的Google移動廣告SDK的公開測試版蝙斜。這是一個全新的插件,除了現(xiàn)有的重疊式廣告格式(重疊式橫幅廣告娩鹉,非頁內(nèi)廣告和獎勵視頻廣告)外稚伍,還提供內(nèi)嵌橫幅廣告和原生廣告。該插件統(tǒng)一了對Ad Manager和Admob的支持熙涤,因此困檩,無論您是什么規(guī)模的發(fā)布商,都可以根據(jù)自己的情況量身定制該插件悼沿。
我們一直在與一些早期客戶一起在私人Beta版程序中試用此插件糟趾,其中許多人已成功使用這些新格式啟動了他們的應用程序甚牲。例如蝶柿,Sua Musica(最大的拉丁美洲音樂平臺,面向擁有1.5萬名經(jīng)過驗證的歌手和1000萬MAU的獨立歌手)雏赦,使用適用于Flutter的Google移動廣告SDK推出了其新的Flutter應用芙扎。他們發(fā)現(xiàn)印象數(shù)增加了350%,點擊率增加了43%戒洼,eCPM增加了13%。
該插件今天可供您使用寥掐。作為Flutter Engage的一部分汉额,Andrew Brogdon和Zoey Fan做了一個關(guān)于“使用Flutter進行應用獲利”的會議(可在Flutter Engage網(wǎng)站上找到)榨汤,他們在其中討論了使用Flutter構(gòu)建的應用的獲利策略收壕,以及如何在自己的廣告中加載廣告Flutter應用。此外蜜宪,我們在flutter.dev上創(chuàng)建了一個新的Ads頁面圃验,您可以在其中找到所有有用的資源,例如插件實施指南澳窑,內(nèi)嵌橫幅和原生廣告代碼實驗室,以及重疊橫幅摊聋,非頁內(nèi)廣告和獎勵視頻廣告代碼實驗室鸡捐。請確保將其簽出!
新的iOS功能
僅僅因為我們正在繼續(xù)提高對其他平臺的支持質(zhì)量麻裁,所以不要以為我們忘記了iOS箍镜。實際上源祈,此版本帶來了與iOS相關(guān)的178個PR合并,包括23495(將狀態(tài)恢復帶到iOS)色迂,67781(它滿足了長期存在的直接從命令行構(gòu)建IPA而無需打開Xcode的要求)的要求香缺,以及69809,更新了CocoaPods版本以匹配最新工具歇僧。此外赫悄,Cupertino設(shè)計語言實現(xiàn)中還添加了一些iOS小部件。
新的CupertinoSearchTextField提供了iOS搜索欄UI馏慨。
該CupertinoFormSection,CupertinoFormRow和CupertinoTextFormFieldRow部件更容易產(chǎn)生與iOS的分段式視覺美學驗證表單字段写隶。
除了適用于iOS的功能外倔撞,在著色器和動畫方面,我們還將繼續(xù)總體上研究iOS和Flutter的性能改進慕趴。iOS仍然是Flutter的主要平臺痪蝇,我們將繼續(xù)努力帶來重要的新功能和性能改進。
新的小部件:自動完成和ScaffoldMessenger
此版本的Flutter附帶了兩個附加的新小部件冕房,即AutocompleteCore和ScaffoldMessenger躏啰。AutocompleteCore表示將自動完成功能納入Flutter應用程序所需的最小功能。
自動完成是Flutter經(jīng)常需要的功能耙册,因此此版本開始提供此功能给僵。您今天就可以使用它,但是如果您對完整功能的設(shè)計感到好奇详拙,請查看自動完成設(shè)計文檔帝际。
同樣稳其,創(chuàng)建ScaffoldMessenger來處理許多與SnackBar相關(guān)的問題耿戚,包括能夠輕松創(chuàng)建SnackBar以響應AppBar動作镇匀,創(chuàng)建SnackBars以在Scaffold過渡之間持久存在的功能凄敢,以及能夠在SnackBars完成時顯示SnackBars的能力龄恋。即使用戶已導航到具有其他Scaffold的頁面讹蘑,也將執(zhí)行異步操作启上。
所有這些優(yōu)點可以從現(xiàn)在開始使用幾行代碼來顯示SnackBars:
最終使者= ScaffoldMessenger.of(context);
messenger.showSnackBar(SnackBar(content:Text('I can fly就漾。'))));
正如您可能想象的那樣矿微,還有更多的東西痕慢。有關(guān)詳細信息,請在ScaffoldMessenger上觀看Kate Lovett的精彩視頻冷冗。
具有Add-to-App的多個Flutter實例
從與許多Flutter開發(fā)人員的交談中我們了解到守屉,您中的許多人沒有啟動全新應用程序的奢侈心意,但您可以通過將Flutter添加到現(xiàn)有的iOS和Android應用程序中來利用Flutter蒿辙。此功能稱為Add-to-App拇泛,是在兩個移動平臺上重用Flutter代碼同時仍保留現(xiàn)有本機代碼庫的絕佳方法滨巴。但是,對于您中的那些人俺叭,我們有時會聽到恭取,不清楚如何將第一個屏幕集成到Flutter中。將Flutter和本機屏幕交織在一起使導航狀態(tài)難以維護熄守,并且在視圖級別集成多個Flutter會占用大量內(nèi)存蜈垮。
過去,其他Flutter實例的存儲成本與第一個實例相同裕照。在Flutter 2中攒发,我們將創(chuàng)建額外的Flutter引擎的靜態(tài)內(nèi)存成本降低了約99%,每個實例約為180kB晋南。
支持此功能的新API可以在beta通道上預覽惠猿,并在flutter.dev上進行了記錄,以及一系列演示此新模式的示例項目负间。通過此更改偶妖,我們不再猶豫建議在本機應用程序中創(chuàng)建Flutter引擎的多個實例。
顫振修復
每當任何框架成熟并使用越來越多的代碼庫聚集用戶時政溃,隨著時間的推移趾访,趨勢就是避免對框架API進行任何更改,以避免破壞越來越多的代碼行董虱。Flutter 2擁有超過500,000個Flutter開發(fā)人員扼鞋,涉及的平臺數(shù)量越來越多,因此它很快就屬于這一類空扎。但是藏鹊,為了使我們能夠隨著時間的推移不斷改進Flutter,我們希望能夠?qū)PI進行重大更改转锈。問題是,如何在不中斷開發(fā)人員的情況下繼續(xù)改進Flutter API楚殿?
我們的答案是Flutter Fix撮慨。
Flutter Fix是事物的組合。首先脆粥,dartCLI工具有一個新的命令行選項砌溺,名為dart fix,它知道在哪里可以查找已棄用的API列表以及如何使用這些API更新代碼变隔。其次规伐,它是可用修補程序本身的列表,與版本2捆綁在一起匣缘。最后猖闪,它是針對VS Code鲜棠,IntelliJ和Android Studio IDE的更新的Flutter擴展集,它們知道如何公開相同的內(nèi)容培慌』砺剑可用的修復程序列表,如帶小燈泡的快速修復程序吵护,可幫助您單擊鼠標來更改代碼盒音。
舉例來說,假設(shè)您的應用中包含以下代碼行:
使用不推薦使用的參數(shù)創(chuàng)建Flutter小部件
由于不贊成使用此構(gòu)造函數(shù)的參數(shù)馅而,因此應將其替換為以下內(nèi)容:
創(chuàng)建一個Flutter小部件祥诽,其中不推薦使用的參數(shù)已替換
即使您熟悉所有Flutter的棄用,您在代碼中必須進行的更改數(shù)量也就越大瓮恭,應用所有修補程序的難度就越大原押,并且更容易出錯。人類在這類重復性任務(wù)上并不擅長偎血。但是計算機是诸衔;通過執(zhí)行以下命令,您可以看到我們知道如何在整個項目中進行的所有修復:
$飛鏢修復-空運行
如果您想批量應用它們颇玷,可以輕松地這樣做:
$飛鏢修復-應用
或者笨农,如果您想在自己喜歡的IDE中以交互方式應用這些修補程序,也可以這樣做帖渠。
多年來谒亦,我們一直在將舊的API標記為已棄用,但是現(xiàn)在有了關(guān)于何時刪除實際已棄用的API的政策空郊,F(xiàn)lutter 2是我們第一次這樣做份招。即使我們尚未捕獲所有已棄用的API作為數(shù)據(jù)來提供Flutter Fix,我們?nèi)詫⒗^續(xù)從先前已棄用的API中添加更多信息狞甚,并將在未來的重大更改中繼續(xù)這樣做锁摔。我們的目標是盡最大努力使Flutter的API達到最佳狀態(tài),同時還要使您的代碼保持最新哼审。
Flutter DevTools
為了清楚說明DevTools是用于調(diào)試Flutter應用程序的工具谐腰,我們在調(diào)試Flutter應用程序時將其重命名為Flutter DevTools。此外涩盾,我們還做了很多工作十气,以使其達到Flutter 2的生產(chǎn)質(zhì)量。
一項即使在您啟動DevTools之前也可以幫助您解決問題的新功能是春霍,Android Studio砸西,IntelliJ或Visual Studio Code能夠在出現(xiàn)常見異常時發(fā)出通知,并提供將其引入DevTools中以幫助您調(diào)試的功能它。例如芹枷,以下內(nèi)容顯示您的應用程序中已引發(fā)溢出異常衅疙,該異常會在Visual Studio Code中彈出一個選項,用于調(diào)試DevTools中的問題杖狼。
Flutter IDE擴展會在您的應用引發(fā)布局溢出異常時發(fā)出通知
按下該按鈕可將您帶到出現(xiàn)問題的小部件上的DevTools中的Flutter Inspector炼蛤,因此您可以對其進行修復。今天蝶涩,我們僅針對布局溢出異常執(zhí)行此操作理朋,但我們的計劃是針對所有常見異常提供這種處理,DevTools可以解決這些異常绿聘。
一旦運行了DevTools嗽上,選項卡上的新錯誤標記將幫助您跟蹤應用程序中的特定問題。
DevTools中的紅點可幫助您專注于出現(xiàn)錯誤的應用程序部分
DevTools的另一個新功能是能夠輕松查看分辨率比顯示的圖像高的圖像熄攘,這有助于跟蹤過多的應用程序大小和內(nèi)存使用情況兽愤。要啟用此功能,請在Flutter Inspector中啟用“反轉(zhuǎn)超大圖像”挪圾。
啟用“反轉(zhuǎn)超大圖像”選項浅萧,以突出顯示比需要放大的圖像大的圖像。
現(xiàn)在哲思,當您顯示分辨率明顯大于其顯示尺寸的圖像時洼畅,該圖像將上下顛倒顯示,以便在您的應用中輕松查找棚赔。
實際應用中的“反轉(zhuǎn)超大圖像”選項
此外帝簇,根據(jù)大眾的需求,除了在Flutter Inspector的“布局資源管理器”中顯示有關(guān)靈活布局的詳細信息外靠益,我們還添加了顯示固定布局的功能丧肴,使您能夠調(diào)試各種布局。
新的版式資源管理器顯示了固定版式和彈性版式的版式詳細信息
這還不是全部胧后。這只是Flutter DevTools 2中更多新功能的摘要:
在Flutter框架圖中添加了平均FPS信息并提高了可用性
用紅色錯誤標簽在網(wǎng)絡(luò)事件探查器中調(diào)出失敗的網(wǎng)絡(luò)請求
新的內(nèi)存視圖圖表更快芋浮,更小且更易于使用,其中包括用于描述特定時間活動的新懸浮卡绩卤。
將搜索和過濾添加到“日志記錄”選項卡
在啟動DevTools之前跟蹤日志途样,因此啟動時可以查看完整的日志歷史記錄
將“性能”視圖重命名為“ CPU Profiler”,以使其更清楚地提供什么功能
向CPU Profiler火焰圖添加了時序網(wǎng)格
將“時間軸”視圖重命名為“性能”濒憋,以便更清楚地了解其提供的功能
而這還并非全部。對于全套更改陶夜,我建議以下公告:
開發(fā)工具0.9.4
開發(fā)工具0.9.5
開發(fā)工具0.9.6
開發(fā)工具0.9.7
DevTools2.0
Android Studio / IntelliJ擴展
用于IntelliJ系列IDE的Flutter插件也為Flutter 2獲得了許多新功能凛驮。首先,有一個新的項目向?qū)醣伲cIntelliJ中的新向?qū)邮狡ヅ洹?/p>
另外黔夭,如果您正在Linux上使用IntelliJ或Android Studio對從Snap Store安裝的Flutter SDK進行編程宏胯,則Flutter快照路徑已添加到已知SDK路徑列表中。這使Flutter快照的用戶可以更輕松地在“設(shè)置”中配置Flutter SDK本姥。感謝MarcusTomlinson @的貢獻肩袍!
通過Snap安裝的Flutter SDK,可以更輕松地使用Linux上的Android Studio婚惫。
您可以在公告中閱讀更多有關(guān)最新更新的內(nèi)容:
IntelliJ插件M51
IntelliJ插件M52
IntelliJ插件M53
IntelliJ插件M54
Visual Studio代碼擴展
Visual Studio Code的Flutter擴展也對Flutter 2進行了改進氛赐,從許多測試增強功能開始,包括重新運行僅失敗的測試的功能先舷。
經(jīng)過兩年的開發(fā)艰管,對Dart的LSP(語言服務(wù)器協(xié)議)支持現(xiàn)已作為默認方式提供給Dart分析器,以將其集成到Flutter擴展的Visual Studio Code中蒋川。LSP支持對Flutter開發(fā)進行了許多改進牲芋,包括能夠在當前Dart文件中應用某種類型的所有修復程序,并使代碼完成生成完整的函數(shù)調(diào)用(包括括號和必需的參數(shù))的功能捺球。
LSP的支持不僅限于Dart缸浦。它還支持pubspec.yaml和analysis_options.yaml文件中的代碼完成。
這些只是Flutter的Visual Studio Code擴展最近獲得的一些更新氮兵。您可以在以下公告中閱讀完整列表:
Visual Studio代碼插件v3.16
Visual Studio代碼插件v3.17
Visual Studio代碼插件v3.18
Visual Studio代碼插件v3.19
Visual Studio代碼插件v3.20
DartPad已更新為支持Flutter 2
如果不提及DartPad裂逐,則該工具更新列表將不完整,而DartPad已更新為支持Flutter 2胆剧。
DartPad已針對Flutter 2更新
現(xiàn)在絮姆,您可以嘗試使用Flutter的新的空安全版本,而無需離開自己喜歡的瀏覽器秩霍。
生態(tài)系統(tǒng)更新
Flutter的開發(fā)經(jīng)驗不僅包含框架和工具篙悯,還包括其他內(nèi)容。它還包括適用于Flutter應用程序的各種軟件包和插件铃绒。自上一次Flutter穩(wěn)定版本發(fā)布以來鸽照,該領(lǐng)域也發(fā)生了很多事情。例如颠悬,在攝像機和video_player插件之間矮燎,已合并了將近30個PR,以大大提高兩者的質(zhì)量赔癌。如果您以前在使用這兩種方法時遇到麻煩诞外,則應該再看一遍;我們認為您會發(fā)現(xiàn)它們更加強大灾票。
另外峡谊,如果你是一個火力地堡的用戶,我們很高興地宣布,最流行的插件已被帶到生產(chǎn)質(zhì)量既们,包括空安全的支持濒析,以及全套的參考文檔和常見的使用教程使用Android,iOS啥纸,網(wǎng)頁号杏,和macOS。這些插件包括:
核
驗證
云消防站
云功能
云消息傳遞
云儲存
速溶藥
另外斯棒,如果您正在尋找應用程序的崩潰報告盾致,則可能需要考慮Sentry,該公司已經(jīng)發(fā)布了適用于Flutter應用程序的新SDK名船。
Sentry崩潰報告工具現(xiàn)在支持Flutter
借助Sentry的Flutter SDK绰上,您可以實時收到在Android,iOS或本機平臺上發(fā)生的錯誤的通知渠驼。您可以在Sentry文檔中查看詳細信息蜈块。
此外,如果您還沒有看到Flutter Community的“ plus”插件迷扇,則需要將其簽出百揭。他們分叉了Flutter團隊最初開發(fā)的許多受歡迎的插件,并添加了null安全支持蜓席,對其他平臺的支持和一整套全新的文檔器一,以及開始修復flutter / plugins存儲庫中的適當問題。該插件包括以下內(nèi)容:
Android鬧鐘+
Android Intent +
電池+
連通性+
設(shè)備信息+
網(wǎng)絡(luò)信息+
套餐信息+
傳感器+
分享+
此時厨内,與Flutter兼容的軟件包和插件集的數(shù)量超過15,000祈秕,這使得很難找到您應該首先考慮的軟件包和插件。因此雏胃,我們會發(fā)布發(fā)布點數(shù)(靜態(tài)分析得分)请毛,受歡迎程度,喜歡度瞭亮,并且方仿,對于特別高的質(zhì)量,會發(fā)布那些特別標記為Flutter Favorite的包裝统翩。為了及時應對Flutter 2仙蚜,我們在收藏夾列表中添加了幾個新軟件包:
animation_text_kit
bottom_navy_bar
斬波器
font_awesome_flutter
flutter_local_notifications
just_audio
恭喜這些軟件包的作者!如果您尚未簽出它們厂汗,或者尚未列出列表中的其余軟件包委粉,則應該這樣做。
最后但并非最不重要的一點是娶桦,對于對軟件包的最新版本是否適用于Flutter的最新版本感興趣的軟件包作者或軟件包用戶艳丛,您將需要訪問Codemagic的新pub.green網(wǎng)站匣掸。
Codemagic的新pub.green網(wǎng)站顯示了最新Flutter版本與頂級軟件包的兼容性
pub.green網(wǎng)站測試了pub.dev上可用的Flutter和Dart軟件包與不同F(xiàn)lutter版本的兼容性趟紊。將其視為Flutter的“我可以使用”氮双。有關(guān)更多詳細信息,我建議CodeMagic團隊發(fā)布公告博客霎匈。
重大變化
我們對Flutter 2進行了以下重大更改戴差,其中許多可以使用dart fix命令或所選IDE中的快速修復程序自動緩解:
61366繼續(xù)剪輯行為更改
66700默認FittedBox的clipBehavior為無
68905從Cupertino顏色分辨率API刪除nullOk參數(shù)
69808從Scaffold.of和ScaffoldMessenger.of刪除nullOk,為兩者創(chuàng)建
68910從Router.of中刪除nullOk參數(shù)铛嘱,并使其返回不可為空的值
68911添加maybeLocaleOf到本地化
68736在Media.queryOf刪除nullOK
68917從Focus.of暖释,F(xiàn)ocusTraversalOrder.of和FocusTraversalGroup.of中刪除nullOk參數(shù)
68921從Shortcuts.of,Actions.find和Actions.handler中刪除nullOk參數(shù)
68925從AnimatedList.of和SliverAnimatedList.of中刪除nullOk參數(shù)
69620從BuildContex中刪除不贊成使用的方法
70726從Navigator.of中刪除nullOk參數(shù)墨吓,并添加Navigator.maybeOft
72017刪除不推薦使用的CupertinoTextThemeData.brightness
72395.從HoverEvent中刪除不建議使用的[PointerEnterEvent球匕,PointerExitEvent]。
72532刪除不建議使用的showDialog.child
72890刪除不推薦使用的Scaffold.resizeToAvoidBottomPadding
72893刪除不贊成使用的WidgetsBinding帖烘。[deferFirstFrameReport亮曹,allowFirstFrameReport]
72901刪除不推薦使用的StatefulElement.inheritFromElement
72903刪除不推薦使用的Element方法
73604刪除不建議使用的CupertinoDialog
73745從庫比蒂諾[Sliver] NavigationBar刪除不贊成使用的actionForegroundColor
73746刪除不贊成使用的ButtonTheme.bar
73747刪除跨度棄用
73748刪除棄用的RenderView.scheduleInitialFrame
73749刪除不贊成使用的Layer.findAll
75657從Localizations.localeOf刪除殘留的nullOk參數(shù)
74680從Actions.invoke刪除nullOk,添加Actions.maybeInvoke
概括
最后秘症,我們在Google Flutter團隊的所有成員中照卦,我們要說-謝謝。感謝×150,000乡摹,在過去兩年中役耕,社區(qū)中推出了超過150,000個Flutter應用程序。萬一您錯過了它聪廉,我們會在Flutter Engage主題演講的開幕式中播放針對社區(qū)的Mashup Video瞬痘,其中匯集了一些我們最喜歡的Flutter應用程序。
最后給上官方博客?https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65