RN 转小程序引擎 Alita V1.1.0 发布

Alita在处理React语法的时候,采用了一种运行时处理JSX的技术,相对于社区现有的编译时方案,在JSX语法的支持上更加完备,关于运行时处理JSX的原理,详情请看html

1.0.0发布以来,咱们收到了不少对于Mobx的支持的需求,另外Alita初始版本并不支持 watch模式(因为内部和外部使用Alita的方式不一样),这致使了每修改一个文件,须要看小程序效果的时候都须要从新执行一下alita命令,开发调试起来很不方便。 因此咱们在这个版本里面,主要作了两件事情:Mobx支持,watch模式前端

支持mobx

Mobx自己并不和React绑定,能够用于任何前端框架。可是它和React的配合,能够方便的进行React应用的数据管理,Alita这个版本主要支持了Mobx的使用,得益于Alita运行时架构的设计,Alita存在一个嵌入式的mini-react,因此只需把Mobx和内嵌的mini-react正确链接起来,在AlitaMobx应该就能够正常的使用。 react

参考mobx-react而且结合mini-react暴露的API,咱们在微信小程序端适配了一个wx-mobx-react。 Alita转化完你的RN应用以后,会自动在小程序端把mobx-react切换为wx-mobx-reactgit

在支持mobx的过程当中,咱们还有了另外的收获,当咱们设置多个observable的值时候,mobx-react会经过unstable_batchedUpdates接口批量更新,据此Alita也对外提供了unstable_batchedUpdates接口,和React同样这个接口会合并屡次setState,对应提高应用的性能颇有帮助。github

另外新版本以后Alita生成的js代码可读性会减低,以前Alita会生成ES6的代码,而后经过微信小程序自带的功能把ES6转化为ES5,可是微信小程序的转化并不支持decorators(这个特性对于Mobx十分重要),因此如今Alita会经过babel直接生成ES5的代码。redux

详细文档请看:支持mobx小程序

咱们还提供了一个实际的用Mobx构建的Demo微信小程序

watch

为了简化开发调试的过程,Alita 新增了 watch 功能,只须要在执行alita命令的时候,添加--watch参数便可。将来咱们也将不断提高 Alita 的开发调试体验。前端框架

其余更新

  • 添加 forceUpdate API
  • 对外暴露 unstable_batchedUpdates 批量更新接口
  • 优化 Provider, 方便reduxMobxstore注入
  • 根据 react-redux 从新实现 alita redux连接库
  • 添加 decorators转化支持
  • 添加 --comp 命令行参数,适用于只转化RN组件,而不是整个项目的场景
  • 其余特性 具体请看 CHANGELOG

移步Github,进一步了解 Alita

相关文章
相关标签/搜索