1. 程式人生 > >【老孟Flutter】2021 年 Flutter 官方路線圖

【老孟Flutter】2021 年 Flutter 官方路線圖

> **老孟導讀**:這是官方公佈的2021年路線圖,向我們展示了2021年 Flutter 的主要工作及計劃。 > > 原文地址:[https://github.com/flutter/flutter/wiki/Roadmap](https://github.com/flutter/flutter/wiki/Roadmap)。 ### Null safety Flutter 將支援 [Dart 的 sound null safety(空安全)](https://dart.dev/null-safety),並將外掛和軟體包生態系統的遷移擴充套件到支援空安全,包括Flutter團隊直接維護的軟體包和外掛。 在此過程中,Flutter 團隊計劃提供遷移工具,示例和文件,以幫助遷移現有程式碼。 > **Null safety** 已經發布了 beta 版本,2021年將會遷移到穩定版本,此特性有效的避免了**空指標異常**,kotlin 和 swift 中都包含此特性,如果以前接觸過,基本沒有學習成本。 ### Android and iOS 支援從商店增量下載資源和程式碼(受每個平臺的限制),從而允許應用程式的初始下載比完整下載小得多,並可以按需獲取資料。 努力提高將Flutter嵌入Android和iOS上現有應用程式的效能和人體工程學,並減少其開銷。 此外,與往常一樣,我們計劃增加對iOS和Android作業系統新功能的支援。 > 當看到支援增量下載資源和程式碼,我第一想法就是Flutter支援**熱更新**了?然後我又仔仔細細的讀了很多遍,發現並不是**熱更新**,原文中有一個限定條件**從商店(from the stores)**,版本的更新依然依賴應用商店,大概率前期只有 google 的應用商店支援此功能。 > > 後面兩點就是比較常規的效能優化和系統新版本功能的支援。 ### 支援Web and Desktop 我們2021年的目標是,除了iOS和Android外,還為Web,macOS,Windows和Linux提供生產質量的支援,使開發人員可以使用同一SDK在六個不同的平臺上建立應用程式。 特別是對於Web,隨著我們不斷證明Flutter可以在Web上提供高質量的體驗,我們的重點將放在保真度和效能上,而不是新功能上。 對於桌上型電腦,除了確保高質量的體驗外,我們還將在可訪問性層上完成工作,並增加對顯示多個獨立視窗的支援。 > 這個絕對是**最重磅的更新**了,今年 Flutter 釋出Web、macOS、Windows、Linux正式穩定版本(據小道訊息 Flutter 將在今年3月3日,Flutter活動中正式釋出 Web 版本),此時 Flutter 將完成**史無前例的大一統**,個人估計,後半年Flutter將會迎來爆炸式增長。 ### 改善開發人員體驗 我們將繼續致力於優化開發體驗。 - 減少實現Flutter所需的樣板程式碼。 - 研發 Null safety 的遷移工具。 - 研究建立能夠使重大更改更易於開發人員管理的工具,這將使我們能夠對我們擁有的API進行一些長期期望的改進。 ### 生態系統 在2021年,我們將繼續與社群合作開發Flutter-team支援的外掛。 目標是使預發行外掛達到生產質量。 我們還專門計劃對WebView外掛進行重大改進。 ### 質量 我們將基於Flutter的實際應用程式的經驗,努力改善Flutter的記憶體使用率,應用程式下載大小的開銷,執行時效能,電池使用率和耗電量。 這些可能採取引擎或框架修復的形式,以及描述最佳實踐的文件或視訊的形式。 我們還打算改進工具,以幫助除錯有關記憶體使用情況的問題。 此外,我們將繼續處理Bug。 2020年,我們全年解決了17,000多個問題,我們的目標是至少在2021年達到這一水平。 ### 新功能 在2020年,我們主要專注於修復錯誤,而在2021年,我們計劃還新增重要的新功能。 上面列出了一些。 我們還打算對錶格(Table) 進行改進,並引入一些樹(Tree)元件,以支援大量的列,行和/或樹級別,以及跨列或跨行的單元格。 ### 釋出渠道和節奏 Flutter將繼續提供四個“渠道”,分別是:master, dev, beta and stable。 我們計劃每月(通常在本月初)釋出一個beta版本,並在全年中釋出大約四個穩定版本。 我們建議您對釋出給終端使用者的應用程式使用穩定的渠道。 有關釋出過程的更多詳細資訊,請參見[Flutter構建釋出渠道Wiki頁面](https://github.com/flutter/flutter/wiki/Flutter-build-release-channels)。 ## 交流 老孟Flutter部落格(330個控制元件用法+實戰入門系列文章):[http://laomengit.com](http://laomengit.com) 歡迎加入Flutter交流群(微信:laomengit)、關注公眾號【老孟Flutter】: | | | | ----------------------------------------------- | ------------------------------------------------------------ | | ![](https://img2020.cnblogs.com/other/467322/202101/467322-20210114221748848-1686808264.png) | ![](https://img2020.cnblogs.com/other/467322/202101/467322-20210114221749281-1636887459