返回
一文通览Remax框架的运行原理
前端
2023-12-28 04:38:16
在Remax、Taro3这类重运行时小程序框架问世之前,主要流行的方案是提前将Vue或者React代码编译成WXML,受限于小程序的语法,我们在开发的过程中语法会受到很多限制,Vue可以使用官方提供的vue-loader来转换成WXML,而React则可以通过百度提供的rax进行转换。
值得注意的是,Vue编译成的小程序相比于React编译出来的存在一个巨大的问题,就是打包后的代码会非常大,编译后的产物是一个完整的Vue框架,开发一个简单的小程序都要上百K甚至更多。
这个时候Taro、Remax等重运行时框架出现了,他们宣称:一套代码,运行多端。理论上,只要你的代码里不包含平台相关的API,那么就可以做到真正的跨端。
Remax框架的整体架构
Remax框架的整体架构可以分为三层:
- 第一层是编译层。 这层负责将Vue或者React代码编译成小程序代码。
- 第二层是运行时层。 这层负责将编译后的代码运行在小程序上。
- 第三层是UI层。 这层负责将运行时的代码渲染成小程序的UI。
Remax框架的编译过程
Remax框架的编译过程可以分为以下几个步骤:
- 解析Vue或者React代码。 Remax框架使用Babel解析Vue或者React代码,并将其转换为AST(抽象语法树)。
- 将AST转换为小程序AST。 Remax框架使用自己的转换器将Vue或者React AST转换为小程序AST。
- 生成小程序代码。 Remax框架使用小程序的代码生成器将小程序AST生成小程序代码。
Remax框架的运行时
Remax框架的运行时是一个JavaScript解释器,它负责执行编译后的小程序代码。Remax框架的运行时与小程序的运行时是隔离的,这意味着Remax框架的运行时不会影响小程序的运行。
Remax框架的UI层
Remax框架的UI层是一个小程序组件库,它负责将运行时的代码渲染成小程序的UI。Remax框架的UI层与小程序的UI组件库是隔离的,这意味着Remax框架的UI层不会影响小程序的UI。
Remax框架的优势
- 跨平台开发。 Remax框架支持Vue和React两种主流的前端框架,这使得开发者可以使用自己熟悉的框架开发小程序。
- 高效率。 Remax框架的编译速度很快,这使得开发者可以快速地迭代自己的代码。
- 易用性。 Remax框架的使用非常简单,即使是新手也可以快速上手。
- 可维护性。 Remax框架的代码结构非常清晰,这使得开发者可以很容易地维护自己的代码。
- 可扩展性。 Remax框架是一个高度可扩展的框架,开发者可以根据自己的需要扩展Remax框架的功能。
Remax框架的不足
- 编译后的代码体积较大。 Remax框架编译后的代码体积会比原生的Vue或者React代码体积大一些。
- 对小程序API的支持还不够全面。 Remax框架对小程序API的支持还不够全面,这使得开发者在开发小程序时可能会遇到一些限制。
Remax框架的未来发展
Remax框架是一个非常有潜力的框架,它有望成为小程序开发的主流框架之一。Remax框架的未来发展方向主要有以下几个方面:
- 对小程序API的支持更加全面。 Remax框架需要支持更多的