ReactNative&weex&DeviceOne对比

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

时间: 2024-12-28 00:23:54

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

为什么大部分的程序员成不了架构师?为什么很多程序员没有升级到架构师?

对我们程序员来说,发展的途径要么是走管理岗,从开发升级到项目经理甚至是部门经理:要么走技术升级路线.不过在技术路线方面,无法升级到架构师的程序员不在少数.一方面,在不少公司的高级开发岗位上,无法让程序员实践甚至接触到架构师的技能,另一方面,有不少程序员甚至不清楚架构师所需要掌握的技能和升级途径.所以从结果上来看,至少有5成的程序员止步于"高级开发"的程度,这是非常令人可惜的. 而小团队一般 10 人左右,其中常常是技术最牛的人做架构师(或TL).所以,架构师在广大码农中的占比大概平均不

九月份参加OPPO和腾讯Android面试:技术一面+二面+三面+HR四面,我的面经总结!

之前很多时候我是拒绝说我的面试经验的,因为我们简历经历不一样问的问题也会不一样,且大厂面试光靠背几个面试题就想过还是比较难的.因此在这里提醒一下大家不要临时抱佛脚,你花几天能背下的东西,别人花几天一定能超过你的,但我们花几年沉淀的东西,人家花几个月就未必能赶上,希望大家不飞则已,一飞冲天. OPPO 面试过程 boss 直聘 HR 推了简历给有关部门,简历通过后电话约的面试机会.当时约的是 10:30 的面试时间,所以只请了半天假. 第一轮是两个面试官轮流问问题,第一面大约面了一个小时,大约等了

学会这些Android开发热门前沿知识,2020年你就不用愁了!

前言 Android确实不是当年盛况,已经不再像前几年前那么火爆.一个新行业如果经历过盛极一时,那么必然有这样的一条曲线,像我们学的正弦曲线先急速上升,然后到达顶点,然后再下降,最后再趋近一个平稳的值.那么这一两年就已经是在一个饱和值之间浮动,因此在这样的形式下,可能对于个人开发者相应的要求就要高一些.以前是只要你会Android四大组件的都是个香饽饽,那样的时代已经过去了,随着人机交互的体验要求,App的用户体验的要求.流畅度等等,已经不可同日而语.在这样的大环境下,那么对我们的Android

JSer全栈化技术栈推荐(一)——原生移动端是天堂还是泥潭

随着以服务器端的NodeJS.桌面端的Electron和原生移动端React Native为代表的全栈JS迅猛发展,真正生产环境中的"JS/前端技术全栈化"已经逐渐变为可能.尽管在前端以外的领域里,JavaScript还不能取代各领域原本主流语言的地位,但对于大量初创型公司或技术人手不足的团队来说,更低的学习成本本身就是一种极大的优势. 对于技术学习而言,学得好和学得巧同样重要,选对技术栈进行学习,可能会节省大量的时间和精力,更有可能带来更多的机会.因此结合最新的NingJS会议上的趋

Weex&ReactNative对比

weex开源有一段时间了,其实去年刚听说weex这个项目的时候,我就对它很敢兴趣,很大程度上是因为我自己对vue的喜爱.我从13年左右开始接触vue,14年开始熟悉这个轻量的框架,并慢慢的推荐给了身边的朋友,当我得知手淘的weex是基于vue的时候,就有了想了解一下的冲动.在weex开源之前,我刚好有几个月的时间一直在致力于ReactNative的优化改造,加上自己之前使用ReactJS的一些经验,对于ReactNative项目也算有了一些自己的见解.趁着weex开源了,赶在前几天,我花了两三天

更轻更快的Vue.js 2.0与其他框架对比(转)

更轻更快的Vue.js 2.0 崭露头角的JavaScript框架Vue.js 2.0版本已经发布,在狂热的JavaScript世界里带来了让人耳目一新的变化. Vue创建者尤雨溪称,Vue 2.0 在性能上有显著的提升,同时保持轻量的文件下载: 渲染层基于一个轻量级的Virtual DOM实现进行了重写,该Virtual DOM实现fork自snabbdom.新的渲染层相比v1带来了巨大的性能提升,也让Vue 2.0成为了最快速的框架之一. 根据1.0到2.0迁移指南,“大约90%的API是相

React-Native 与 Android 集成 <三、原理与总结>

原文:腾讯Bugly(http://bugly.qq.com) ReactNative 让开发者使用 JavaScript 和 React 编写应用,利用相同的核心代码就可以创建 基于Web,iOS 和 Android 平台的原生应用.Facebook 在2015.9.15发布了 ReactNative for Android,把JavaScript 开发技术扩展到了Android平台. 当前腾讯产品部分介绍: 目前ReactNative的版本节奏大概是两周一个版本,空间从11的版本便开始尝试接

最火移动端跨平台方案盘点:React Native、weex、Flutter

1.前言 跨平台一直是老生常谈的话题,cordova.ionic.react-native.weex.kotlin-native.flutter等跨平台框架的百花齐放,颇有一股推倒原生开发者的势头. 为什么我们需要跨平台开发? 本质上,跨平台开发是为了增加代码复用,减少开发者对多个平台差异适配的工作量,降低开发成本,提高业务专注的同时,提供比web更好的体验.嗯-通俗了说就是:省钱.偷懒. 目前移动端跨平台开发中,备受关注的方案大致归纳为以下几种情况: 1)react native.weex均使

what's deviceone

DeviceOne技术介绍 一.     DeviceOne是什么 DeviceOne(以下简称Do)是一个移动开发的平台或技术,与之对等的是Android移动开发技术,iOS移动开发技术,Windows(phone)移动开发技术.我们可以从下面的图里看出他们之间的关联和区别      开发环境 IDE 开发语言 调试 API 编译 生成安装包 Android Mac/ Windows Eclipse/ Android Studio Java 模拟器/真机 Android SDK 本地 apk安