最近一周业余时间学习Weex和react native,站在初学者的角度对Weex与同类型的React Native进行了简单的比较。

共同点:
  • 都采用Web的开发模式,使用JS开发;
  • 都可以直接在Chrome中调试JS代码;
  • 都支持跨平台的开发;
  • 都可以实现hot reload,边更新代码边查看效果;
不同点:
开发环境
  • Weex 只需要使用npm安装weex-toolkit工具即可开始开发;
  • React Native除需要安装react-native-cli以外,还需要安装Watchman用于实现实时刷新、Flow用于JS类型检查、Nuclide集成开发环境等;
开发模板
  • Weex使用开源的Vue.JS,使得其DSL模板直接使用Html、CSS、JavaScript语法,学习简单,可以直接使用现有的编辑器工具开发,尤其对于前端人员来说,能够直接上手使用;
  • React Native 使用React模板,采用JSX语法,既在 JavaScript 代码里写着 XML 格式的代码,并且采用了CSS in JS,无形中提高了开发人员的学习成本;
跨平台开发

虽然Weex和React Native都支持跨平台开发,但实际还是有一定的区别。

  • Weex的目标是实现代码共用,一次开发多平台运行,能同时支持IOS、Android和Web,降低了开发难度,节约开发成本;
  • React Native则希望替换整个APP,所以更加注重平台的独立性,其代码需要针对IOS和Android平台编写,代码无法实现完全公用,从官方提供的组件也可以很明显的看出,例如ProgressBarAndroid、ProgressViewIOS等;
社区支持
  • Weex开源较晚,互联网上相关资料还比较少,社区规模较小;
  • React Native社区则比较活跃,可以参考的项目和资料也比较丰富;
总结:

从上面几点来看,对于新手来说,Weex相比React Native入门更加简单,熟悉常规Web开发的人员更能快速上手,并且能实现多平台代码共用,但React Native相对比较成熟,有更多的案例和相关解决方法,社区相应比Weex活跃。

results matching ""

    No results matching ""