React Native出来有一段时间了,国内的weex和deviceone是近期发布的,我能够说从2011年就开始关注快速开发的跨平台平台技术了,接触过phoneGap、数字天堂、appcan等早期的移动中间件技术,也跟朋友也讨论过这类的轻量级框架。这些年经过Html5技术或经过Hybrid技术实现跨平台的道路,基本已经快走到头了。尝试跨平台App的开发者们都快碰的头破血流了,你们都在期盼新的更成熟的跨平台开发技术可以早日出来。研究React Natvie的时候,基本大部分时间都在看一些相似的源码,也作了一些分析,最近也对weex和DeviceOne作了一些功课,在这里面作一下本身理解的对比,与你们一块儿交流,勿喷。
首先,基本能够确定的是,你们都把中心转移到原生的效果上,因此,基本三个平台在思想上没有太大的差异。
1. 首先Reac Native是Facebook产品,而deviceone和weex都是国内公司开发。
2. React Native 和deviceone 的ios版本使用的javascript引擎使用的都是JSCore,weex和deviceone的android版本使用的是V8.V8的运行性能仍是很优秀的,我我的也很是喜欢V8。
3. React Native 使用的是数据绑定、组件化、前端框架,weex是组件化、数据绑定、前端框架,deviceone是组件化、数据绑定和运行时引擎技术。
4. 平台要求:
Android: React Native(API16)、weex(API14)、deviceone(API4)
ios:React Native、weex、deviceone基本都是ios7.0以上
windows:React Native需扩展、weex不支持、deviceone已支持。
咱们能够看下接下里的环境配置:
React Native 须要安装Android,iOS开发环境,不少依赖,相对复杂。
Weex须要安装Android,iOS开发环境,安装cli,相对简单。
Deviceone不须要安装Android,iOS开发环境,只需安装deviceone的IDE,简单。
开发:
基本三个平台都是JS来开发
React Native倾向于web方式,需了解android、ios的sdk来写,学习成本和技术要求相对较高。javascript
Weex也是倾向于web方式,需了解原生sdk来写,学习成本和技术要求相对React Native已经有了很大改进。
Deviceone更倾向于面向对象,无需了解原生sdk,DeviceOne基本已经实现了一次开发多平台发布的能力。
调试:
React Native 能够在chrome查看,不支持节点调试,支持真机调试。
Weex能够在chrome查看,支持节点调试查看,支持真机调试。
Deviceone支持真机进行调试,能够实时查看错误信息。
性能:
React Native重心比较多,目前性能关注很少。
Weex公司内部的项目里使用,也一直关注性能。
Deviceone过去一年里一直在一些真实项目中完善性能。
如何实现的功能实现,listview的实现:
React Native用的scrollview来实现,有一些性能问题存在。
Weex用的recyclerview来实现,性能稍微好一些。
Deviceone基于原生listview类封装,性能与纯原生系统基本一致。
案例:
React Native比较早,国外案例多一些。
Weex目前刚刚,不是很成熟,案例只有示例类的东西。
Deviceone成立也比较晚,案例也有一些,基本都是近一年内的案例。
社区:
React Native较早,社区人比较多,相对成熟。
Weex较晚,以公司本身人居多,成熟需一段时间。
Deviceone较晚,社区人相对少一些,内容相对成熟。前端
最后,其实我以为相对于你们来作选择的时候,若是想要实现快速入门和开发,此时不管选择React Native、Weex仍是DeviceOne哪一个平台来作都是有道理的,将来仍是要看各自的技术发展和服务支撑能力。原生的趋势是你们一致承认的方向,我认为目前咱们基本已经不考虑以h5为核心的移动技术了,Web时代的思想是不能适应于移动互联时代的总体需求的。以上只是个人我的看法,谢谢你们。java