Angular和React简单对比

Angular.js

首先Angular的背后是Google(难道这就是官网被墙的原因?),所以社区基础是不用担心的,整个生态也已经是非常的完整了,从最基本的Tutorial到StackOverflow的问题数到框架本身的剖析都有非常非常多,所以从这个角度看起来Angular应该算是上手比较容易的。


不过Angular目前的问题看起来也很明显

1. 性能 

 同样是TODOMVC的Sample,Angular完全载入用了1.1s(WebPagetest - Visual Comparison)。目前我用到的基于Angular的就是Kibana,不得不说,确实挺慢的。。

2. Angular 2.0

 Angular的2.0几乎是一个推翻重做的框架,估计不会有1.X的upgrade方案。所以如果现在新开始的项目采用Angular的话,会是一个很尴尬的时机。同样,如此大的改动似乎也反面印证了1.X并不是那么好。这篇文章推荐去看看Why you should not use AngularJs



React.js

React很大的特点就是“轻”,再加上VDOM这个很好的idea让React非常非常快(在上面那个测试里面0.3s左右就载入完毕)。另外React和Angular一个很大的不同就是React采用的是one-way data flow。


React的缺点嘛,大概就是现在还太新了很难说将来有没有大的API变化,目前在大的稳定的项目上采用React的,我也就只知道有Yahoo的Email。所以现在很少有批评React的声音也许不是他真的就没有坑,而是那些坑还没有被踩出来而已。


还有就是React本身只是一个V而已,所以如果是大型项目想要一套完整的框架的话,也许还需要引入Flux和routing相关的东西。React的routing我没有研究过,但是Flux的话已经有出现一些批评的声音了。




总结

Angular是真正的大而全的framework,他有自己一套思路,基本你follow这个思路往里面填代码就OK。

React是一个简短有力的library,他只负责解决你某个单一的“痛点”。

http://www.zhihu.com/question/23444167


修改时间 2016-07-05

真诚赞赏,手留余香
赞赏
随机推荐
javascript基础细讲
Apache Rewrite实现URL的跳转和域名跳转
php合成与剪裁图片
FTP over TLS加密传输 Filezilla
mysql无法启动ERROR! MySQL is running but PID file could not be found
ffmpeg 推送流到nginx服务器,生成m3u8 地址
PHP 判断是否为 AJAX 请求
js解析json中的一个问题
怪异模式(Quirks Mode)导致 button 和 input 的大小不统一原因
修改syntaxhighlighter插件的字体大小