Rax
快速构建多端应用
当需要一套代码同时运行在 Web、Weex、小程序、Flutter 甚至鸿蒙等容器时,Rax 作为淘宝开源的跨端框架,以 React 语法编写、JSX 必选的方式抹平平台差异。
| 收费 | 开源免费 |
|---|---|
| 平台 | Web/Weex/小程序/Flutter/鸿蒙 |
| 中文 | 官网中文文档 |
| 用途 | 构建跨容器通用应用 |
Rax 与 React 同源但有三处关键不同:setState() 为同步执行(React 为异步);findDOMNode() 可接收字符串类型 id;无 createClass() 方法,仅支持 ES6 class 或函数组件。
作为 Weex 的上层 DSL,Rax 在阿里集团内广泛用于跨容器场景。其核心框架提供 createElement 等基础 API,配合 RecyclerView、WaterFall 等滚动容器,支持 onAppear/onDisappear 事件抹平 Web 与 Weex 的曝光埋点差异。
生命周期与 React 完全一致,包含 componentWillMount、render、componentDidMount 等。通用事件中,Appear 需绑定在滚动容器内元素上才生效;Weex 的 <input> 和 <switch> 不支持 click 事件,需使用 Touchable 替代。
Q1:Rax 的 setState 为什么是同步的?
A1:与 React 的异步 setState 不同,Rax 为了在 Weex 等非浏览器容器中保证状态即时生效,设计为同步执行。这意味着调用 setState 后立即读取 this.state 能拿到更新后的值。
Q2:Rax 能否直接运行在鸿蒙系统上?
A2:可以。Rax 生态已支持鸿蒙跨平台开发,其核心框架与驱动位于 packages/rax 目录,配合社区提供的插件和组件可实现鸿蒙应用构建。
更多同类工具与网站,可在移动端分类继续挑选。
信息核实于 2026年7月,具体以官网为准。
评论
暂无评论