<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【老孟Flutter】Flutter 2 新增的功能

          共 11639字,需瀏覽 24分鐘

           ·

          2021-03-09 10:09


          老孟導(dǎo)讀:昨天期待已久的 Flutter 2.0 終于發(fā)布了, Flutter Web和Null安全性趨于穩(wěn)定,F(xiàn)lutter桌面安全性逐漸轉(zhuǎn)向Beta版!

          原文鏈接:https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65

          今天,我們很高興地宣布Flutter 2的發(fā)布。距離Flutter 1.0的發(fā)布已經(jīng)兩年多了,但是在很短的時(shí)間內(nèi),我們已經(jīng)關(guān)閉了24,541期,并合并了765個(gè)貢獻(xiàn)者的17,039個(gè)PR。自9月Flutter 1.22發(fā)布以來,我們已經(jīng)關(guān)閉了5807期并合并了298位貢獻(xiàn)者的4091個(gè)PR。特別感謝我們的志愿者捐助者,他們慷慨地抽出時(shí)間來改進(jìn)Flutter項(xiàng)目。Flutter 2 release 版本前幾名志愿者貢獻(xiàn)者是xubaolin46個(gè)PR,a14n32個(gè)PR,專注于使Flutter達(dá)到零安全,hamdikahloun具有20個(gè)PR,改善了Flutter插件的數(shù)量。但是,不僅僅是編碼員為Flutter項(xiàng)目做出了貢獻(xiàn)。一大批志愿者PR評(píng)審人員還負(fù)責(zé)評(píng)審1525個(gè)PR,包括hamdikahloun(再次!),CareF和YazeedAlKhalaf(16個(gè)!)。Flutter確實(shí)是社區(qū)的一項(xiàng)工作,如果沒有問題提出者,PR貢獻(xiàn)者和代碼審查者,我們就不可能進(jìn)入第2版。此版本適用于所有人。

          Flutter 2發(fā)行版中發(fā)生了很多令人興奮的事情。有關(guān)Flutter 2和Dart 2.12的新功能以及我們的客戶和合作伙伴如何使用Flutter 2的概述,請(qǐng)參閱宣布Flutter 2。有關(guān)Dart 2.12的詳細(xì)信息,請(qǐng)參閱宣布Dart 2.12。有關(guān)建議在生產(chǎn)中使用的Flutter網(wǎng)站的最佳利用方法,請(qǐng)參閱Flutter網(wǎng)站支持達(dá)到穩(wěn)定的里程碑。

          而且,要了解Flutter 2本身的新功能,請(qǐng)繼續(xù)閱讀!

          Web

          截止到今天,F(xiàn)lutter的Web支持已經(jīng)從Beta過渡到穩(wěn)定渠道。在此初始穩(wěn)定版本中,F(xiàn)lutter在Web平臺(tái)的支持下將代碼的可重用性提高到另一個(gè)層次。因此,現(xiàn)在當(dāng)您穩(wěn)定地創(chuàng)建Flutter應(yīng)用程序時(shí),Web只是該應(yīng)用程序的另一個(gè)設(shè)備目標(biāo)。

          通過利用Web平臺(tái)的眾多優(yōu)勢(shì),F(xiàn)lutter為構(gòu)建豐富的交互式Web應(yīng)用程序奠定了基礎(chǔ)。我們主要專注于性能和渲染保真度的改進(jìn)。除了我們的HTML渲染器之外,我們還添加了一個(gè)新的基于CanvasKit的渲染器。我們還添加了特定于Web的功能,例如Link小部件,以確保在瀏覽器中運(yùn)行的應(yīng)用感覺像Web應(yīng)用。

          在Flutter的Web支持博客文章中找到有關(guān)此穩(wěn)定版本的更多詳細(xì)信息。

          Sound Null Safety

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

          pub.dev軟件包存儲(chǔ)庫(kù)已經(jīng)發(fā)布了1,000多個(gè)空安全軟件包,其中包括Dart,F(xiàn)lutter,F(xiàn)irebase和Material團(tuán)隊(duì)的數(shù)百個(gè)軟件包。如果您是軟件包作者,請(qǐng)查看遷移指南并考慮立即進(jìn)行遷移。

          Desktop

          在此版本中,我們很高興地宣布,F(xiàn)lutter的桌面支持已在穩(wěn)定頻道中以早期版本的標(biāo)志提供。這意味著我們已經(jīng)準(zhǔn)備好讓您嘗試一下它作為Flutter應(yīng)用程序的部署目標(biāo):您可以將其視為“ beta快照”,以預(yù)覽將于今年晚些時(shí)候發(fā)布的最終穩(wěn)定版本。

          為了使Flutter桌面達(dá)到這樣的質(zhì)量,從大小上進(jìn)行了改進(jìn),從確保文本編輯像在每個(gè)受支持的平臺(tái)上的本機(jī)體驗(yàn)一樣開始,包括諸如文本選擇樞軸點(diǎn)的基本功能以及能夠進(jìn)行文本編輯的能力。在處理完鍵盤事件后停止傳播。在鼠標(biāo)輸入端,現(xiàn)在可以立即開始使用高精度定點(diǎn)設(shè)備進(jìn)行拖動(dòng),而不必等待處理觸摸輸入時(shí)所需的延遲。此外,內(nèi)置的上下文菜單已添加到Material和Cupertino設(shè)計(jì)語言的TextField和TextFormField小部件中。最后,添加了抓手 到ReorderableListView小部件。

          作為開發(fā)人員,ReorderableListView總是很擅長(zhǎng)移動(dòng)項(xiàng)目,但是它要求用戶長(zhǎng)按才能啟動(dòng)拖動(dòng)。這在移動(dòng)設(shè)備上很有意義,但是很少有臺(tái)式機(jī)用戶會(huì)想到用鼠標(biāo)長(zhǎng)按某個(gè)項(xiàng)目來移動(dòng)它,因此此版本包括適用于鼠標(biāo)或觸摸輸入的抓握手柄。平臺(tái)慣用功能的另一項(xiàng)改進(jìn)是更新的滾動(dòng)條,該滾動(dòng)條可以正確顯示桌面形狀因素。

          此版本包括一個(gè)更新的Scrollbar小部件,該小部件在桌面環(huán)境中非常有效

          滾動(dòng)條小部件已更新,以提供桌面上預(yù)期的交互功能,包括拖動(dòng)拇指,單擊軌道以上下滾動(dòng)頁(yè)面以及在鼠標(biāo)懸停在鼠標(biāo)的任何部分上時(shí)顯示軌道的功能。滾動(dòng)條。此外,由于Scrollbar是使用新ScrollbarTheme類的主題,因此您可以設(shè)置其樣式以使其與應(yīng)用程序的外觀和風(fēng)格相匹配。

          對(duì)于其他特定于桌面的功能,此版本還啟用了Flutter應(yīng)用程序的命令行參數(shù)處理功能,以便可以使用諸如Windows File Explorer中的數(shù)據(jù)文件雙擊之類的簡(jiǎn)單操作來打開應(yīng)用程序中的文件。我們還努力使Windows和macOS的調(diào)整大小更加流暢,并為國(guó)際用戶啟用IME(輸入法編輯器)。

          圖片發(fā)布

          Flutter桌面現(xiàn)在支持直觀的IME輸入

          此外,我們還提供了更新的文檔,介紹了開始準(zhǔn)備將桌面應(yīng)用程序部署到特定于操作系統(tǒng)的商店時(shí)需要執(zhí)行的操作。試試看,如果我們錯(cuò)過了任何事情,請(qǐng)?zhí)峁┓答仭?/p>

          在嘗試使用Flutter桌面Beta時(shí),您可以通過按預(yù)期方式切換到Beta通道并根據(jù)flutter.dev上的指導(dǎo)為目標(biāo)平臺(tái)設(shè)置配置標(biāo)志來訪問它。此外,我們還制作了穩(wěn)定通道上可用的beta比特的快照。如果您使用“ flutter config”啟用某個(gè)桌面配置設(shè)置(例如enable-macos-desktop),則可以嘗試桌面支持的beta功能,而不必經(jīng)歷漫長(zhǎng)的過程才能轉(zhuǎn)移到beta頻道,刪除Flutter SDK的所有最新Beta版,構(gòu)建工具等。這非常適合嘗試一下或?qū)⒆烂嬷С钟米骱?jiǎn)單的“ Flutter Emulator”。

          但是,如果您選擇停留在穩(wěn)定的頻道上以訪問桌面Beta,則不會(huì)像切換到Beta或dev頻道那樣快地獲得新功能或錯(cuò)誤修復(fù)。因此,如果您正在積極地針對(duì)Windows,macOS或Linux,我們建議您切換到可更快提供更新的渠道。

          當(dāng)我們接近Flutter桌面的第一個(gè)完整的生產(chǎn)質(zhì)量版本時(shí),我們知道我們還有更多工作要做,包括對(duì)與本機(jī)頂級(jí)菜單集成的支持,更像各個(gè)平臺(tái)的體驗(yàn)的文本編輯以及可訪問性支持,以及常規(guī)的錯(cuò)誤修復(fù)和性能增強(qiáng)。如果您認(rèn)為在臺(tái)式機(jī)達(dá)到生產(chǎn)質(zhì)量之前還需要做其他事情,請(qǐng)確保提供您的反饋。

          平臺(tái)自適應(yīng)應(yīng)用程序:Flutter Folio示例

          現(xiàn)在,F(xiàn)lutter 支持生產(chǎn)應(yīng)用三個(gè)平臺(tái)(Android,iOS設(shè)備和Web)和三個(gè)測(cè)試版(在Windows,MacOS和Linux)的,一個(gè)自然的問題是:如何編寫一個(gè)應(yīng)用程序,適應(yīng)本身以及多個(gè)不同尺寸(小,中和大屏幕),不同的輸入模式(觸摸,鍵盤和鼠標(biāo))和不同的習(xí)慣用法(移動(dòng),網(wǎng)絡(luò)和臺(tái)式機(jī))?為了為我們自己以及世界各地的Flutter開發(fā)人員回答此問題,我們委托了Flutter Folio剪貼簿應(yīng)用程序。

          Folio只是一個(gè)簡(jiǎn)單的示例,您希望它可以從一個(gè)代碼庫(kù)在多個(gè)平臺(tái)上很好地運(yùn)行。所謂“好”,是指它在小屏幕,中屏幕和大屏幕上看起來都不錯(cuò),它利用了觸摸,鍵盤和鼠標(biāo)輸入的優(yōu)勢(shì),并且對(duì)于平臺(tái)的慣用語言也很好用(例如,通過使用網(wǎng)絡(luò)上的鏈接和桌面上的菜單)。我們將這種應(yīng)用稱為“平臺(tái)自適應(yīng)”,因?yàn)樗梢院芎玫剡m應(yīng)所運(yùn)行的任何平臺(tái)。

          如果您想了解如何使自己的應(yīng)用程序平臺(tái)具有適應(yīng)性,可以查看Folio的源代碼。將來,期望找到能夠更深入地探討該主題的文檔和代碼實(shí)驗(yàn)室。同時(shí),請(qǐng)查看Alo?sDeniel關(guān)于該主題的出色博客文章和視頻。

          Google Mobile Ads to Beta

          除了Flutter桌面版移至測(cè)試版,今天我們很高興地宣布Flutter的Google移動(dòng)廣告SDK的公開測(cè)試版。這是一個(gè)全新的插件,除了現(xiàn)有的重疊式廣告格式(重疊式橫幅廣告,非頁(yè)內(nèi)廣告和獎(jiǎng)勵(lì)視頻廣告)外,還提供內(nèi)嵌橫幅廣告和原生廣告。該插件統(tǒng)一了對(duì)Ad Manager和Admob的支持,因此,無論您是什么規(guī)模的發(fā)布商,都可以根據(jù)自己的情況量身定制該插件。

          我們一直在與一些早期客戶一起在私人Beta版程序中試用此插件,其中許多人已成功使用這些新格式啟動(dòng)了他們的應(yīng)用程序。例如,Sua Musica(最大的拉丁美洲音樂平臺(tái),面向擁有1.5萬名經(jīng)過驗(yàn)證的歌手和1000萬MAU的獨(dú)立歌手),使用適用于Flutter的Google移動(dòng)廣告SDK推出了其新的Flutter應(yīng)用。他們發(fā)現(xiàn)印象數(shù)增加了350%,點(diǎn)擊率增加了43%,eCPM增加了13%。

          該插件今天可供您使用。作為Flutter Engage的一部分,Andrew Brogdon和Zoey Fan做了一個(gè)關(guān)于“使用Flutter進(jìn)行應(yīng)用獲利”的會(huì)議(可在Flutter Engage網(wǎng)站上找到),他們?cè)谄渲杏懻摿耸褂肍lutter構(gòu)建的應(yīng)用的獲利策略,以及如何在自己的廣告中加載廣告Flutter應(yīng)用。此外,我們?cè)趂lutter.dev上創(chuàng)建了一個(gè)新的Ads頁(yè)面,您可以在其中找到所有有用的資源,例如插件實(shí)施指南,內(nèi)嵌橫幅和原生廣告代碼實(shí)驗(yàn)室,以及重疊橫幅,非頁(yè)內(nèi)廣告和獎(jiǎng)勵(lì)視頻廣告代碼實(shí)驗(yàn)室。請(qǐng)確保將其簽出!

          新的iOS功能

          僅僅因?yàn)槲覀冋诶^續(xù)提高對(duì)其他平臺(tái)的支持質(zhì)量,所以不要以為我們忘記了iOS。實(shí)際上,此版本帶來了與iOS相關(guān)的178個(gè)PR合并,包括23495(將狀態(tài)恢復(fù)帶到iOS),67781(它滿足了長(zhǎng)期存在的直接從命令行構(gòu)建IPA而無需打開Xcode的要求)的要求,以及69809,更新了CocoaPods版本以匹配最新工具。此外,Cupertino設(shè)計(jì)語言實(shí)現(xiàn)中還添加了一些iOS小部件。

          新的CupertinoSearchTextField提供了iOS搜索欄UI。

          圖片發(fā)布

          該CupertinoFormSection,CupertinoFormRow和CupertinoTextFormFieldRow部件更容易產(chǎn)生與iOS的分段式視覺美學(xué)驗(yàn)證表單字段。

          圖片發(fā)布

          除了適用于iOS的功能外,在著色器和動(dòng)畫方面,我們還將繼續(xù)總體上研究iOS和Flutter的性能改進(jìn)。iOS仍然是Flutter的主要平臺(tái),我們將繼續(xù)努力帶來重要的新功能和性能改進(jìn)。

          新的小部件:自動(dòng)完成和ScaffoldMessenger

          此版本的Flutter附帶了兩個(gè)附加的新小部件,即AutocompleteCore和ScaffoldMessenger。AutocompleteCore表示將自動(dòng)完成功能納入Flutter應(yīng)用程序所需的最小功能。


          自動(dòng)完成是Flutter經(jīng)常需要的功能,因此此版本開始提供此功能。您今天就可以使用它,但是如果您對(duì)完整功能的設(shè)計(jì)感到好奇,請(qǐng)查看自動(dòng)完成設(shè)計(jì)文檔。

          同樣,創(chuàng)建ScaffoldMessenger來處理許多與SnackBar相關(guān)的問題,包括能夠輕松創(chuàng)建SnackBar以響應(yīng)AppBar動(dòng)作,創(chuàng)建SnackBars以在Scaffold過渡之間持久存在的功能,以及能夠在SnackBars完成時(shí)顯示SnackBars的能力。即使用戶已導(dǎo)航到具有其他Scaffold的頁(yè)面,也將執(zhí)行異步操作。

          圖片發(fā)布

          所有這些優(yōu)點(diǎn)可以從現(xiàn)在開始使用幾行代碼來顯示SnackBars:

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

          正如您可能想象的那樣,還有更多的東西。有關(guān)詳細(xì)信息,請(qǐng)?jiān)赟caffoldMessenger上觀看Kate Lovett的精彩視頻。

          具有Add-to-App的多個(gè)Flutter實(shí)例

          從與許多Flutter開發(fā)人員的交談中我們了解到,您中的許多人沒有啟動(dòng)全新應(yīng)用程序的奢侈心意,但您可以通過將Flutter添加到現(xiàn)有的iOS和Android應(yīng)用程序中來利用Flutter。此功能稱為Add-to-App,是在兩個(gè)移動(dòng)平臺(tái)上重用Flutter代碼同時(shí)仍保留現(xiàn)有本機(jī)代碼庫(kù)的絕佳方法。但是,對(duì)于您中的那些人,我們有時(shí)會(huì)聽到,不清楚如何將第一個(gè)屏幕集成到Flutter中。將Flutter和本機(jī)屏幕交織在一起使導(dǎo)航狀態(tài)難以維護(hù),并且在視圖級(jí)別集成多個(gè)Flutter會(huì)占用大量?jī)?nèi)存。

          過去,其他Flutter實(shí)例的存儲(chǔ)成本與第一個(gè)實(shí)例相同。在Flutter 2中,我們將創(chuàng)建額外的Flutter引擎的靜態(tài)內(nèi)存成本降低了約99%,每個(gè)實(shí)例約為180kB。


          支持此功能的新API可以在beta通道上預(yù)覽,并在flutter.dev上進(jìn)行了記錄,以及一系列演示此新模式的示例項(xiàng)目。通過此更改,我們不再猶豫建議在本機(jī)應(yīng)用程序中創(chuàng)建Flutter引擎的多個(gè)實(shí)例。

          Flutter修復(fù)

          每當(dāng)任何框架成熟并使用越來越多的代碼庫(kù)聚集用戶時(shí),隨著時(shí)間的推移,趨勢(shì)就是避免對(duì)框架API進(jìn)行任何更改,以避免破壞越來越多的代碼行。Flutter 2擁有超過500,000個(gè)Flutter開發(fā)人員,涉及的平臺(tái)數(shù)量越來越多,因此它很快就屬于這一類。但是,為了使我們能夠隨著時(shí)間的推移不斷改進(jìn)Flutter,我們希望能夠?qū)PI進(jìn)行重大更改。問題是,如何在不中斷開發(fā)人員的情況下繼續(xù)改進(jìn)Flutter API?

          我們的答案是Flutter Fix。

          Flutter Fix是事物的組合。首先,dartCLI工具有一個(gè)新的命令行選項(xiàng),名為dart fix,它知道在哪里可以查找已棄用的API列表以及如何使用這些API更新代碼。其次,它是可用修補(bǔ)程序本身的列表,與版本2捆綁在一起。最后,它是針對(duì)VS Code,IntelliJ和Android Studio IDE的更新的Flutter擴(kuò)展集,它們知道如何公開相同的內(nèi)容。可用的修復(fù)程序列表,如帶小燈泡的快速修復(fù)程序,可幫助您單擊鼠標(biāo)來更改代碼。

          舉例來說,假設(shè)您的應(yīng)用中包含以下代碼行:

          使用不推薦使用的參數(shù)創(chuàng)建Flutter小部件

          由于不贊成使用此構(gòu)造函數(shù)的參數(shù),因此應(yīng)將其替換為以下內(nèi)容:

          圖片發(fā)布

          創(chuàng)建一個(gè)Flutter小部件,其中不推薦使用的參數(shù)已替換

          即使您熟悉所有Flutter的棄用,您在代碼中必須進(jìn)行的更改數(shù)量也就越大,應(yīng)用所有修補(bǔ)程序的難度就越大,并且更容易出錯(cuò)。人類在這類重復(fù)性任務(wù)上并不擅長(zhǎng)。但是計(jì)算機(jī)是;通過執(zhí)行以下命令,您可以看到我們知道如何在整個(gè)項(xiàng)目中進(jìn)行的所有修復(fù):

          $ dart fix --dry-run

          如果您想批量應(yīng)用它們,可以輕松地這樣做:

          $ dart fix --apply

          或者,如果您想在自己喜歡的IDE中以交互方式應(yīng)用這些修補(bǔ)程序,也可以這樣做。

          圖片發(fā)布

          多年來,我們一直在將舊的API標(biāo)記為已棄用,但是現(xiàn)在有了關(guān)于何時(shí)刪除實(shí)際已棄用的API的政策,F(xiàn)lutter 2是我們第一次這樣做。即使我們尚未捕獲所有已棄用的API作為數(shù)據(jù)來提供Flutter Fix,我們?nèi)詫⒗^續(xù)從先前已棄用的API中添加更多信息,并將在未來的重大更改中繼續(xù)這樣做。我們的目標(biāo)是盡最大努力使Flutter的API達(dá)到最佳狀態(tài),同時(shí)還要使您的代碼保持最新。

          Flutter DevTools

          為了清楚說明DevTools是用于調(diào)試Flutter應(yīng)用程序的工具,我們?cè)谡{(diào)試Flutter應(yīng)用程序時(shí)將其重命名為Flutter DevTools。此外,我們還做了很多工作,以使其達(dá)到Flutter 2的生產(chǎn)質(zhì)量。

          一項(xiàng)即使在您啟動(dòng)DevTools之前也可以幫助您解決問題的新功能是,Android Studio,IntelliJ或Visual Studio Code能夠在出現(xiàn)常見異常時(shí)發(fā)出通知,并提供將其引入DevTools中以幫助您調(diào)試的功能它。例如,以下內(nèi)容顯示您的應(yīng)用程序中已引發(fā)溢出異常,該異常會(huì)在Visual Studio Code中彈出一個(gè)選項(xiàng),用于調(diào)試DevTools中的問題。

          圖片發(fā)布

          Flutter IDE擴(kuò)展會(huì)在您的應(yīng)用引發(fā)布局溢出異常時(shí)發(fā)出通知

          按下該按鈕可將您帶到出現(xiàn)問題的小部件上的DevTools中的Flutter Inspector,因此您可以對(duì)其進(jìn)行修復(fù)。今天,我們僅針對(duì)布局溢出異常執(zhí)行此操作,但我們的計(jì)劃是針對(duì)所有常見異常提供這種處理,DevTools可以解決這些異常。

          一旦運(yùn)行了DevTools,選項(xiàng)卡上的新錯(cuò)誤標(biāo)記將幫助您跟蹤應(yīng)用程序中的特定問題。

          圖片發(fā)布

          DevTools中的紅點(diǎn)可幫助您專注于出現(xiàn)錯(cuò)誤的應(yīng)用程序部分

          DevTools的另一個(gè)新功能是能夠輕松查看分辨率比顯示的圖像高的圖像,這有助于跟蹤過多的應(yīng)用程序大小和內(nèi)存使用情況。要啟用此功能,請(qǐng)?jiān)贔lutter Inspector中啟用“反轉(zhuǎn)超大圖像”。

          圖片發(fā)布

          啟用“反轉(zhuǎn)超大圖像”選項(xiàng),以突出顯示比需要放大的圖像大的圖像。

          現(xiàn)在,當(dāng)您顯示分辨率明顯大于其顯示尺寸的圖像時(shí),該圖像將上下顛倒顯示,以便在您的應(yīng)用中輕松查找。

          圖片發(fā)布

          實(shí)際應(yīng)用中的“反轉(zhuǎn)超大圖像”選項(xiàng)

          此外,根據(jù)大眾的需求,除了在Flutter Inspector的“布局資源管理器”中顯示有關(guān)靈活布局的詳細(xì)信息外,我們還添加了顯示固定布局的功能,使您能夠調(diào)試各種布局。

          圖片發(fā)布

          新的版式資源管理器顯示了固定版式和彈性版式的版式詳細(xì)信息

          這還不是全部。這只是Flutter DevTools 2中更多新功能的摘要:

          • 在Flutter框架圖中添加了平均FPS信息并提高了可用性
          • 用紅色錯(cuò)誤標(biāo)簽在網(wǎng)絡(luò)事件探查器中調(diào)出失敗的網(wǎng)絡(luò)請(qǐng)求
          • 新的內(nèi)存視圖圖表更快,更小且更易于使用,其中包括用于描述特定時(shí)間活動(dòng)的新懸浮卡。
          • 將搜索和過濾添加到“日志記錄”選項(xiàng)卡
          • 在啟動(dòng)DevTools之前跟蹤日志,因此啟動(dòng)時(shí)可以查看完整的日志歷史記錄
          • 將“性能”視圖重命名為“ CPU Profiler”,以使其更清楚地提供什么功能
          • 向CPU Profiler火焰圖添加了時(shí)序網(wǎng)格
          • 將“時(shí)間軸”視圖重命名為“性能”,以便更清楚地了解其提供的功能

          而這并非全部。對(duì)于全套更改,我建議以下公告:

          • 開發(fā)工具0.9.4
          • 開發(fā)工具0.9.5
          • 開發(fā)工具0.9.6
          • 開發(fā)工具0.9.7
          • DevTools 2.0

          Android Studio / IntelliJ擴(kuò)展

          用于IntelliJ系列IDE的Flutter插件也為Flutter 2獲得了許多新功能。首先,有一個(gè)新的項(xiàng)目向?qū)ВcIntelliJ中的新向?qū)邮狡ヅ洹?/p>

          圖片發(fā)布
          圖片發(fā)布

          另外,如果您正在Linux上使用IntelliJ或Android Studio對(duì)從Snap Store安裝的Flutter SDK進(jìn)行編程,則Flutter快照路徑已添加到已知SDK路徑列表中。這使Flutter快照的用戶可以更輕松地在“設(shè)置”中配置Flutter SDK。感謝MarcusTomlinson @的貢獻(xiàn)!

          圖片發(fā)布

          通過Snap安裝的Flutter SDK,可以更輕松地使用Linux上的Android Studio。

          您可以在公告中閱讀更多有關(guān)最新更新的內(nèi)容:

          • IntelliJ插件M51
          • IntelliJ插件M52
          • IntelliJ插件M53
          • IntelliJ插件M54

          Visual Studio代碼擴(kuò)展

          Visual Studio Code的Flutter擴(kuò)展也對(duì)Flutter 2進(jìn)行了改進(jìn),從許多測(cè)試增強(qiáng)功能開始,包括重新運(yùn)行僅失敗的測(cè)試的功能。

          圖片發(fā)布

          經(jīng)過兩年的開發(fā),對(duì)Dart的LSP(語言服務(wù)器協(xié)議)支持現(xiàn)已作為默認(rèn)方式提供給Dart分析器,以將其集成到Flutter擴(kuò)展的Visual Studio Code中。LSP支持對(duì)Flutter開發(fā)進(jìn)行了許多改進(jìn),包括能夠在當(dāng)前Dart文件中應(yīng)用某種類型的所有修復(fù)程序,并使代碼完成生成完整的函數(shù)調(diào)用(包括括號(hào)和必需的參數(shù))的功能。

          圖片發(fā)布
          圖片發(fā)布

          LSP的支持不僅限于Dart。它還支持pubspec.yamlanalysis_options.yaml文件中的代碼完成。

          圖片發(fā)布

          這些只是Flutter的Visual Studio Code擴(kuò)展最近獲得的一些更新。您可以在以下公告中閱讀完整列表:

          • 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。

          圖片發(fā)布

          DartPad已針對(duì)Flutter 2更新

          現(xiàn)在,您可以嘗試使用Flutter的新的空安全版本,而無需離開自己喜歡的瀏覽器。

          生態(tài)系統(tǒng)更新

          Flutter的開發(fā)經(jīng)驗(yàn)不僅包含框架和工具,還包括其他內(nèi)容。它還包括適用于Flutter應(yīng)用程序的各種軟件包和插件。自上一次Flutter穩(wěn)定版本發(fā)布以來,該領(lǐng)域也發(fā)生了很多事情。例如,在攝像機(jī)和video_player插件之間,已合并了將近30個(gè)PR,以大大提高兩者的質(zhì)量。如果您以前在使用這兩種方法時(shí)遇到麻煩,則應(yīng)該再看一遍;我們認(rèn)為您會(huì)發(fā)現(xiàn)它們更加強(qiáng)大。

          另外,如果你是一個(gè)火力地堡的用戶,我們很高興地宣布,最流行的插件已被帶到生產(chǎn)質(zhì)量,包括空安全的支持,以及全套的參考文檔和常見的使用教程使用Android,iOS,網(wǎng)頁(yè),和macOS。這些插件包括:

          • 驗(yàn)證
          • 云消防站
          • 云功能
          • 云消息傳遞
          • 云儲(chǔ)存
          • 速溶藥

          另外,如果您正在尋找應(yīng)用程序的崩潰報(bào)告,則可能需要考慮Sentry,該公司已經(jīng)發(fā)布了適用于Flutter應(yīng)用程序的新SDK。

          圖片發(fā)布

          Sentry崩潰報(bào)告工具現(xiàn)在支持Flutter

          借助Sentry的Flutter SDK,您可以實(shí)時(shí)收到在Android,iOS或本機(jī)平臺(tái)上發(fā)生的錯(cuò)誤的通知。您可以在Sentry文檔中查看詳細(xì)信息。

          此外,如果您還沒有看到Flutter Community的“ plus”插件,則需要將其簽出。他們分叉了Flutter團(tuán)隊(duì)最初開發(fā)的許多受歡迎的插件,并添加了null安全支持,對(duì)其他平臺(tái)的支持和一整套全新的文檔,以及開始修復(fù)flutter / plugins存儲(chǔ)庫(kù)中的適當(dāng)問題。該插件包括以下內(nèi)容:

          • Android鬧鐘+
          • Android Intent +
          • 電池+
          • 連通性+
          • 設(shè)備信息+
          • 網(wǎng)絡(luò)信息+
          • 套餐信息+
          • 傳感器+
          • 分享+

          此時(shí),與Flutter兼容的軟件包和插件集的數(shù)量超過15,000,這使得很難找到您應(yīng)該首先考慮的軟件包和插件。因此,我們會(huì)發(fā)布發(fā)布點(diǎn)數(shù)(靜態(tài)分析得分),受歡迎程度,喜歡度,并且,對(duì)于特別高的質(zhì)量,會(huì)發(fā)布那些特別標(biāo)記為Flutter Favorite的包裝。為了及時(shí)應(yīng)對(duì)Flutter 2,我們?cè)谑詹貖A列表中添加了幾個(gè)新軟件包:

          • animation_text_kit
          • bottom_navy_bar
          • 斬波器
          • font_awesome_flutter
          • flutter_local_notifications
          • just_audio

          恭喜這些軟件包的作者!如果您尚未簽出它們,或者尚未列出列表中的其余軟件包,則應(yīng)該這樣做。

          最后但并非最不重要的一點(diǎn)是,對(duì)于對(duì)軟件包的最新版本是否適用于Flutter的最新版本感興趣的軟件包作者或軟件包用戶,您將需要訪問Codemagic的新pub.green網(wǎng)站。

          圖片發(fā)布

          Codemagic的新pub.green網(wǎng)站顯示了最新Flutter版本與頂級(jí)軟件包的兼容性

          pub.green網(wǎng)站測(cè)試了pub.dev上可用的Flutter和Dart軟件包與不同F(xiàn)lutter版本的兼容性。將其視為Flutter的“我可以使用”。有關(guān)更多詳細(xì)信息,我建議CodeMagic團(tuán)隊(duì)發(fā)布公告博客。

          重大變化

          我們對(duì)Flutter 2進(jìn)行了以下重大更改,其中許多可以使用dart fix命令或所選IDE中的快速修復(fù)程序自動(dòng)緩解:

          • 61366繼續(xù)剪輯行為更改
          • 66700默認(rèn)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從庫(kù)比蒂諾[Sliver] NavigationBar刪除不贊成使用的actionForegroundColor
          • 73746刪除不贊成使用的ButtonTheme.bar
          • 73747刪除跨度棄用
          • 73748刪除棄用的RenderView.scheduleInitialFrame
          • 73749刪除不贊成使用的Layer.findAll
          • 75657從Localizations.localeOf刪除殘留的nullOk參數(shù)
          • 74680從Actions.invoke刪除nullOk,添加Actions.maybeInvoke

          概括

          最后,我們?cè)贕oogle Flutter團(tuán)隊(duì)的所有成員中,我們要說-謝謝。感謝×150,000,在過去兩年中,社區(qū)中推出了超過150,000個(gè)Flutter應(yīng)用程序。萬一您錯(cuò)過了它,我們會(huì)在Flutter Engage主題演講的開幕式中播放針對(duì)社區(qū)的Mashup Video,其中匯集了一些我們最喜歡的Flutter應(yīng)用程序。

          沒有您對(duì)我們所有人正在創(chuàng)造的東西的持續(xù)支持和激動(dòng),就不可能成為世界上最具活力的全球開發(fā)者社區(qū)之一。我們迫不及待想看看您接下來將要做什么。



          你可能還喜歡


          關(guān)注「老孟Flutter」
          讓你每天進(jìn)步一點(diǎn)點(diǎn)


          瀏覽 65
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  污污的视频网站 | 美女考逼网站 | 欧美黄片免费播放 | 日本东京热视频在线播放 | 日韩一级电影网站 |