Skip to content

Roadmap.zh_CN

openkraken edited this page Apr 1, 2022 · 2 revisions

The Kraken Project ROADMAP 2022-2023

注:本文件是从 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,提供多引擎支持
  • 提供多页面整合的指导文档

Web 兼容性

  • 在支持范围内持续提高 W3C 标准的兼容性

开发者

  • 改进调试工具的使用体验。
  • 提供 JS 调试能力,包括断点、查看对象、命令行等。

网站和文档

  • 改善官网站点的用户体验。
  • 在网站上建立博客,分享每个子模块工作原理的技术细节。 每个月至少发一篇。

社区支持

  • 我们将继续基于 GitHub 进行开源工作,引导社区成员帮助我们进行分类和解决问题。
    • 改进我们的 GitHub 机器人,帮助我们处理更多的问题
  • 培养社区贡献者,深度参与建设,不限于贡献代码、解决问题、回答问题、维护网站等。
  • 不定期地对外部分享,包括但不限于文章、线上线下演讲等。
  • 与 Flutter 官方合作。

版本

  • 通常我们会每个月至少迭代一个版本,每 2-3 个月发布一个 minor 位的版本,如果版本落后于 2 个 Flutter 的大版本,我们会加快发布版本的节奏,这个决策最终由 TSC 批准。
  • 每个版本由版本负责人建立里程碑,并由 TSC 会议讨论该里程碑包含的功能。版本负责人负责与 Topic owner 跟进指定版本的开发进展。

总结

这些是我们在未来 8-12 个月内重点关注的工作,同时我们也会根据反馈不断地调整计划,我们将在迭代计划中提供更多细节。