Flutter 1.20 穩(wěn)定版發(fā)布
Flutter 1.20 現(xiàn)已發(fā)布,該版本基于 Dart 編程語言 2.9 版本構(gòu)建,包含了諸多的性能改進(jìn)、多項(xiàng) UI 增強(qiáng)功能、對(duì) Visual Studio Code 擴(kuò)展的更新以及針對(duì)移動(dòng)文本字段的自動(dòng)填充等內(nèi)容。Flutter 1.20 包括來自全球 359 個(gè) 貢獻(xiàn)者的 3,029 個(gè)合并的 PR 和 5,485 個(gè)已解決的問題,是迄今為止所有 Flutter 版本中貢獻(xiàn)數(shù)量最多的。
具體更新內(nèi)容如下:
性能改進(jìn)
? 修復(fù)了 icon font tree shaking 有關(guān)的工具性能問題,并將 font tree shaking 作為構(gòu)建非 Web 應(yīng)用程序時(shí)的默認(rèn)設(shè)置。此功能通過刪除未使用的任何圖標(biāo)來減小應(yīng)用程序的大小。目前僅限于 TrueType 字體,但 Google 表示其將來會(huì)取消這一限制。
? 通過 warm-up 階段來減少動(dòng)畫初始顯示中的混亂。如果 Flutter 應(yīng)用程序在首次運(yùn)行期間出現(xiàn)了不穩(wěn)定的動(dòng)畫,則 Skia Shading Language 著色器將在應(yīng)用程序構(gòu)建過程中提供預(yù)編譯功能,從而可以使其速度提高 2 倍以上。如果想利用此高級(jí)功能,可參見 flutter.dev 上的 SkSL warm-up 頁面。
? 重構(gòu)了鼠標(biāo)命中測試,將基于 Web 的微基準(zhǔn)的性能提高了 15 倍。因此,Google 能夠添加對(duì)鼠標(biāo)光標(biāo)的支持,該鼠標(biāo)光標(biāo)將顯示在幾個(gè)常用的小部件中。
在 Dart 2.9 中提高了 Dart 的 UTF-8 解碼器的解碼速度。在 UTF-8 解碼基準(zhǔn)中,該公司測得在低端 ARM 設(shè)備上英文文本和中文文本的改進(jìn)分別近 200% 和 400%。
自動(dòng)填充移動(dòng)文本字段
在 Flutter 1.20 中,添加了基本的自動(dòng)填充功能,但是不支持某些特定于平臺(tái)的配置(例如 iOS 上的 passwordRules)。同時(shí)還為 Web 帶來了自動(dòng)填充文本字段支持。
InteractiveViewer 小部件
這一個(gè)新的小部件旨在在應(yīng)用程序中構(gòu)建交互式元素,例如平移、縮放、拖放 “n”等等。
Preview of embedded Dart DevTools in Visual Studio Code
添加了一個(gè)新的 Visual Studio Code 擴(kuò)展,該擴(kuò)展將 Dart DevTools 直接帶入 Visual Studio Code 編碼工作區(qū)??梢允褂?dart.previewEmbeddedDevTools 設(shè)置啟用此功能。
其他
Flutter 1.20 中還有引入了許多其他新功能和開發(fā)人員工具。例如:更新了 Slider、RangeSlider、TimePicker 和 DatePicker 小部件;AboutDialog 中提供了一個(gè)新的響應(yīng)式許可頁面;新的 pubspec.yaml 格式要求,用于發(fā)布新的或更新的 Flutter 插件;Dart DevTools 中更新的網(wǎng)絡(luò)頁面,支持 Web 套接字分析;支持在 Visual Studio Code 中移動(dòng)或重命名文件時(shí)自動(dòng)更新導(dǎo)入語句等。
官方表示,F(xiàn)lutter 1.20 是該框架迄今為止最大的版本。他們?nèi)栽谂?shí)現(xiàn)完善的 null 安全支持,新版本的 Ads、Maps 和 WebView 插件,以及更多工具支持等。并致力于提供更好的 Web 和桌面支持,特別是在 Linux 上。