【转】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时代的思想是不能适应于移动互联时代的整体需求的。以上只是我的个人见解,谢谢大家。
转自 https://segmentfault.com/a/1190000006061167
相关文章 http://www.cnblogs.com/benpaodexiaopangzi/p/6045685.html
【转】ReactNative&weex&DeviceOne对比的更多相关文章
- ReactNative&weex&DeviceOne对比
React Native出来有一段时间了,国内的weex和deviceone是近期发布的,我可以说从2011年就开始关注快速开发的跨平台平台技术了,接触过phoneGap.数字天堂.appcan等早期 ...
- ReactNative与NativeScript对比报告
综合这段时间对ReactNative(下称RN)和NativeScript(下称NS)的简单学习了解,分别从不同方面分析对比二者的优缺点. 页面结构 NS一个页面的目录结构: RN的一个页面一般就是一 ...
- [Web前端] WEEX、React-Native开发App心得 (转载)
转自: https://www.jianshu.com/p/139c5074ae5d 2018 JS状态报告: https://2018.stateofjs.com/mobile-and-deskto ...
- Weex 和 React Native 的比较看这里
写在前面 目前主流的应用大体分成三类:Native App, Web App, Hybrid App. Native App 特点: 性能好 完美的用户体验 开发成本高,无法跨平台 升级困难 (审核) ...
- React Native初探
前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...
- 移动web端的react.js组件化方案
背景: 随着互联网世界的兴起,web前端开发的方式越来越多,出现了很多种场景开发的前端架构体系,也对前端的要求日益增高,早已经不是靠一个JQuery.js来做前端页面的时代了,而今移动端变化最大,近 ...
- 移动APP开发框架盘点
移动APP开发框架盘点 总体概述 现在比较流行的移动APP开发框架有以下六种:网页.混合.渐进.原生.桥接.自绘.前三种体验与Web的体验相似,后三种与原生APP的体验相似.这六种框架形式,都有自己适 ...
- 【优质】React的学习资源
React的学习资源 github 地址: https://github.com/LeuisKen/react-collection https://github.com/reactnativecn/ ...
- UI系统的核心在于渲染机制:效率与生命--原生渲染为何比webview渲染快?
作者:谷宝剑链接:https://www.zhihu.com/question/264592475/answer/283852178来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
随机推荐
- docker --Nexus仓库
Nexus 简介 Nexus 是个仓库管理器,目前主要分2大版本:2.X 和 3.X.2.X 主要支持的格式是Maven.P2.OBR.Yum.3.X主要支持的是Docker.NuGet.npm.Bo ...
- hibernate 中文文档
转载:http://blog.csdn.net/kevon_sun/article/details/42850387 Hibernate Annotations 参考文档 3.2.0 CR1 目录 前 ...
- wordpress文章页两侧添加分页导航箭头
分页导航 如果添加在文章页的两侧,很方便读者翻阅,小编发现好多站长的博客都添加了这一功能,百度了一下,就是JS和css的功能,经过测试成功,分享一下流程. 1.添加Js 在headr.php或者foo ...
- MT【55】近零点
[Among the natural enemy of mathematics, the most important thing is that how do we konw somethi ...
- Linux 下 wordpress 无法安装插件
修改目录权限mkdir -p wp-content/tmpchown -R www:www wp-contentchmod -R 777 wp-content 配置修改wp-config.php搜索 ...
- [luogu#2019/03/10模拟赛][LnOI2019]长脖子鹿省选模拟赛赛后总结
t1-快速多项式变换(FPT) 题解 看到这个\(f(x)=a_0+a_1x+a_2x^2+a_3x^3+ \cdots + a_nx^n\)式子,我们会想到我们学习进制转换中学到的,那么我们就只需要 ...
- cf1063A Oh Those Palindromes (贪心)
给一些字符 求它们能拼成的字符串 的回文子串的个数最大值 对应的那个字符串 就是把相同的都放一起是最优的,排下序就行了... #include<bits/stdc++.h> #define ...
- intent 几种用法
Intent 应该算是Android中特有的东西.你可以在Intent中指定程序 要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料.都指定好后,只要调用start ...
- jquery&bootstrap
学会了用bootstarp和jquery的引用,布局就简单多了,但就是不怎么自由,必须按照固定的来: 引用文件: <script type="text/javascript" ...
- 关于next.js中的css
css进行了全局和局部的限制 export default () => ( <div className='hello'> <p>Hello World</p> ...