MXFlutter 2020 Roadmap

整体目标和方向

  • 使用JS开发,扩展 Flutter 的开发阵营,实现 Flutter 动态化,
  • 支持业务由 Dart 开发,使用mxjsbuilder编译为JS直接运行,实现同一套 Dart 代码同时支持 AOT 编译为 Native APP,也能够编译为JS支持动态化。

要实现 MXFlutter 的目标,工程量很是巨大,团队在作这个项目时也感觉到,对比作一个技术方案和实现一个产品级的框架,工做方式有巨大的不一样, 实现一个产品级框架,是可用性优先,作一个技术方案Demo是解决难点优先。MX要作完善,还有很长的路要走,千里之行,始于足下,欢迎有兴趣的小伙伴一块儿建设。c++

整体路线图

基础功能,支持Flutter的全部功能

完善Widget

  1. 支持全部Flutter Widget,使用 mxjsbuilder 直接编译生成 MXFlutter Widget 框架。
  2. 支持动画 Widget,Controller
  3. 支持弹窗等 UI API
  4. 支持 Flutter 的开发方式,如各种Key,InheritedWidget的使用,动态建立Builder机制

支持Flutter生态,能方便接入package

  1. 能够接入Flutter生态的package,步骤简单通用。
  2. MX官方支持好最流行的package,例如dio,pull_to_refresh。
  3. 制定package接入的指引,开发者能够本身接入须要的package

易用性

  1. 改造 mxflutter 为 package ,简化接入流程。
  2. 编写完善的官方使用文档,
  3. 支持 TS 语言。

平台特性

iOS

Android

  1. Android JS引擎选择,安装包下降
  2. Android 增长JS调试能力

性能优化

通道专项

优化JS,Native,Dart 通信效率。web

  1. 通信数据结构,由json优化为其余格式。
  2. 换用更高效的Dart JS数据交互方式

首屏专项

经过直接预先生成DSL,提高首屏打开性能。json

流畅度专项

提高交互流畅度,提高交互时,界面刷新反应时间。浏览器

ListView专项

提高Listview滑动性能和体验性能优化

工具建设

dart编辑为JS的mxjsbuilder编译器开发

  1. 支持 Dart 开发,由 mx_jsbuilder 编译为js,在 MXFlutter 框架直接运行。
  2. 支持mx js framewrok的 js widget 使用编译器直接编译生成。

IDE插件

  1. 开发VSCode插件,支持代码补全,联想能力。
  2. IDE插件直接调试JS的能力。

开发模式规范化

合入标准

制定代码规范和合入标准数据结构

完整的项目开发流程和测试

功能测试

测试widget功能框架

单元测试

编写对应模块的单元测试工具

官方Demo

开发官方Demo,发布到iOS,Android应用市场性能

官方网站建设

mxflutter.com单元测试

技术扩展和优化探索

TS编译为webassembely,提高性能 底层基础库换用c++实现,换用动态化中台渲染内核。 直接运行在浏览器中

目前进展

截止2020年4月28日,已发布到 v0.1.2 beta版本,主要功能可用,性能达到生产环境标准,已在iOS端看点视频上线,Android功能已对齐。

  1. 基础功能 Widget 支持 70%
  2. 动画 Widget 20%
  3. Flutter生态 package 的支持方法
  4. 官方Demo 已有多数widget 示例
  5. 已支持Dart编译为JS,mx_jsbuilder编译器易用性封装完成70%

当前主要目标

5月11日发布 v0.2.5版本,支持mx_jsbuilder编译器

下一步计划

  • 性能优化专项,通道性能,流畅度,首屏加载时间。
  • mx_jsbuilder 继续迭代优化,支持更多dart语法编译
  • 动画专项
  • 工具链建设,IDE插件开发
  • 支持TS语言
  • 功能测试和单元测试
  • 完善的开发文档
  • 业务接入支持
  • 官方Demo
  • 官方网站
  • 技术扩展
相关文章
相关标签/搜索