react和angular2的区别 React真的比AngularJS快吗
react和angular2的区别
学习的话,感觉Angular2比较好,把1.x里的坑都填上了,组件式开发逻辑清晰,可以使用TypeScript,类似Java的语法如果有面向对象程序开发经验上手很容易。Angular2性能上进步很大,貌似是使用了浏览器多线程渲染,官方说速度提升了5倍。支持服务器渲染,在加载页面时不用等到所有脚本文件加载完后渲染,直接使用服务器渲染好的页面,看上去提高了加载速度。Angular和React区别就是,Angular是一个大而全的MV*框架,Web开发中经常用到的组件都有,比如:异步网络请求加载、数据双向绑定这些用的很爽的功能,React只是View层,加上Flux才算一个框架,可以和各种第三方库配合使用,适合快速开发。可能是用惯了Angular,感觉React的数据单向流动模式很麻烦。这两个框架都支持NativeApp,各有优缺点,这个争论会持续很长时间,个人感觉Angular2比较有前景 。
React真的比AngularJS快吗
React自诞生以来,一直以其渲染速度快著称,特别与AngularJS和EmberJS等相比更是如此。但也有人不同意这个观点,以色列软件开发公司500Tech的CEO Boris Dinkevich近日发表博文称,其实React并不真正比AngularJS快。
React之所以被人们认为快的原因,是因为DOM操作起来很慢,而React采用了Virtual DOM来避免直接对DOM进行操作。Boris认为,实际上官方并没有提供Demo来说明性能提升了多少,而Virtual DOM带来的Javascript对数据的复杂操作可能会抵消它的好处。在考察了演示React和AngularJS对比的两个广为传播的Demo后,Boris的结论是,基于Virtual DOM的框架并不比传统的框架要快。
第一个大家看得最多的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,取而代之的是关注你前端的全局状态。
react和angularjs可以一起混用吗
可以。
使用AngularJS开发的项目拥有极好的可维护性,AngularJS拥有一系列简单易用的功能,有利于快速开发大型的Web项目。
初识时,AngularJs的双向数据绑定和所有的数据源都放在Model中的设计理念让我惊叹,在实际的开发中,有效地减少了应用程序中的数据冗余。