JS引擎
Weex使用V8,
React native使用JSCore
JS开发框架 ( Js Framework )
Weex基于vue.js(2W+ star)。小巧轻量的前端开发框架,组件化,数据绑定,2.0引入virtual dom。
ReactNative使用React(4W+ star)。革命性的前端开发框架,组件化,数据绑定,virtual dom。
学习成本
React模板JSX学习使用有一定的成本,vue更接近常用的web开发方式,模板就是普通的html,数据绑定使用mustache风格,样式直接使用css
支持的平台:
虽然Weex和React Native都支持跨平台开发,但实际还是有一定的区别。
- Weex的目标是实现代码共用,一次开发多平台运行,能同时支持IOS、Android和Web,降低了开发难度,节约开发成本;
- React Native则希望替换整个APP,所以更加注重平台的独立性,其代码需要针对IOS和Android平台编写,代码无法实现完全公用,从官方提供的组件也可以很明显的看出,例如ProgressBarAndroid、ProgressViewIOS等;
核心理念:
Weex:
- Write Once Run Everywhere
- 只需要编写一份代码,然后打包即可运行在Web、iOS、Android;
React native:
LEARN ONCE, WRITE ANYWHERE
需针对iOS、Android编写2份代码,但是可以共用的代码很多;
性能:
不能说 React native不注重性能,只是Weex的性能比React native更加优秀
相同点:
- 都可以实现hot reload,边更新代码边查看效果
- 布局都是基于flexbox
- 都采用Web的开发模式,使用JS开发
- 都是支持iOS和Android
- 渲染机制都是Virtual DOM
总结:
React Native相对来说比较成熟,社区成熟、文档成熟,Weex开源较晚,互联网上相关资料还比较少,社区规模较小,所以学习的路上踩的坑会比较多;建议等文档完善之后再上手;