Flutter 2019 产品路线图
Flutter 1.0的发布对我们来说是一个很重要的起点,不过长路漫漫,我们仍有很多工作要做。
我们向大家公开我们的产品路线图规划,一方面是保持开源项目的透明度,另一方面开发者们也可以参考我们的工作优先级来制定更适合的工程方案。
以下几点我们今年会着重关注:
核心和基础
易用性
生态系统
移动端之外的支持
动态更新
工具链
我们会根据大家的反馈以及新的市场变化来做调整,这份路线图里的内容不尽然是我们一定要完成的工作。如果你有任何反馈,我们鼓励你通过 Issues,或者在我们的邮件群组等与我们保持联系。Flutter 是一个开源项目,我们鼓励你参与到我们当中来。
通过 Issues
https://github.com/flutter/flutter/issues/new/choose
邮件群组
https://groups.google.com/forum/#!forum/flutter-dev
版本发布
使用 Flutter 的开发者们可以选择一个 "频道" 来 "接收" 我们的版本更新和变化 (下统称为 "版本")。我们目前有四个版本: master、dev、beta 和 stable,质量和稳定性从前向后依次递增,发布速度当然也会是依次相对放缓。
我们计划每个月发布一个 beta 版本,这个发布通常会是在月初,全年会发布四个较大的正式 (stable) 版本。在生产环境里,我们建议开发者们 Flutter 的正式版本。如果你想了解更多关于我们的版本发布流程,可以查看发布流程这篇 Wiki。
发布流程
https://github.com/flutter/flutter/wiki/Release-process
关注领域
关注领域
核心和基础
我们的首要任务依然是为 Flutter 现有的核心和基础添砖加瓦
修复 Bug,优先级主要是基于 Issue 下的互动数量,比如 GitHub 自带的一些针对 Issue 的表情互动,点赞等;
性能调优: 包括减少内存、引擎占用空间 (包大小),提高帧率等。如果开发者们有特别的性能基准要求,可以通过 devicelab 测试数据给我们看一下;
改进 Flutter 工程测试流程: 以确保为开发者们提供稳定的版本构建不会出现版本回归;
改进错误消息提醒: 通过 Google 用户研究 (User Research) 团队的工作,使错误提醒更具备可操作性以及包含一些常见的解决方案;
API 文档改进: 特别是提供示例代码和图表等,让我们的 API 文档更易用。
devicelab 测试数据
https://github.com/flutter/flutter/blob/master/dev/devicelab/README.md
易用性
为新晋使用 Flutter 的开发者清扫绊脚石,比如:
完善和满足希望使用混合工程 (将 Flutter 集成到于现有的 Native 工程项目) 的开发者们的需求,如提供新的插件模板和 Android 内嵌 API;
更新 Flutter 官方文档以提供更详尽的文档和使用教程;
在 Flutter 应用里管理 state 的最佳实践;
帮助更多 iOS 开发者: 投入时间持续更新和维护我们的 Cupertino widgets;
在未安装完整工具链和运行环境前更容易体验和使用 Flutter。
将 Flutter 集成到于现有的 Native 工程项目
https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps
生态系统
在 Flutter 中生态系统意味着使用 Flutter 的开发者们可以便捷地完成任何他们想做的事情,甚至在 Flutter 框架不提供提供开箱即用支持的情况下也如此。我们花费了大量的精力在工具和基础设施建设的工作上,以支持围绕着核心 Flutter 技术而蓬勃发展的生态系统。Google 也会投入时间为这个生态系统开发插件和工具。
2019 年我们会特别关注的生态系统建设工作:
更好的 C/C++ 库支持,包括从 Dart 到 C 或 C++ 之间的相互调用;
推进官方开发 / 维护的 Packages (调用原生系统的插件和纯 Dart Package) 达到与核心框架代码相同的质量和完整性;
在 iOS 和 Android 上完成地图和 WebView 插件的开发;
确保 Flutter 应用可以使用一些谷歌服务,比如应用内支付和 YouTube;
提供本地推送通知和本地数据存储的支持。
插件
https://github.com/flutter/plugins/tree/master/packages
Dart Package
https://github.com/flutter/packages/tree/master/packages
移动端之外的支持
我们将继续把 Flutter 拓展到更多形态的终端,以实现我们的目标: 构建一个便携 UI 工具包,在任何需要的地方画出每一帧像素。
更好的支持键盘和鼠标的输入;
完善可以让 Flutter 可以运行在 Web 平台的 Hummingbird 项目;
继续尝试让 Flutter 运行在桌面平台之上 (如 macOS 和 Windows)。
动态更新
Dart 语言平台为 Flutter 应用开发提供了热更新 (dynamic updates) 的特性,让开发者们无需重新部署就可以把代码推送到应用中去。
Android 上的动态修复: 让开发者直接将代码更新从服务器推送到 Android 应用里;
动态载入: 让应用里不常用的部分延迟加载。
工具链
继续投入精力支持 Visual Studio Code,Android Studio 和 IntelliJ,使它们能够作为开发 Flutter 的主力 IDE;
增加对 Language Server Protocol 以及其他开放协议的支持;
通过改进开发过程中的分析、调试体验,让开发者更简单地提高应用的整体质量和性能;
持续提升应用模版,让 Flutter 的上手开发既快又简单。
Language Server Protocol
https://langserver.org/
里程碑及计划时间
如果你对我们每个月将会发布什么感兴趣的话,你可以我们 GitHub 上的 milestones 页面查看。计划赶不上变化,我们的里程碑可能会因为某些 Issue 而被改变,所以我们不能保证每个里程碑的确定完成时间。
milestones
https://github.com/flutter/flutter/milestones?direction=asc&sort=due_date&state=open
推荐阅读