百科狗-知识改变命运!
--

Vue React Angular 区别比较

百变鹏仔1年前 (2023-12-23)阅读数 7#综合百科
文章标签版本视图

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

快速对比:

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

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 更好的支持

2013年 Facebook开源了React,7月对外发布v0.3.0

目前最新的版本是18.1.x

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了

react.js,angular.js,vue.js学习哪个好

vue的上手难度更低,而且是渐进式的框架,起初可以当模板来使用。

Vue React Angular 区别比较

随着学习的深入可以慢慢上vue全家桶。而且是国人出品,文档详细。

讲真,同类框架中,vue的文档绝对是最棒的。

引用一段vuejs官方的解释。

vue对比其它框架

Angular

选择 Vue 而不选择 Angular,有下面几个原因,当然不是对每个人都适合:

在 API 与设计两方面上 Vue.js 都比 Angular 简单得多,因此可以快速地掌握它的全部特性并投入开发。

Vue.js 是一个更加灵活开放的解决方案。它允许以希望的方式组织应用程序,而不是任何时候都必须遵循 Angular 制定的规则。它仅仅是一个视图层,所以可以将它嵌入一个现有页面而不一定要做成一个庞大的单页应用。在配合其他库方面它给了更大的的空间,但相应,也需要做更多的架构决策。例如,Vue.js 核心默认不包含路由和 Ajax 功能,并且通常假定在应用中使用了一个模块构建系统。这可能是最重要的区别。

Angular 使用双向绑定,Vue 也支持双向绑定,不过默认为单向绑定,数据从父组件单向传给子组件。在大型应用中使用单向绑定让数据流易于理解。

在 Vue.js 中指令和组件分得更清晰。指令只封装 DOM 操作,而组件代表一个自给自足的独立单元 —— 有自己的视图和数据逻辑。在 Angular 中两者有不少相混的地方。

Vue.js 有更好的性能,并且非常非常容易优化,因为它不使用脏检查。Angular,当 watcher 越来越多时会变得越来越慢,因为作用域内的每一次变化,所有 watcher 都要重新计算。并且,如果一些 watcher 触发另一个更新,脏检查循环(digest cycle)可能要运行多次。 Angular 用户常常要使用深奥的技术,以解决脏检查循环的问题。有时没有简单的办法来优化有大量 watcher 的作用域。Vue.js 则根本没有这个问题,因为它使用基于依赖追踪的观察系统并且异步列队更新,所有的数据变化都是独立地触发,除非它们之间有明确的依赖关系。唯一需要做的优化是在 v-for 上使用 track-by。

有意思的是,Angular 2 和 Vue 用相似的设计解决了一些 Angular 1 中存在的问题。

React

React.js 和 Vue.js 确实有一些相似 —— 它们都提供数据驱动、可组合搭建的视图组件。当然它们也有许多不同。

首先,内部实现本质上不同。React 的渲染建立在 Virtual DOM 上——一种在内存中描述 DOM 树状态的数据结构。当状态发生变化时,React 重新渲染 Virtual DOM,比较计算之后给真实 DOM 打补丁。

Virtual DOM 提供了一个函数式的方法描述视图,这真的很棒。因为它不使用数据观察机制,每次更新都会重新渲染整个应用,因此从定义上保证了视图与数据的同步。它也开辟了 JavaScript 同构应用的可能性。

Vue.js 不使用 Virtual DOM 而是使用真实 DOM 作为模板,数据绑定到真实节点。Vue.js 的应用环境必须提供 DOM。但是,相对于常见的误解——Virtual DOM 让 React 比其它的都快, Vue.js 实际上性能比 React 好,而且几乎不用手工优化。而 React,为了最优化的渲染需要处处实现 shouldComponentUpdate 和使用不可变数据结构。

在 API 方面,React(或 JSX)的一个问题是,渲染函数常常包含大量的逻辑,最终看着更像是程序片断(实际上就是)而不是界面的视觉呈现。对于部分开发者来说,他们可能觉得这是个优点,但对那些像咱一样兼顾设计和开发的人来说,模板能让自己更好地在视觉上思考设计和 CSS。JSX 和 JavaScript 逻辑的混合干扰了自己将代码映射到设计的思维过程。相反,Vue.js 通过在模板中加入一个轻量级的 DSL (指令系统),换来一个依旧直观的模板,且能将逻辑封装进指令和过滤器中。

React 的另一个问题是:由于 DOM 更新完全交给 Virtual DOM 管理,当想要自己控制 DOM 时就有点棘手了(虽然理论上可以做到,但是这样做就本质上违背了 React 的设计思想)。如果应用需要特别的自定义 DOM 操作,特别是复杂时间控制的动画,这个限制就很讨厌。在这方面,Vue.js 更灵活,有许多用 Vue.js 制作的 FWA/Awwwards 获奖站点。

个人推荐就是,vue的入门简单,也有很多公司在用,不愁没人要,react入门难,函数式编程吓人啊。。但是真很好用。。angular不推荐学了。。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)