React Native & Weex 区别

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开源较晚,互联网上相关资料还比较少,社区规模较小,所以学习的路上踩的坑会比较多;建议等文档完善之后再上手;