美文网首页web前端技术分享
Vue React Angular 区别比较

Vue React Angular 区别比较

作者: 宏势 | 来源:发表于2022-05-13 11:00 被阅读0次
logo.png

三大主流框架相比之前的框架来说,可以说是革命性的,主要是引入响应式组件化 两大特性

  • 响应式
    响应式也就是数据驱动视图,也称MVVM模式,替代了之前用大量jquery代码操作dom方式,实现视图与数据分离,方便性和可读性都大大提高
  • 组件化
    组件化事独立和可复用的代码单元,通过组件化开发大幅度提高开发效率和复用性

快速对比:

Vue React Angular
一句话概括 构建用户界面的渐进式框架 构建用户界面的高效且灵活JS库 基于TypeScript的开发平台
创始人 在Google 工作的尤雨溪 Facebook公司 Google公司
初始发行 2014年1月正式对外发布0.8.0版本 2013年7月发布v0.3.0版本 2016年9月发布Angular2
性能 优秀 优秀 优秀
学习曲线 小的学习曲线 中等学习曲线 陡峭的学习曲线
语言 javacript也支持typescript 纯javascript typescript
商业支持 通过众包赞助 facebook公司 Google公司
流行程度 Github 196k 星 Github 188k 星 Github 81.3k星
关注点 分离关注点 关注灵活性 基于面向对象分层结构
模型 基于VirtualDom 基于VirtualDom 基于MVC架构
非常适合 适用于中小型web开发 适用于iOS和Android的现代Web开发和原生渲染应用程序 丰富大型Web应用程序
公司使用 国内公司(首先) Facebook,Uber,Netflix,Twitter,Reddit,Udemy,Paypal,Walmart Google,Wix,weather.com,Forbes

特性区别

共同特点除了两大特性响应式和组件化,还有比如路由等等

  • 双向数据绑定
    Angular使用双向数据绑定,React使用单向数据绑定,Vue支持两者,React要想实现双向绑定需要额外实现,比较麻烦

  • 代码结构
    Vue与Angular语言比较像,特别是Vue2.x跟AngularJs,Vue3.x 高度集成Typescrpt以后,跟Angular比较像。因为Vue的想法很多来自于AngularJs。Angular采用MVC分层结构,严格面向对象,页面组件会包含三个文件,组件html,css,ts,而Vue会倾向于把这三个内聚在一个.vue文件里面,所以Angular会多很多文件。

  • 语言支持:
    Angular必须使用Typescript来开发,代码文件都是ts的,Vue2.x版本只是支持ts,但是主要还是javascript,到了Vue3.x 才实现与ts高度支持,变成主要ts文件了,而React 就是一切都是javascript

  • JSX
    JSX是一种JavaScript的语法扩展。在 React 中,使用JSX来描述用户界面,所有的组件的渲染功能都依靠 JSX;Vue也支持JSX语发,但还是页面还是使用Html模板;Angular不支持JSX。对于习惯HTML 的开发者来说,Html模板比起 JSX 读写起来更自然, 对于React方式会不习惯

  • 指令
    Angular与Vue都支持指令,React没有指令概念但通过其它替换

选型建议

  • 三个框架性能表现都非常快,因此速度并不是选型的决定性因素
  • 如果您新手,推荐选择Vue,可快速上手开发
  • 如果您喜欢干净的代码,在应用程序中关注分离点 推荐使用Vue
  • 如果您喜欢面向对象编程,Typescript编码,Angular是最佳选择
  • 如果您更看重灵活性,推荐React
  • 如果您是JavaScript爱好者,推荐React,因为它就是强大JS库

从github上面来看,vue最火,与React相差不大,Angular相对比较一般;React和Angular主要是国外公司,特别是大厂的都在用,适合大型系统,国内阿里也是用React,Vue主要国内公司用,特别合适那种中小型应用。建议新手先学Vue,后面再学React或者Angular。

框架历史

Vue

2013年,在Google工作的尤雨溪,受到 AngularJs启发,开发出了一款轻量级框架,最初命名为 Seed,12月更名为Vue,代表生机勃勃的绿色logo。用过的人会发现,其实vue2.6.x 语法跟Angularjs非常像,当然vue解决了angularjs 很多弊端

2014年1月 正式对外发布0.8.0版本

2015.10 发布1.0.0是第一个里程碑,随着vue-router、vuex、vue-cli 相继发布,标志着 Vue从一个视图层库发展为一个渐进式框架。

2016.10 发布2.0.0 第二个重要里程碑,吸收了React的虚拟Dom方案,还支持服务端渲染,也是从这个版本开始,火起来的。

2019.02 发布2.6.x 版本,承前启后的版本,在这之后就是3.x.x了

2020.09.18 正式发布v3.0.0,更小更快,对typescript 更好的支持

Vue 作为后起之秀,发展最快

React

2013年 Facebook开源了React,7月对外发布v0.3.0
目前最新的版本是18.1.x

Angular

Angular2.0之前其实叫AngularJS(1.0-1.8),Angular指的是Angular 2.0及之后版本

AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后被 Google 收购,那个时候angularjs版本更新很慢到2016年angularjs版本才是1.7.*,更新速度比较慢, 目前最新的是1.8.x版本

2016年09月发布 Angular2.0,彻底从底层重构了,现在已经是分开两个产品,Angular2.0以后更新速度就快了,每个6个月就会升级一个大版本,目前最新是v13.3.x了

相关文章

网友评论

    本文标题:Vue React Angular 区别比较

    本文链接:https://www.haomeiwen.com/subject/igzrertx.html