Taro1.x & Taro2.x
Taro 1/2 属于编译型架构,主要通过对类 React 代码进行语法编译转换地方式,得到各个端可以运行的代码,再配合非常轻量的运行时适配,以及根据标准组件库、API 进行差异抹平,从而实现多端适配的目的
基础语法
依赖react语法进行开发
特点
重编译时
原理:
- 先把react代码分析成一棵抽象语法树
- 再根据这棵树生成小程序支持的模板代码
- 再做一个小程序运行时框架处理事件和生命周期与小程序框架兼容
- 然后把业务代码跑在运行时框架就完成了小程序端的适配
Taro3.x
原理:Taro 3 可以大致理解为解释型架构(相对于 Taro 1/2 而言),主要通过在小程序端模拟实现 DOM、BOM API 来让前端框架直接运行在小程序环境中,从而达到小程序和 H5 统一的目的,而对于生命周期、组件库、API、路由等差异,我们依然可以通过定义统一标准,各端负责各自实现的方式来进行抹平。而正因为 Taro 3 的原理,所以我们可以在 Taro 3 中同时支持 React、Vue 等框架,甚至我们还支持了 jQuery,在不久的将来我们还能支持让开发自定义地去拓展其他框架的支持,比如 Angular,Taro 3 整体架构如下。