对比React Native、dcloud、LuaView三个框架技术(内部)

转载自:http://www.jianshu.com/p/ee1cdb33db8d
主要对比React Native和5+SDK(就是dcloud的SDK)两个:css

  1. 开发语言:三个都是用其余语言来统一开发IOS、android应用的框架技术,其中,React Native是使用纯JS,5+SDK是使用JS和html,LuaView则是使用lua语言,三者都是使用css或者类css布局,这点都很像,
    三者均可以使用原生(IOS、android)语言作一部分功能,好比有特殊性能要求的地方,就使用原生代码写,而后前端脚本语言调用;
  2. 开发效率:RN和5+SDK是主要采用JS语言作开发,效率上不是问题,LuaView采用的是lua脚本语言,这个你们都不熟悉,因此建议优先前两种;
  3. 动态发布特性:三者都支持动态发布,并且最方便的是RN(简要说下RN如何工做的,RN采用的是React技术<这个技术已经好多年了,是比较成熟的,只是RN才出现一年半>,这个技术是依托于node.js,而且发布后台采用node.js,文件修改替换即发布,不须要作另外的版本控制<版本控制采用SVN或者git的方式>;发布时,在后台整个项目是做为node.js的一个node节点来发布的;主项目中基本上是一个空项目,引入其余的native模块,这样管理很方便)
  4. 扩展性:都是动态发布,只有基础native组件须要更新时才须要appstore审核发布;
  5. 可读性:RN是采用纯JS开发,不须要html,代码上的行数通常要比5+SDK少不少,并且RN的开发过程当中,规范作的也不错(我的感受html+js+css会致使代码的行数上增大不少,阅读起来也就没那么方便)
  6. 性能:RN是采用JS桥接加Native桥接两个方式合并起来,而后加上增长对比差别化算法增量渲染,并且渲染都是native渲染,性能虽然比纯原生差一点,可是仍是远远比H5的性能要快不少;
    5+SDK,开发时是html+js+css来开发,其实真正执行渲染时仍然是webview,我用工具查看过最终的页面结构,是一个webview,性能慢那是没的说的了
  7. 相关开发工具:5+SDK提供一个工具,也不错,不过咱们通常都是用其余的文本编辑器就能够了;RN也提供了一个开发工具,atom编辑器的插件nuclide,还不熟练,不过应该不错(也有不少人使用sublime)。
  8. 开发初阶段,上手速度:RN比较大型,虽然采用的是纯JS开发,可是采用的React的开发方式,有不少的API须要熟悉和使用,相比于5+SDK上手速度是麻烦了点;并且RN的开发环境的搭建和使用须要不少的命令行工具,这也给RN的上手增长了必定的困难,不过用熟练了,就会发现RN这种方式的好,那真是好很差谁用谁知道(貌似5+SDK也是须要熟悉不少API,这点好像差异不是特别大);
  9. 社区力量:RN在React以后诞生了仅仅一年半,可是github的星数已经达到三、4万了,这个火热程度要远远比其余的框架热门了太多了,社区的力量大,就意味着坑少,或者说即便有坑修复的也快,有问题能找到解决方案的速度也越快,框架完善的速度也越快
  10. 开源:这也是很重要的因素,RN和LuaView是开源的,开源就意味着咱们开发人员能够掌控的力度就越大,这年头,框架不开源,迟早得死;
  11. 文档:RN的文档仍是很全的,还有不少外文翻译,官方也有相关的视频,5+sdk和LuaView文档就很通常般,热别是5+SDK,不开源,文档就不更新;
  12. RN的另一个好处:RN同属于React,语法特色都一致的,React的口号就是learn once, write everywhere,并且React就是为web开发而产生,熟练了这个,能够把公司相关模块,好比说web端均可以统一了;固然5+SDK也能够作到这点,LuaView作不到这点,它只适用于IOS、Android的适配。

最后分享一个找到的一个别人开源出来的RN开发的APP:
https://github.com/soliury/noder-react-nativehtml

相关文章
相关标签/搜索