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来写,学习成本和技术要求相对较高。

  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时代的思想是不能适应于移动互联时代的整体需求的。以上只是我的个人见解,谢谢大家。

ReactNative&weex&DeviceOne对比的更多相关文章

  1. 【转】ReactNative&weex&DeviceOne对比

    React Native出来有一段时间了,国内的weex和deviceone是近期发布的,我可以说从2011年就开始关注快速开发的跨平台平台技术了,接触过phoneGap.数字天堂.appcan等早期 ...

  2. ReactNative与NativeScript对比报告

    综合这段时间对ReactNative(下称RN)和NativeScript(下称NS)的简单学习了解,分别从不同方面分析对比二者的优缺点. 页面结构 NS一个页面的目录结构: RN的一个页面一般就是一 ...

  3. [Web前端] WEEX、React-Native开发App心得 (转载)

    转自: https://www.jianshu.com/p/139c5074ae5d 2018 JS状态报告: https://2018.stateofjs.com/mobile-and-deskto ...

  4. Weex 和 React Native 的比较看这里

    写在前面 目前主流的应用大体分成三类:Native App, Web App, Hybrid App. Native App 特点: 性能好 完美的用户体验 开发成本高,无法跨平台 升级困难 (审核) ...

  5. React Native初探

    前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...

  6. 移动web端的react.js组件化方案

     背景: 随着互联网世界的兴起,web前端开发的方式越来越多,出现了很多种场景开发的前端架构体系,也对前端的要求日益增高,早已经不是靠一个JQuery.js来做前端页面的时代了,而今移动端变化最大,近 ...

  7. 移动APP开发框架盘点

    移动APP开发框架盘点 总体概述 现在比较流行的移动APP开发框架有以下六种:网页.混合.渐进.原生.桥接.自绘.前三种体验与Web的体验相似,后三种与原生APP的体验相似.这六种框架形式,都有自己适 ...

  8. 【优质】React的学习资源

    React的学习资源 github 地址: https://github.com/LeuisKen/react-collection https://github.com/reactnativecn/ ...

  9. UI系统的核心在于渲染机制:效率与生命--原生渲染为何比webview渲染快?

    作者:谷宝剑链接:https://www.zhihu.com/question/264592475/answer/283852178来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

随机推荐

  1. html中如何添加提示信息

    提示:在标签中添加title属性 1.文本中如何添加提示信息? 1.1直接在标签中加title="值": 例如:<p title="爱笑,爱哭,爱生活"& ...

  2. Syscan360会议胸牌破解揭秘

    Syscan360会议胸牌破解揭秘 背景 有幸参加今年11月份的上海Syscan360安全会议,会议期间有一个亮点就是360的独角兽团队设计了一款电子badge(胸牌)供参加人员进行破解尝试,类似于美 ...

  3. 百度 flash html5自切换 多文件异步上传控件webuploader基本用法

    双核浏览器下在chrome内核中使用uploadify总有302问题,也不知道如何修复,之所以喜欢360浏览器是因为帮客户控制渲染内核: 若页面需默认用极速核,增加标签:<meta name=& ...

  4. C#多线程之线程同步篇1

    在多线程(线程同步)中,我们将学习多线程中操作共享资源的技术,学习到的知识点如下所示: 执行基本的原子操作 使用Mutex构造 使用SemaphoreSlim构造 使用AutoResetEvent构造 ...

  5. mybatis_基础篇

    一.认识mybatis: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改 ...

  6. UWP开发之Mvvmlight实践七:如何查找设备(Mobile模拟器、实体手机、PC)中应用的Log等文件

    在开发中或者后期测试乃至最后交付使用的时候,如果应用出问题了我们一般的做法就是查看Log文件.上章也提到了查看Log文件,这章重点讲解下如何查看Log文件?如何找到我们需要的Packages安装包目录 ...

  7. 【踩坑速记】开源日历控件,顺便全面解析开源库打包发布到Bintray/Jcenter全过程(新),让开源更简单~

    一.写在前面 自使用android studio开始,就被它独特的依赖方式:compile 'com.android.support:appcompat-v7:25.0.1'所深深吸引,自从有了它,麻 ...

  8. 使用JavaScript为一张图片设置备选路径

    在做网页开发的时候,有时候希望给图片设置一个备选路径,即,当src属性对应的主路径加载失败的时候,图片可以马上切换到备选路径.这样,即使主路径失效了,显示备用路径也不会影响网页的正常体验. 注意到网页 ...

  9. Maven仓库搭建和配置

    maven在本地搭建仓库的实际需求maven在项目构建过程需要下载一些必要的软件包,这些默认的下载链接都是访问maven的远程中央仓库Central Repo.如果项目中的成员,每次第一次构建的时候都 ...

  10. python性能检测工具整理

    python 运行后出现core dump产生core.**文件,可通过gdb来调试 Using GDB with a core dump having found build/python/core ...