Taro 原理


 

原生开发的一些痛点:

  • 原生开发对Node、预编译器、webpack支持不好,影响开发效率和工程构建流程

  • 微信定义了一个不伦不类的语法,不如正经学vue、react,学会了全端通用,而不是只为微信小程序

  • vue/react生态里有太多周边工具,可以提高开发效率,比如ide、校验器、三方库。。。

  • 微信那个ide和专业编辑器相比实在不好用

Taro介绍

Taro 是一套针对以上的痛点和限制,同時遵循 React 语法规范的 多端开发 解决方案

使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动/QQ小程序、快应用、H5、React-Native 等)运行的代码

Taro原理

Taro将JSX编译成小程序模板,由于babel的核心编译器Babylon是支持对JSX的语法解析,因此可以通过它帮着构造AST(虚拟语法树),

我们需要专注的就是把AST进行转换,得到需要的新的AST,再将AST进行递归遍历,生成小程序的模板

最核心的技术把源代码编译成AST,再将AST转换操作得到目标代码

在Taro中,我们通过编译时的处理以及运行时的适配来转换成小程序代码

编译时的处理:

Babel

运行时框架 @tarojs/taro

编译出来后,不能直接在小程序中运行,小程序需要运行时的适配来帮助我们把代码运行在小程序里。运行时的适配主要是生命周期的转换,还有一些事件的处理。

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM