容器差异
优质
小牛编辑
131浏览
2023-12-01
Rax 是一个跨容器的渲染引擎。底层依赖各个容器的实现,所以容器能力的差异也会在 Rax 中有所体现。
主要的容器能力差异来自于 Web 、 Weex 和小程序环境。Web 是当前应用最广泛使用的渲染技术,Weex 是基于客户端的跨平台解决方案,小程序是一种运行在支付宝、手机淘宝等客户端中的开放模式。
原生开发平台和 Web 平台之间的差异,在功能和开发体验上都有一些差异。
样式能力差异
由于 Weex 中的样式是通过原生能力实现的,表现和浏览器中有所不同。可以参考:通用样式规则
小程序样式与浏览器类似,支持的样式属性:ACSS 语法参考
全局 API 差异
由于 Weex 和小程序中没有 BOM 即浏览器对象模型,是浏览器环境为 javascript 提供的接口。Weex 在原生端没有并不基于浏览器运行,不支持浏览器提供的 BOM 接口。 Rax Framework 参照 W3C 规范,提供了以下在 Weex 和 Web 环境一致的全局API: 这里是全局 API
有限的事件类型
由于 Weex 中的事件是由原生组件捕获并触发的,行为和浏览器中有所不同,事件中的属性也和 Web 中有差异。可以参考:通用事件
小程序 API 与浏览器类似,同时提供了事件系统。
子组件更新策略
由于 Rax 小程序的实现没有涉及 vdom,所以父组件重新渲染不一定会触发子组件重新渲染。只有当子组件所依赖的父组件的数据发生变更的时候,子组件才会重新渲染。