随着社交媒体和用户天生内容的爆炸式增长,互联网正在向更好的方向发展。为了跟上时期发展的步伐,供应更好的交互性,开拓职员开始构建库和框架来简化交互式站点的构建。2006 年,John Resig 发布了 jQuery,使得在 HTML 中编写客户端脚本变得更加随意马虎。随着韶光的推移,其他类似的项目涌现了。刚开始,它们是一个弘大的单体,而且把项目的构想强加给开拓者。现在,这些库已经开始向紧凑型轻量级库转变,可以非常随意马虎地添加到任何运用程序中。让我们来看看个中最受欢迎的三个。
JavaScript 框架概览
开始一个新项目总是要做许多决定。个中一个关键决策便是选择得当的框架或库。幸运的是,Vue.js 是一个功能非常多样化的库,可以处理各种各样的任务。
Vue.js 这个库让你可以将交互性和附加功能添加到任何利用 JavaScript 的编码环境中。Vue 既可以在单独的页面上用来办理大略的任务,也可以作为成熟的工业运用程序的根本。Vue.js 是一个用于构建图形用户界面的高等框架。它也可以与一些当代工具和附加库一起,用于构建繁芜的单向运用程序。
Vue 库个中一个最大的优点是它不须要任何分外知识。任何 Vue 运用程序都是利用 HTML、CSS 和 JavaScript 编写的——熟习这些工具就可以立即投入事情。纵然你以前从未做过客户端开拓,也可以基于以前的 MVC 设计模式利用履历进行构建,这种模式与 MVVM 非常相似。
React借助 React 库,我们可以轻松地创建交互式用户界面。集成 React 时,不须要变动当前项目的代码,它只卖力渲染界面,不会额外带来痛楚。
React 系统支持用户界面更新,使得为运用程序创建健壮的模块化组件更加随意马虎。React 库通过数据更新来实现大部分用户界面掩护事情,这对开拓职员来说非常令人愉快(难怪它如此受欢迎)。
AngularAngular 差不多是一个完全的开拓环境。它包含一整套程序,包括 TypeScript 编译器、AOT 编译器和 Web 做事器。Angular 的 Web 做事器用于调试利用这个框架开拓的站点。它是用同一个 Angular CLI 实用程序启动的,要启动 Angular CLI,你须要在 Windows 命令行中进入项目文件夹,并实行 ng serve 命令。
Vue、React 和 Angular 的紧张特色React 最大的个中一个上风是:在稳定性和创新性之间做了很好的平衡,使得用户比较随意马虎适应。这个缘故原由以及其他一些缘故原由使 React 保持了它的地位,并得到越来越多的人气。
图片来源:https://insights.stackoverflow.com/trends?tags=reactjs%2Cvue.js%2Cangular%2Cangularjs
大小开拓框架的大小对未来运用的性能至关主要。框架和运用程序必须在运用程序开始正常事情之前加载。
在这方面,Angular 最繁芜,有 143KB。React 次之,有 43KB,而 Vue.js 只有 23KB。除非你的运用特殊大,并且包含了大量的组件,否则最好利用更小的构造。
性能在 Web 项目中,性能与 DOM 密切干系:DOM 在浏览器 / 代码中表示 Web 页面。在发生更新时,你可以通过 DOM 掌握 Web 页面。
Vue、React 和 Angular 的性能会由于任务的不同而有所差异,但在大多数情形下,它们都非常高效和快速。React 和 Vue 都实现了 DOM。得益于其精心设计的构造,Vue 供应了出色的性能和内存分配。这便是 React 和 Vue.js 优于 Angular 的地方:它们利用了虚拟 DOM——原始 DOM 的复本。
把稳:DOM 是一种将 HTML 文档的内容表示为工具的方法。此外,还有一个用于管理指定工具的接口。DOM 分常规 DOM(也称为真 DOM)和虚拟 DOM。它们有什么差异呢?让我们来看一个例子。如果你想修正在 HTML 标签中找到的某些信息,算法将会这样做:真正的 DOM 将更新所有标签,直到它找到它须要的片段。在某些情形下,这会对性能和其他参数产生负面影响。虚拟 DOM 则只更新必要的 HTML 块。
社区React 是天下上最盛行的框架,这已不是什么秘密。它越来越受欢迎,由于它供应了真正的 Promise。React 的 Mental Model 看起来很可靠,其组件让创建用户界面变得更随意马虎,API 灵巧且富有表现力,全体项目给人的觉得是就该当那样。对 API 库的描述也友好,更随意马虎给人留下良好的印象。
从那时起,React 库在基本观点和 API 方面就基本保持不变,但已经形成并发展出了一整套的知识和最佳实践,越来越多的人在利用它。Angular 因其优点而备受赞誉,并拥有大量的社区支持。遗憾的是,只管 Vue.js 有很多好处,但它并没有像它的竞争对手那样被开拓者所接管。
下面让我们从盛行度和干系性两个方面比较下这三个框架:
GitHub:目前,Vue.js 是最盛行的框架,只管它是最年轻的,这意味着越来越多的项目将利用它。谷歌搜索:在谷歌搜索中,React 查询要求最多,紧随其后的是 Vue.js。目前最不受欢迎的是 Angular.js。Angular.js 的人气不才降,而 Vue.js 的人气却在上升。劳动力市场需求:大多数职位空缺与 React.js 有关,然后是 Angular,再然后才是 Vue.js。Vue、React 和 Angular:该选哪个?
为了选出最得当的库,你该当首先仔细剖析这些框架并理解自己的需求。无论是有许多依赖项的现有项目,还是你想利用熟习的库进行开拓的新运用程序,Vue 都不会给你带来任何麻烦。你可以连续利用 Bootstrap 或 Bulma 这样的 CSS 框架,保留为јQuery 或 Backbone 编写的组件,集成你最喜好的库实行 HTTP 要求,或利用 Promise 工具。
要开始利用 Vue 进行编程,你所要做的便是将 Vue.js 库连接到 Web 页面。不须要繁芜的组装工具!
从头到尾开拓一个原型只须要 1 到 2 周的韶光,这让你能够尽早并常常地网络用户反馈。Vue 2 引入了做事器端渲染(SSR)支持。这让你可以最小化初期的数据加载,并根据须要要求新的视图和资源。与高效的组件缓存相结合,可以进一步减少流量花费。
React 库能够做一些令人惊叹的事情。由于全体用户界面都是用 JavaScript 定义的,以是你可以利用 JavaScript 的丰富功能在模板中实行各种操作。你只会受到 JavaScript 特性的限定,而不会受到模板框架特性的限定。当你想到完备用 JavaScript 定义的视觉效果时,你可能会想到很多引号、转义字符和 createElement 调用。别担心,React 库许可你(选择性地)利用可以与 JavaScript 代码共存的 HTML-like JSX 语法定义可视元素。
React 与其他两个框架在以下理念上有所不同:
与其说它是一个框架,不如说它是一个库(最初是为了处理 UI 而创建的);由于它不受框架的限定,以是它的功能更多——更适宜专业人士,而不是初学者;在 Angular 中许多可以“开箱即用”的紧张特性,在这里必须单独连接(这种方法有优点,也有缺点,对付初学者来说是缺陷,由于须要做不必要的动作);更多地面向 JavaScript 而不是 TypeScript(只管每个版本对 TS 的支持都在增加);更便于创建原生 Android 和 iOS 移动运用程序;拥有大量适用于各种场合的第三方库(多于 Angular)。
Angular 已经被用在了许多规模最大、最繁芜的 Web 运用程序中。
图片来源:https://www.madewithangular.com/
Angular 借鉴了做事器端开拓中的一些最佳特性,并用它们来扩展浏览器中的 HTML 标记。这样,创建具有增强功能的运用程序就更大略轻松了。Angular 运用程序基于 MVC 设计模式构建,这个模型致力于创建具有以下特色的运用程序:
易于扩展:如果你理解了根本知识,纵然是最繁芜的 Angular 运用,你也很随意马虎就能够理解,这意味着你可以很轻松地扩展运用来供应实用的新功能。易于掩护:Angular 运用程序很随意马虎调试,Bug 很随意马虎修复,这意味着长期运行的 Angular 运用也很随意马虎掩护。测试工具:Angular 有良好的 go mod 和端到端测试支持。因此,你可以在用户碰着之前找到并修复它们。标准化:Angular 基于浏览器的内部功能,不会给你的事情带来任何阻碍。这让你可以创建符合标准的 Web 运用程序,包含最新的功能(例如,各种 HTML5 API)、盛行的工具和框架。这是一个框架——这意味着它设定了创建 Web 运用程序的规则,在初始阶段设定了特定的框架,让初学者可以少费脑筋。Angular 功能极多,如果须要额外的东西,可以连接第三方模块。Vue.js VS React:双向数据绑定
在 Vue 中,你可以轻松地将组件变量绑定到表单字段。当你更改变量时,表单字段会更新,当用户变动表单字段时,组件变量也会更新。这比编写 React 中的事宜处理程序要随意马虎得多。
此外,很多人喜好用图表展示框架的受欢迎程度,个中 React 是 Angular 的 2 到 3 倍。它从创建移动运用程序(React Native)中获益颇多,由于与 Angular Ionic 比较,它更方便。至于 Web 运用程序(ReactJS)开拓方面,统统就没那么大略了。
例如,对付 Web 运用程序,我创造,利用 Angular 比利用 ReactJS 更方便。
你可以自己考试测验并比较不同的方向或技能。为此,你可以在谷歌趋势中输入一些关键字,它会为你画出俊秀的图表。
Vue.js vs React vs Angular与之前的框架不同,Vue.js 是由一个人创建的,他认为 2013 年已经有的框架都太繁芜。Vue 的第一个和第二个版本都是由一个人创建的,因此,在某些方面,它可能比竞争对手更糟糕,尤其是在安全方面。Vue 3 是由一个开拓团队创建的,这意味着现在许多 Bug 和缺陷都得到了修复,框架本身的效率也得到了提升。
我该当学习 React 还是 Angular?最好同时学习 Angular 和 React。这两种框架各有优缺陷。专家建议初学者首先学习 Angular,由于你所需的统统都是“开箱即用”的,这样更不随意马虎犯错(框架会帮你掌握)。在学习了 Angular 之后,你可以学习 ReactJS 和 React Native。其余,如果你只须要移动运用,你也可以直接跳到 React Native。事实上,你只须要学习框架的特性,仅此而已。别的的知识都是通用的(OOP、TypeScript、RP)。学习框架本身 1 到 2 周就足够了,你已经可以创建大略的 Web 运用程序了。
结束语显然,这三个框架都非常强大,但同时又很不一样。它们有自己的上风和劣势,没有一个通用的公式可以用来决出一个绝对的赢家。选哪个框架好,要看你正在创建的运用程序和你的特定需求。在做决定之前有必要进行全面的研究。对付那些从事商业投资而不是单个项目的公司来说,这一点尤其主要。
原文链接:
https://northell.medium.com/react-vs-vue-vs-angular-what-to-choose-for-web-development-abc5565d3f11