rax 介绍
rax是阿里巴巴团队推出的 一个 通用的、兼容 react 的渲染引擎 。
Rax 与 react
react 是一种标准,Rax 是对该标准的 一个 实现。Rax 只是无线端的 解决方 案,与 react 并无冲突。事实上淘宝 PC 端的新项目,依然主要是基于 react。当然,Rax 跟 Preact 之类的方案也有本质区别,前者偏向于 解决 多端问题,后者偏向于 解决 性能 问题,具体可参考下文「Rax 的特点」。Rax 的特点
1、设计上 支持 不同容器 Rax 在设计上抽象出 Driver 的概念,用来 支持 在不同容器中渲染,比如目前所 支持 的:Web,Weex,Node.js. 基于 Driver 的概念,未来即使出现更多的容器(如 VR 等),Rax 也可以从容应对。Rax 在设计上尽量抹平各个端的差异性,这也使得开发者在差异性和兼容性方面再也不需要投入太多精力了。 2、体积足够小 如上文所说,Rax 是 一个 面向无线端的 解决方 案,因此自身的体积对于 性能 来讲就显得非常重要。Rax 压缩 + gzip 后的体积是 8.0kb,相比 react 的 43.7kb,对于无线端友好了很多。 3、 支持 返回多个同级节点 任何用过 react 的同学大概都踩过同 一个 坑: 方法 返回了多个同级节点导致报错。在设计上 react 只能返回单个节点,因此 页面 上或多或少会产生一些冗余的节点,这在 PC 端并没有太多问题,然而在无线 Android 端嵌套层级越多,应用的 crash 率会不断提高,这一点在低端 Android 机上表现尤其明显。因此 Rax 支持 了返回多个同级节点的 功能 ,如:import {createElement,Component,render} from 'rax';class Test extends Component {render() {return [1,2,3].map((item) => {return <p>{item}</p>;});}}这一特性可以有效减少 页面 的嵌套层级,从而减少应用因嵌套层级过多而出现的 crash 问题。 4、标准化 在上文里,我们不断的提各个端的一致性,一致则必有规范可依,Rax 遵循 W3C 标准,比如在 Weex 容器中已经可以直接 调用 navigator,document,location,alert 等 W3C 的标准 API.当然,受限于各个端的差异,标准化的道路还很长,「更标准化」这也是 Rax 未来的重要目标之一。 链接 : http://www.fly63.com/nav/976网站地址 : http://rax.taobaofed.org/
GitHub: https://github.com/alibaba/rax
网站描述: 一个 通用的、兼容 React 的渲染引擎
rax官方网站
官方网站: http://rax.taobaofed.org/
如果觉得 网站内容还不错,欢迎将 网站 推荐给程序员好友。
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did175580