Angular之前使用过,最近在使用react,在逐步深入掌握一个东西之前我喜欢对一门新技术的优缺点进行了解:
Angular的适用领域相对窄一些,React可以拓展到服务端,移动端Native部分。(比较流行的Vue比较轻量,适合用于业务场景非常轻的页面中。)
Angular的特点:是将js写在了html中,广泛的工具支持,极少的代码变动,typescript支持(Angular2加入),web components(Angular2加入)。
React的特点:将html放入js,函数式编程,以js为中心,重量小,报错快速清晰。
React缺点:而要用 React,开发者通常还需要借助别的类库来打造一个真正的应用。比如你可能需要额外的库来处理路由、强制单向数据流、进行 API 调用、做测试以及管理依赖等等。要做的选择和决定太多了,让人很有压力。
这里是一些常见框架/库压缩后的大小,从这方面讲react也更有优势。像 Angular、Ember 这样的框架之所以更大是因为它们自带了更多的功能。但是,我关心的点在于:很多应用其实用不到这种大型框架提供的所有功能。在这个越来越拥抱微服务、微应用、单一职责模块的时代,React 通过让你自己挑选必要模块,让你的应用大小真正做到量身定做。在这个有着 200,000 个 npm 模块的世界里,这点非常强大。
- Angular 2: 566k (766k with RxJS)
- Ember: 435k
- Angular 1: 143k
- React + Redux: 139k
读懂 Angular:学一大堆 Angular 特有的语法。
读懂 React:学 JavaScript。