注:本文件是从 English Version 翻译而来,如有歧义以前者为准。
我们的 Roadmap 通常向前看 8 到 12 个月,我们会确定需要开发的主题。 当我们执行 Roadmap 时,也会不断学习和评估发生变化,基于上述变化我们可能随时添加或删除一些主题。 8 - 12 个月之后,我们才会讨论和制定下一个 Roadmap。
在我们深入细节之前,让我们从指导 Kraken 发展的价值观开始。
Kraken 是一个基于 Flutter 的 Web 标准渲染引擎,它的主要目标是
- 易于定制和扩展,开发者可以通过扩展为 kraken 提供特定的功能。
- 轻巧快速,性能胜过功能。
- 基础的 Web 渲染能力,符合 W3C 标准。
- 出色的用户和开发者体验。
- Roadmap:定义了在此时间范围内要解决的高级主题和功能。
- 主题集合:主题的集合。
- 迭代:我们将每月对路线图上的项目进行迭代。 迭代大致基于月,而不是基于周。
- 主题:要完成的特定事情。
- 主题所有者:维护和开发与主题相关的功能的一个或多个人。
- 里程碑:在某一天结束时完成的一系列主题。 一般来说,里程碑从每月的第一天开始,到最后一天结束。
- 里程碑所有者:管理里程碑的人,负责推进工作。
🚀 表示这是一个实验性功能。
2022 年,我们将特别关注以下内容:
- 提高 kraken 的稳定性,减少崩溃、内存泄漏等可能影响稳定性的因素。
- 提高 kraken 的性能,建立 benchmark 的基础设施。
- 改进 kraken 的扩展性,引导建立插件社区。
- 改进 W3C 标准的兼容性。
- 持续地改进已有功能。
- 让更多的社区开发者参与到项目治理中。
- 通过持续集成的静态扫描工具帮助检测代码中潜在的内存泄露和 Crash 问题
- 通过更严格的代码 Lint 规则限制可能高风险的逻辑
- 通过生成器机制来产出接口描述的代码实现
- 通过为内存增量增加持续集成来检测可能的内存泄露
- 建立 Benchmark 的基础设施,对首屏在内的性能数据进行收集,展示于官网
- 通过优化逻辑,减少内存、CPU 的基础消耗
- 使用 miallocate 来取代内置的内存分配器
- 🚀 通过指令加载、指令缓存提升首屏体验
- 🚀 通过指令分级提升渲染性能
- 🚀 通过指令分片提升渲染体验
- 🚀 探索内置的 web-components,用以提高性能,如瀑布流布局、嵌入式地图 SDK 等
- 稳定扩展能力相关的 API
- 提供 HTMLView,为 no-script 用户提供更好的阅读体验
- 维护一些官方维护的插件,指导建立一个插件社区
- 🚀 探索嵌入式集成webview,提供多引擎支持
- 提供多页面整合的指导文档
- 在支持范围内持续提高 W3C 标准的兼容性
- 改进调试工具的使用体验。
- 提供 JS 调试能力,包括断点、查看对象、命令行等。
- 改善官网站点的用户体验。
- 在网站上建立博客,分享每个子模块工作原理的技术细节。 每个月至少发一篇。
- 我们将继续基于 GitHub 进行开源工作,引导社区成员帮助我们进行分类和解决问题。
- 改进我们的 GitHub 机器人,帮助我们处理更多的问题
- 培养社区贡献者,深度参与建设,不限于贡献代码、解决问题、回答问题、维护网站等。
- 不定期地对外部分享,包括但不限于文章、线上线下演讲等。
- 与 Flutter 官方合作。
- 通常我们会每个月至少迭代一个版本,每 2-3 个月发布一个 minor 位的版本,如果版本落后于 2 个 Flutter 的大版本,我们会加快发布版本的节奏,这个决策最终由 TSC 批准。
- 每个版本由版本负责人建立里程碑,并由 TSC 会议讨论该里程碑包含的功能。版本负责人负责与 Topic owner 跟进指定版本的开发进展。
这些是我们在未来 8-12 个月内重点关注的工作,同时我们也会根据反馈不断地调整计划,我们将在迭代计划中提供更多细节。