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