共计 3226 个字符,预计需要花费 9 分钟才能阅读完成。
作为开发人员,您肯定据说过出名的 UI 库—React、成熟的前端框架—Angular、以及最新的渐进式框架 –Vue。显然,它们都有各种独特的劣势和性能指标。本文将和您探讨这三种架构在不同方面的优缺点,以不便您在理论利用中做出抉择。
许可证
作为首要思考的因素,咱们通常在抉择开源框架或软件库之前,彻底查看它们的许可证。目前,React、Angular 和 Vue 都应用着 MIT 许可证,因而它们为用户提供了无限的应用水平。您须要在应用之前,认真理解每种许可证的具体含意。
架构 Angular
隶属于 MEAN 栈的 Angular 框架,是各个初创企业热门采纳的技术栈。它基于 TypeScript 的 Web 利用开发残缺框架,次要用于构建单页面的 Web 利用(SPA)。
与原始框架 AngularJS 不同的是,因为基于组件,因而 Angular 2 与各种 MV* 模式并无严密关联。Angular 的构造次要包含了模块 (Modules)、组件(Components) 和服务(Services)。
在 Angular 框架中,每个组件都有一个独立的类或模板,可用于定义应用逻辑与元数据(Decorators)。此类元数据能够提供,无关创立和显示其视图所需块地位的指引。
Angular 体系架构中的另一个重要因素是,由 HTML 编写的各种模板。它们能够包含带有非凡指令的 Angular 模板语法,用以输入反馈性数据,并能提交多个元素。
服务作为 Angular 利用中的一个独特元素,能够被组件用来委派诸如:获取数据或验证输出等业务逻辑工作。虽未明确要求,然而 Angular 倡议用户将利用结构为一组可被重复使用的齐全不同的服务。
React
作为一种开源的前端库,React 次要被用于开发用户界面。因为这种灵便的前端计划,并未对特定的我的项目构造有强制要求,因而 React 开发人员只需几行代码,即可开始应用。
尽管基于 JavaScript,但在大多数状况下,React 可与 JSX(JavaScript XML)联合在一起。后者是一种语法扩大,它容许开发人员同时创立蕴含 HTML 和 JavaScript 的元素。实际上,那些由 JSX 所创立的任何内容,都能够被开发人员应用 React JavaScript API 来创立。相比 DOM,React 岂但有着更弱小的元素,并且它们是 React 利用的最小构建块。而 React 组件则是决定了是否要在整个 Web 利用中,独立且可重用应用的构建块。
Vue
作为一个开源的 Model-View-View-Model 前端 JS 库,Vue 可被用于开发用户界面和 SPA。因为属于渐进式框架,因而它可能与其余工具一起用在前端开发中。Vue 凭借着其多功能性、高性能、以及在 Web 利用上的用户体验,而广受欢迎。
在应用 Vue 的过程中,开发人员通常会工作在 View Model 层上,以确保指标框架通过出现最新的视图,来解决利用数据。Vue 的模板语法可能将可辨认的 HTML,与各种非凡指令性能相结合。开发人员能够应用该语法来创立视图组件。
Vue 中的组件岂但可重用,而且体积小且独立。例如,因为扩大名为.vue 的单文件组件 (Single File Components,SFC) 反对 HTML、JavaScript 和 CSS,因而它能够将所有相干代码都集中到一个文件中。
在大型 Vue.js 我的项目中,为了应用 SFC 来组织代码,咱们能够借用 Webpack 或 Browserify 之类的工具,将 SFC 转换为无效的 JavaScript 代码。
用意和范畴 Angular
Angular 比拟适宜大型和高级我的项目。其次要性能包含:
可用来开发渐进式 Web 利用(Progressive Web App,PWA)。
可从新设计网站利用。
可能设计和建设基于内容的动静网页。
可创立须要简单基础架构的大型企业应用。
React
来自 MERN 栈家族的 React,是一种以构建简单的业务利用闻名的技术栈。作为一款弱小的工具,React 可与 Redux、MobX 或其余流量模式库一起应用。React 比拟适宜如下我的项目:
带有导航项、折叠 / 展开式菜单、能显示沉闷 / 非沉闷状态与按钮、动静输出、用户登录、以及拜访权限调配等,带有多个组件的应用程序。
因为 React 组件具备申明性,因而它能够轻松地解决具备增长和可扩大需要简单我的项目构造。
各种以 UI 为重点的 Web 利用。
Vue
因为 Vue 的学习曲线平缓且容易上手,因而它比拟适宜解决短期问题。通过与现有代码块的轻松集成,Vue 可能被用于如下场景中:
须要具备动画、或交互式元素的 Web 利用开发我的项目。
无需高级技术即可交付原型的需要。
须要与多个应用程序无缝集成的利用。
须要疾速推出 MVP(Model-View-Presenter)的需要。
性能与开发 Angular
Angular 在性能上具备如下长处:
为了加强产品 / 利用的性能,可与第三方无缝集成。
通过提供弱小的组件汇合,以简化编写、更改和应用代码的过程。
其“提前编译器(ahead-of-time-compiler)”可能晋升加载工夫和平安强度。
MVC 模型通过容许视图拆散,来帮忙缩小后盾的查问。
促成将依赖项注入,用作将组件解耦的内部元素。这些为可重用性、以及简化治理与测试铺平了路线。
通过将工作分成逻辑块,来缩小网页的初始加载工夫。
可齐全定制化的设计。
有助于将 HTML 和 TypeScript 编译为 JavaScript,进而放慢浏览器在加载 Web 利用之前的代码编译速度。
React
在性能方面,React 可与 Vue 媲美,毕竟两者都有雷同的架构,都能与 DOM 交互。React 在 Web 开发方面的性能个性如下:
反对捆绑,这对于缩小最终用户的资源占用是至关重要的。
因为提供了单向数据的绑定反对,因而能够更好地管制我的项目。
用户能够轻松地对其进行测试和监控。
适宜那些须要频繁更改的简单利用。
Vue
Vue 的性能次要体现在如下方面:
更平缓的学习曲线。
可能高效地解决简单的单页面利用。
提供丰盛的高端性能。
各自劣势 Angular
提供各种模板、表单、疏导程序、相干体系架构、组件、以及组件之间交互的详细信息。
平滑的双向数据绑定。
反对 MVC 体系架构。
内置模块零碎。
大幅缩小网页的初始加载工夫。
应用 Angular 构建的风行应用程序包含:Tesla、AirBnB、CNN、Nike、Udemy、Linked-in。
React
凭借着其模块化的构造和灵便的代码,可为用户节俭开发工夫和老本。
能为简单的利用提供高性能。
在前端开发期间,更易于保护代码。
反对实用于 Android 和 iOS 平台的挪动原生利用。
应用 React 构建的风行利用包含:Tesla、AirBnB、CNN、Nike、Udemy、Linked-in。
体积玲珑,便于装置和下载。
可复用。
凭借着虚拟化,Vue.js 可能更新网页中的各种元素,而无需提交整个 DOM。
须要较少的额定优化工作。
为加强 Web 利用开发,它容许专家将“模板到虚构”(template-to-virtual)DOM 与编译器离开。
提供牢靠的兼容性和灵活性。
提供独立于利用规模的固定代码库。
用 Vue 构建的风行利用包含:Gitlab、Spendesk、Behance、9Gag、Wizzair、Nintendo。
社区反对与学习曲线
React JS 库是由 Facebook 创立的。它领有大量的开发人员及其社区,可为各种问题提供宽泛的解决方案。
Angular 同样领有大量的开发人员社区。它们可能为那些极具挑战性的、怪异的问题寻求答案。
Vue 也具备良好的生态系统。
在学习曲线方面,React 可供用户疾速学习和实际,Vue 和 Angular 则次之。
小结
总而言之,从前端开发的角度来看,学习和应用 React 是首选。轻量级的 Vue 和 React 则更直观,且性能更优。
宝宝起名 - 更懂年老父母的起名参谋
原文题目:Angular vs. React vs. Vue: Which Framework is Best in 2021?,作者: Nir Sharma