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时代的思想是不能适应于移动互联时代的整体需求的。以上只是我的个人见解,谢谢大家。
相关推荐
小猿口算 ApkAnalyser-APP开发框架分析器,查看APP是用Flutter还是ReactNative或是Weex
本资料包“大前端的工程实践:iOS篇 Android篇 混合式开发篇 - ReactNative、Weex、Weapp.zip”主要涵盖了iOS原生开发以及React Native、Weex和WeApp这三种混合式开发框架。 首先,我们来了解一下iOS开发的基础知识...
React Native Debugger是一款强大的开发工具,特别为在macOS平台上进行React和React Native应用的可视化调试而设计。它提供了丰富的功能,使开发者能够更有效地检查、调试和优化代码,尤其是在处理复杂的Redux状态...
React Native By Example by Richard Kho English | 24 Apr. 2017 | ASIN: B01M31KB4Q | 414 Pages | AZW3 | 4.46 MB Key Features Work on native APIs and UI Elements using React Native Get the best of both...
Flutter、React Native、Weex是三种流行的跨平台开发框架,每种框架都有其优缺点。Flutter使用Dart语言,React Native使用JavaScript语言,Weex使用JavaScript语言。它们都可以实现跨平台支持,但是每种框架都有其...
React Native Page 是一款专为React Native平台设计的分页组件,它可以帮助开发者轻松地在原生移动应用中实现页面滑动切换的效果。React Native是一种由Facebook开发的开源框架,允许开发者使用JavaScript和React来...
本教程通过"Android和React Native混合开发Demo",将详细介绍如何在Android应用中集成React Native,实现原生代码与React Native组件之间的双向通信。 首先,Android原生加载RN页面是混合开发的基础。这涉及到在...
第2课2、手把手教React Native实战之从React到RN 第3课3、手把手教React Native实战之flexbox布局(RN基础) 第4讲4、手把手教React Native实战之flexbox布局(伸缩属性) 第5讲5、手把手教React Native实战之盒子模型...
React Native UWP 应用是将流行的JavaScript框架React Native应用于微软的通用Windows平台(UWP)上,使得开发者能够利用JavaScript编写代码,同时为Windows 10设备提供原生应用程序的体验。React Native UWP结合了...
React Native 瀑布流列表是一种流行的前端技术,它允许开发者构建动态、响应式的界面,以展示内容,尤其是图片和媒体元素,以类似瀑布或下落石头的方式排列。这种布局方式在电商、摄影或者社交媒体应用中非常常见,...
React Native 是一个由Facebook开发的开源框架,它允许开发者使用JavaScript和React来构建原生的iOS和Android应用程序。在这个特定的场景中,我们讨论的是一个React Native组件,它专注于实现截屏功能并监听系统截屏...
React Native 是Facebook推出的一款用于构建原生移动应用的开源框架,它允许开发者使用JavaScript和React来构建iOS和Android应用程序。这个“RNExampleApp-master”压缩包文件很可能包含了一个完整的React Native...
在本文中,我们将深入探讨如何使用React Native框架构建一个类似探探的左右划屏交互 Drawer APP 开发原型。React Native 是Facebook推出的一款用于构建原生移动应用的开源库,它允许开发者使用JavaScript来编写跨...
在React Native框架中,开发者可以利用各种第三方库来扩展原生功能,其中之一就是科大讯飞的语音库。本文将详细探讨如何在React Native项目中集成科大讯飞的语音识别与语音合成功能,以及相关的JavaScript开发和混合...
**React Native UI Library和工具集:react-native-uilib** React Native是一种流行的JavaScript框架,用于构建原生移动应用程序。它允许开发者使用JavaScript和React语法来构建iOS和Android应用,实现了跨平台的...
react native 实现水波纹效果,效果非常棒哦
React Expo 开发 React Native 项目集成方法 React Expo 是一个基于 React 的跨平台框架,它提供了强大的功能来帮助开发者快速构建跨平台应用。今天,我们将探索如何使用 React Expo 开发 React Native 项目,并将 ...
React Native 单选,多选控件,完全支持自定义。