工作原理:
大致基本类同,JS-Native桥和前端渲染框架,只是使用框架技术不一样;
Weex
阿里内部早期研发的一个通过 JSON 数据描述 native 渲染的项目WeApp以及Vue.js这款优秀的前端开源MVVM框架和深度结合;
React Native:
Weex | React Native: | |
JS引擎 | V8 | JSCore |
JS开发框架 | Vue.JS 组件化,数据绑定 Virtual DOM 模板就是普通的html,数据绑定使用mustache风格,样式直接使用css |
React 组件化,数据绑定 Virtual DOM JSX模板学习使用有一定的成本 |
布局 | Flexbox的子集 | Flexbox的子集 |
异步 | 只支持callback | 提供了Promise的支持 |
调试 | Chrome中调试JS代码,支持预览页面dom节点 | Chrome中调试JS代码 |
即时预览 | 都有提供hot reload功能,可以边更改代码,边在手机上看到效果 | 都有提供hot reload功能,可以边更改代码,边在手机上看到效果 |
打包 | 默认打的js bundle只包含业务js代码,体积小很多,基础js库包含在Weex sdk中 | 只能将ReactNative基础js库和业务js一起打成一个js bundle,没有提供分包的功能,需要制作分包打包工具 |
跨平台 | Weex可以支持Android iOS web三个平台 | 支持Android iOS两个平台,需要自己扩展去支持web,windows和node-webkit的支持正在开发中 |
综上所述:
由于Weex学习门槛较低,易用性和性能等方面考虑,我们暂时选择Weex为蓝本进行研究学习改造前端页面,框架出来时间还很短,当中可能会遇到各种问题,我们唯有摸着石头过河。