Alita
Alita,战斗天使阿丽塔,原型是《铳梦》中一位不断战斗和自我超越的生化改造少女。
Alita是一套React Native代码转换引擎工具。它对React语法有全新的处理方式,支持在运行时处理React语法,可以用简洁、高效的方式把React Native代码转换成微信小程序代码,并且实现了React Native和微信小程序之间的主要组件对齐。
基础
在使用Alita之前,我们希望你能了解一些基础知识。提前了解这些知识,可以在你之后使用Alita的过程中少走很多弯路。
- 路由是一个应用必不可少的部分,Alita提供了简单易用的路由组件
@areslabs/router
。并且只支持使用了这个路由的RN应用,详见 - 微信小程序动画和RN动画是独立的两套机制,我们封装了
@areslabs/wx-animated
动画库,使用这个动画库的RN应用,可以无损的转化运行在小程序上,详见 - 多端融合的开发方式,默认了各端的展示和交互是一样的,但是有时候,对于不同端会有不同的需求,这就需要有平台判断的能力,Alita的平台判断方式,参考了ReactNative的方式。详见
- 关于Redux的支持,详见
- 关于Mobx的支持,详见
- 当你的项目只使用了React Native官方组件和API的时候,这个配置文件是可以忽略的,使用系统默认配置就可以,但是当你的React Native应用足够复杂的,就需要使用配置文件了。
注意事项
Alita对React Native应用有一些基本要求和限制。 除此以外,微信小程序本身就存在一些限制,比如包大小等。对这些限制,希望你有一个足够的了解。这样在使用Alita的过程中就不会出现莫名其妙的错误。
- 一些固有的平台差异
- 详细的说明了Alita转化的限制以及这些限制产生的原因限制&限制说明
- 一些尚未实现的组件,主要是平台相关组件,详见, 最终我们会提供
alita-ui
3端UI库,来补充这方面的不足。 - 当你的应用使用了第三方组件 且 此组件Alita不能直接转化,那么需要手动处理
其他
当你了解了Alita基本知识和限制之后,你也许会在其他一些方面遇到问题。
- Alita使用的是运行时JSX的处理,相比社区现有的方案,对JSX支持更加的完备,详见一种让小程序支持JSX语法的新思路
- 本文详细介绍了嵌入式React和小程序在运行阶段的数据交互方式
- 很多时候,我们需要把多个RN模块转化集成到一个小程序包里面,这就需要用到小程序分包集成
- 当项目足够复杂,使用RN基本组件库/API往往很难满足开发需要,很多团队也会有自己的RN基本组件库,扩展自己的多端组件库,参考第三方组件库扩展
- 生成小程序体积超2M?小程序代码瘦身?参考小程序体积优化
交流反馈
欢迎交流反馈,一般有以下几种方式:
Alita的代码已经托管在github,可以在这里给我们提交issues,我们会第一时间反馈处理。
联系
QQ群 | 微信公众号 |
---|---|