转译与运行时

跨端解决方案

目前业界跨多端小程序统一开发框架已经有多种方案了,例如美团点评的 mpvue,京东的 Taro,去哪儿的 anu,淘宝的 Rax。

Taro

Taro 遵循 React 语法规范,它采用与 React 一致的组件化思想,组件生命周期与 React 保持一致,同时支持使用 JSX 语法,让代码具有更丰富的表现力,使用 Taro 进行开发可以获得和 React 一致的开发体验。核心部分为编译工具,主要的功能是代码本身的转译以及各个平台 API 层面和自身组件的抹平。

Taro 组成

代码转译即借助于编译原理的力量是能够明确做到将 React 转成小程序代码的。将代码按照对应语法规则转换过去后,还远远不够,因为不同端会有自己的原生组件,端能力 API 等等,代码直接转换过去后,可能不能直接执行。为了弥补不同端的差异,他们订制好了一个统一的组件库标准,以及统一的 API 标准,同时还为不同的端编写相应的运行时框架,负责初始化等等操作。

Taro 代码转译

这一套标准主要以三个部分组成,包括标准运行时框架、标准基础组件库、标准端能力 API,其中运行时框架和 API 对应 @taro/taro,组件库对应 @tarojs/components,通过在不同端实现这些标准,从而达到去差异化的目的。类比于手淘的 Rax,提供很多组件,大部分组件的能力都可以分别映射到 H5 和 weex 两端。

Taro 库标准

结合组件库和 API 的能力,本地开发源码,经过代码编译成为目标代码,结合各端的运营时就可以达到了在多端适配的目的,真正的一套代码,多端运行。

Taro 多端运行时

上一页