文档章节

ReactNative&weex&DeviceOne对比

jonh_felix
 jonh_felix
发布于 2016/07/25 09:18
字数 1157
阅读 923
收藏 1

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

© 著作权归作者所有

共有 人打赏支持
jonh_felix

jonh_felix

粉丝 30
博文 8
码字总数 13221
作品 1
产品经理
加载中

评论(5)

_icode
_icode
好硬的软文
暴躁的小强
好硬的软文
panda大侠
panda大侠
头像不错
jonh_felix
jonh_felix

引用来自“烟雨三月”的评论

虽然我看不懂,但好像很厉害,点个赞。
多谢支持!
烟雨三月
烟雨三月
虽然我看不懂,但好像很厉害,点个赞。
文字排版中的设计四原则(一)

四项基本设计原理,对比、重复、对齐、亲密性被设计师广泛应用。它们在网页设计中对文字的排版也经常用到。 1.对比 我们将对比分为三类,有标题和正文中的字体、字号对比,文字颜色的对比,以...

博为峰教研组
2016/11/11
26
0
flask直观显示文本对比

运维过程中,经常会对一些服务的配置文件进行修改,因此,用flask实现修改后的配置文件对比还是比较直观的。本文中介绍使用flask框架实现对文本文件的对比。 python使用difflib模块的HtmlDif...

鸿弟
2016/11/01
100
0
数据分析方法(一):对比与对标

对比是数据分析最基本的方法,通过对比识别数据差异。但是对比有得失。在分析过程中,对比得当可获得精准结论,但对比分析也存在陷阱,比如某产品近期销售数据在下滑,想当然得会得出结论此产...

李启方
2017/07/06
0
0
python使用difflib对比文件示例

使用difflib模块对比文件内容 1 示例:字符串差异对比 vim duibi.py #!/usr/bin/env python -- coding: utf-8 -- import reimport osimport difflibtex1="""tex1:this is a test for difflib......

super李导
05/10
0
0
这些对比工具你会用哪个

当在日常工作学习中遇到了相似的文件,我们就需要一个比较的过程,来找出其中不同的地方。但是如果文件比较大,那么对比起来就非常的复杂。这个时候我们就需要通过软件来进行对比,但是市面上...

Navicat数据库管理工具
2016/07/11
57
0

没有更多内容

加载失败,请刷新页面

加载更多

区块链入门教程以太源码分析accounts包简介

兄弟连区块链教程以太源码分析accounts包简介 accounts包实现了eth客户端的钱包和账户管理。 账号的数据结构: typeAccount struct {Address common.Address `json:"address"` // Ether...

兄弟连区块链入门教程
20分钟前
0
0
sed命令详解及运用

10月17日任务 9.4/9.5 sed 9.3、正则介绍 - sed命令(上) sed是流编辑器,默认不编辑源文件,是以行为单位从源文件抽取数据,进而处理再输出于屏幕上;可能有的人说那我直接vi不就好了嘛,但...

zgxlinux
22分钟前
0
0
iOS App “去评分” 功能的几种实现总结

通常 App 都会在它的设置页面或者关于页面添加一个“去评分”选项,或者在用户使用 App 过程中适当时机弹窗,引导用户跳转到 App Store 对当前 App 进行评分或者撰写评论。 绝大部分 App 实现...

秦无炎
27分钟前
0
0
Chrome 图片解码与 Image Decoding Hint

我在之前的一篇文章Chrome 图片解码与 Image.decode API,说明了为什么图片解码可能会导致非合成器动画的阻塞和如何使用 Image.decode API 来避免动画的阻塞。不过虽然 Image.decode API 给页...

全部原谅
27分钟前
0
0
java获取ip和地区

String s = HttpUtil.sendPost("http://pv.sohu.com/cityjson");JSONObject jsonObject = JSONObject.parseObject(s.substring(s.indexOf("{"), s.indexOf("}") + 1));jsonObject.get("c......

吴伟祥
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部