Taro 2
Taro 2 是一个重编译时轻运行时的框架,主要是通过编译时的转换来实现跨端能力。
它绑定了 React 的 DSL, 因此可以通过 React 语法来写小程序
- 编译时: 通过 babel 插件将 React 语法转换成小程序原生的语法
- 运行时: 主要处理生命周期、事件、setData等, 运行时和 React 并没有关系
静态 template 转动态 JSX 相对简单, 但是反过来却十分困难。这是因为 JSX 过于灵活, Taro 2 采用穷举法来处理对 JSX 的适配, 工作量大。

Taro 3
Taro 3 是一个重运行时轻编译时的框架,主要是通过运行时的转换来实现跨端能力。
通过 Webpack 的 ProvidePlugin
插件,注入到小程序的逻辑层。