原文發(fā)布在開(kāi)發(fā)者技術(shù)前線
就在去年的12月低 ,F(xiàn)lutter 的產(chǎn)品經(jīng)理 Tim Sneath 在官方的 Wiki 頁(yè)面更新了這份 Roadmap 文檔,
原文 Wiki 地址 https://github.com/flutter/flutter/wiki/Roadmap**
2019 Flutter 的計(jì)劃
Flutter 1.2 發(fā)布,帶來(lái)全新的 Web 開(kāi)發(fā)工具, 對(duì)我們來(lái)說(shuō)是一個(gè)很重要的起點(diǎn),長(zhǎng)路漫漫,我們?nèi)杂泻芏喙ぷ饕觥_@里我們向大家公開(kāi)我們的產(chǎn)品路線圖(Roadmap)規(guī)劃,一方面是保持開(kāi)源項(xiàng)目的透明度,同時(shí)開(kāi)發(fā)者們也可以通過(guò)我們的工作優(yōu)先級(jí)以制定更適合的工程方案。
以下幾點(diǎn)是我們今年會(huì)著重關(guān)注的:
核心和基礎(chǔ)
易用性
生態(tài)系統(tǒng)
支持移動(dòng)端之外的平臺(tái)
動(dòng)態(tài)更新
工具鏈
我們的計(jì)劃會(huì)根據(jù)大家的反饋以及新的市場(chǎng)變化來(lái)做調(diào)整,這份路線圖里的內(nèi)容不盡然是我們一定會(huì)完成的工作。如果你有任何反饋,我們鼓勵(lì)你通過(guò) Issuse,或者在我們的郵件群組等與我們保持聯(lián)系。Flutter 是一個(gè)開(kāi)源項(xiàng)目,我們鼓勵(lì)你參與到我們當(dāng)中來(lái)。
版本發(fā)布
使用 Flutter 的開(kāi)發(fā)者們可以選擇一個(gè)「頻道」來(lái)「接收」我們的版本更新和變化,我們目前有四個(gè)頻道:master、dev、beta 和 stable,質(zhì)量和穩(wěn)定性從前向后依次遞增,發(fā)布速度當(dāng)然也會(huì)是依次相對(duì)放緩。
我們計(jì)劃每個(gè)月發(fā)布一個(gè) beta 頻道的版本,這個(gè)發(fā)布通常會(huì)是在月初,全年會(huì)在 stable 頻道發(fā)布四個(gè)較大的“正式”版本發(fā)布。在生產(chǎn)環(huán)境里,我們建議開(kāi)發(fā)者們使用 stable 頻發(fā)布的 Flutter 版本。如果你想了解更多關(guān)于我們的版本發(fā)布流程,可以查看 發(fā)布流程 這篇 Wiki。
關(guān)注領(lǐng)域
核心和基礎(chǔ)
我們的首要任務(wù)依然是為 Flutter 現(xiàn)有的核心和基礎(chǔ)添磚加瓦:
修復(fù) Bug:Bug 修復(fù)的優(yōu)先級(jí)主要是基于 Issue 下的互動(dòng)數(shù)量,比如 GitHub 自帶的一些針對(duì) Issue 的表情互動(dòng),點(diǎn)贊等;
性能調(diào)優(yōu):包括減少內(nèi)存、引擎占用空間(包大?。?,提高幀率等。如果開(kāi)發(fā)者們有特別的性能基準(zhǔn)要求,可以通過(guò) devicelab 測(cè)試數(shù)據(jù)給我們看一下;
改進(jìn) Flutter 測(cè)試流程:以確保為開(kāi)發(fā)者們提供穩(wěn)定的版本構(gòu)建不會(huì)出現(xiàn)版本回歸;
改進(jìn)錯(cuò)誤消息提醒:通過(guò) Google 用戶(hù)研究(User Research)團(tuán)隊(duì)的工作,使錯(cuò)誤提醒更具備可操作性以及包含一些常見(jiàn)的解決方案;
API 文檔改進(jìn):特別是提供示例代碼和圖表等,讓我們的 API 文檔更易用。
易用性
為新晉使用 Flutter 的開(kāi)發(fā)者清掃絆腳石,如:
完善和滿足希望使用混合工程,即將 Flutter 應(yīng)用于現(xiàn)有工程項(xiàng)目的開(kāi)發(fā)者們的需求,如提供新的插件模板和 Android 內(nèi)嵌 API;
更新 Flutter 官方文檔以提供更詳盡的文檔和使用教程;
在 Flutter 應(yīng)用里管理 state 的最佳實(shí)踐;
更好的幫助 iOS 開(kāi)發(fā)者:投入時(shí)間持續(xù)更新和維護(hù)我們的 Cupertino widgets;
在非完整工具鏈和運(yùn)行環(huán)境下更容易體驗(yàn)和使用 Flutter。
生態(tài)系統(tǒng)
在 Flutter,生態(tài)系統(tǒng)意味著使用 Flutter 的開(kāi)發(fā)者們可以便捷地完成任何他們想做的事情,甚至在 Flutter 框架不提供提供開(kāi)箱即用支持的情況下。我們花費(fèi)大量的精力在工具和基礎(chǔ)設(shè)施建設(shè)的工作,以支持圍繞著核心 Flutter 技術(shù)而蓬勃發(fā)展的生態(tài)系統(tǒng)。Google 也會(huì)投入時(shí)間開(kāi)發(fā)插件和工具來(lái)貢獻(xiàn)這個(gè)生態(tài)。
2019 年我們會(huì)特別關(guān)注的生態(tài)系統(tǒng)建設(shè)工作:
更好的 C/C++ 庫(kù)支持,包括從 Dart 到 C 或 C++ 之間的相互調(diào)用;
推進(jìn)官方開(kāi)發(fā) / 維護(hù)的 Packages(調(diào)用原生系統(tǒng)的插件和純 Dart Package)達(dá)到與核心框架代碼相同的質(zhì)量和完整性;
在 iOS 和 Android 上完成地圖和 WebView 插件的開(kāi)發(fā);
確保 Flutter 應(yīng)用可以使用一些谷歌服務(wù),比如應(yīng)用內(nèi)支付和 YouTube;
提供本地推送通知和本地?cái)?shù)據(jù)存儲(chǔ)的支持。
移動(dòng)端之外的支持
我們將繼續(xù)把 Flutter 拓展到更多形態(tài)的終端,以實(shí)現(xiàn)我們的目標(biāo):構(gòu)建一個(gè)便攜 UI 工具包,在任何需要的地方畫(huà)出每一幀像素。
更好的支持鍵盤(pán)和鼠標(biāo)的輸入;
完善可以讓 Flutter 可以運(yùn)行在 Web 平臺(tái)的 Hummingbird 項(xiàng)目;
繼續(xù)嘗試讓 Flutter 運(yùn)行在桌面級(jí)的平臺(tái)之上(如 macOS 和 Windows)。
動(dòng)態(tài)更新
Dart 語(yǔ)言平臺(tái)為 Flutter 應(yīng)用開(kāi)發(fā)提供了熱重載(Hot Reload)的特性,讓開(kāi)發(fā)者們無(wú)需重新部署就可以把代碼推送到應(yīng)用中去。
Android 上的動(dòng)態(tài)修復(fù):讓開(kāi)發(fā)者直接將代碼更新從服務(wù)器推送到 Android 應(yīng)用里;
動(dòng)態(tài)載入:讓?xiě)?yīng)用里不常用的部分延遲加載。
工具鏈
繼續(xù)投入精力支持 Visual Studio Code,Android Studio 和 IntelliJ,使它們能夠作為開(kāi)發(fā) Flutter 的主力 IDE;
增加對(duì) Language Server Protocol 以及其他開(kāi)放協(xié)議的支持;
通過(guò)改進(jìn)開(kāi)發(fā)過(guò)程中的分析、調(diào)試體驗(yàn),讓開(kāi)發(fā)者更簡(jiǎn)單地提高應(yīng)用的整體質(zhì)量和性能;
持續(xù)提升模版的體驗(yàn),讓 Flutter 的上手開(kāi)發(fā)既快又簡(jiǎn)單。