React Native和cordova Ionic那个好

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React Native和cordova Ionic那个好相关的知识,希望对你有一定的参考价值。

React Native和phoengap/cordova ionic那个好

React是什么

  React是Facebook在2013年发布的一个前端框架,而如今的React俨然已经演变成一个前端生态,这个生态圈包含了众多基于React的框架:ReactJS、ReactCanvas、ReactNativeforios、ReactNativeforandroid(手机app开发ty300.com)。由于Facebook的大力支持和众多开发者的追捧,React在前端框架中备受青睐。

  React的API非常简单,然而React的思想却比较独特,如:组件化开发、单向数据流、虚拟DOM,能准确理解React的思想并使用其完成开发并不容易,现从四个维度总结React开发中一些符合其思想的开发技巧:组件封装、数据流、事件系统和JSX。

Ionic是什么?
ionic是目前最有潜力的一款 html5 手机应用开发框架(入门教程qkxue.net)。通过 SASS 构建应用程序,它提供了很多 UI 组件来帮助开发者开发强大的应用。 它使用 javascript MVVM 框架和 AngularJS 来增强应用。提供数据的双向绑定,使用它成为 Web 和移动开发者的共同选择,是基于angualrjs ,angualrjs 的老大是谷歌


React自诞生以来,一直以其渲染速度快著称,特别与AngularJS和EmberJS等相比更是如此。但也有人不同意这个观点,以色列软件开发公司500Tech的CEO Boris Dinkevich近日发表博文称,其实React并不真正比AngularJS快。

下面分析一下 React Native和phoengap ionic到底那个好那个快

还有react-native 构建的基础原来是reactJS 这家伙。

至于好不好,打鸡血也好,激动也好,第三方框架都是存在风险,一旦苹果和android 平台锁死这个开关,第三方框架还是要死路一条。

React之所以被人们认为快的原因,是因为DOM操作起来很慢,而React采用了Virtual DOM来避免直接对DOM进行操作。Boris认为,实际上官方并没有提供Demo来说明性能提升了多少,而Virtual DOM带来的Javascript对数据的复杂操作可能会抵消它的好处。在考察了演示React和AngularJS ionic对比的两个广为传播的Demo后,Boris的结论是,基于Virtual DOM的框架并不比传统的框架Angularjs Ionic要快。

第一个大家看得最多的Demo来自于React.js Conf 2015上的演示,内容是React和AngularJS的对比(Demo:React,AngularJS)。Boris发现,这个demo其实对AngularJS并不公平,因为demo作者忽视了AngularJS里基本的提升性能的语句“track by”。只需简单的修改一行代码,将原来的:

ng-repeat="(key, db) in databases"

修改为:

ng-repeat="(key, db) in databases track by key"

就可以看到,修改后的AngularJS Demo速度大大提升,并不比React的表现要慢。

第二个Demo来自于ng-conf 2015的演示,可以看到在Angular的指令中使用React后速度显著提升。但Boris认为这个对比并不公平,因为它演示的是React组件渲染对比Angular渲染和数据处理。在Angular Demo里选择使用isolated scope后,结果显示两者之间的速度差别不大。

Boris的文章在Hacker News上引起了激烈讨论,有些人认为作者言过其实,他们在自己的项目中使用React部分代替Angular后速度快了很多;也有些人拥护作者的观点,认为React在过去的一段时间里被过度营销,一些Demo并未考虑实际情况。

但还有一些人则认为速度并不是React的卖点,用户feedjoelpie表示:React只是使用起来非常友好并且易于理解,是virtual DOM让这一切成为可能,同时速度能够让人接受。DOM diff的目标并不在于让React变得比它的同胞更快,而是让你不用再考虑DOM,取而代之的是关注你前端的全局状态。

 

 

总结:适合自己的才是最好的,无论别人怎么说,都不要信,自己试过才知道,到底那个更好用。

 

ionic react-native和native开发移动app那个好对比帖子:

以上是关于React Native和cordova Ionic那个好的主要内容,如果未能解决你的问题,请参考以下文章

混合式移动应用开发浅析之Ionic/Cordova vs React Native

Ionic 2 - 导入 @ionic-native/geolocation 会导致构建失败

如何用ionicframework进行混合移动应用开发

React Native 在生产中崩溃

React-native 地理定位

React Native - 不同视图之间的导航