web前端的框架可谓五花八门,多到让你想象不到,但能沉淀下来的不多,而所谓的前端三大框架,指的时Angular、React、Vue,这三个框架时当下最为流行也时最多人用的框架,我故意这样写意在说明三大框架的出现顺序,而且我永远相信要弄懂一个东西,你首先要了解它的来龙去脉,所以下面先说说几个框架各自的特点:
Angular
Angular原名angularJS诞生于2009年,之前我们都是用jquery开发,自从angular的出现让我们有了新的选择,它最大的特点是把后端的一些开发模式移植到前端来实现,如MVC、依赖注入等,创新式的双向数据绑定不知简化了我们多少代码,让我们为之疯狂,特别是表单处理方面,从此名声大噪。
好的框架一般会有两个结果,一个继续不断更新迭代,避免被拍死在沙滩上,一个是被一些大公司收购焕发第二春,angular属于后者被google所收购,且从2.0后改名angular并使用微软的typescript作为开发语言,目前最新版本8.0,照说傍上google与微软这两条大船,前途应该不可限量才对,然而造化弄人,现在angular的市场份额已经被React这个后起之秀和Vue这颗新星远远地甩到脑后。
React
React,facebook出品,正式版推出是在2013年,比angular晚了4年,但得益于其创新式的VirtualDOM,性能上碾压angularJS,一经推出,火的一塌糊涂。 特点很多,VirtualDOM、JSX、Diff算法等,支持ES6语法,采用函数式编程,门槛稍高,但也更灵活,能让开发具有更多可能性。
Vue
Vue作为最后推出的框架(2014年),借鉴了前辈angular和react的特点(如VirtualDOM、双向数据绑定、diff算法、响应式属性、组件化开发等)并做了相关优化,使其使用起来更加方便,更容易上手,比较少适合初学者。网上有很多人说Vue不适合做大型项目,纯属扯淡,Vue在这方面已经优化得很好,当然,大量的响应式属性(监听属性)也许会用一定的性能损耗,但在硬件、网络大力发展的今天,这些细微的性能差异几乎感觉不到。
说完各自的特点再说共同点
都是渐进式框架,都可以通过配套不同的工具实现更强大的功能
都是组件化开发,都能很好地解决分工与维护的问题
对数据流的处理都是单向的(angularJS为双向,但在angular2后的版本全部采用单向数据流)
……
关于前端三大框架的特点其实还有很多,我在这只是做个引子,更多的需要自己去使用去体会才能真正了解三大框架的异同,在这我不会表达xxx比xxx框架优的观点,因为我觉得这样太过于片面,我们也不应该拿关注度来评判一个框架的好坏,angular的关注度低并不影响它是一个伟大框架的地位,每个框架都有其优缺点,存在即合理,只要它能真正解决实际开发过程中的问题,这才是我们想要的框架。