随着社交媒体和用户生成内容的爆炸性增长,互联网正朝着更好的方向发展。为了跟上时代的发展,提供更好的交互性,开发者开始构建库和框架来简化交互网站的建设。2006年,John Resig发布了jQuery,使得用HTML编写客户端脚本变得更加容易。随着时间的推移,其他类似的项目出现了。起初,他们是一个庞大的单位,把项目理念强加给开发者。现在,这些库已经开始转变为紧凑和轻量级的库,可以很容易地添加到任何应用程序中。我们来看看最受欢迎的三个。
JavaScript框架概述
开始一个新项目时,总是有许多决定要做。关键决定之一是选择合适的框架或库。幸运的是,Vue.js是一个非常通用的库,可以处理各种任务。
Vue.js
Vue.js库允许您向任何使用JavaScript的编码环境添加交互性和附加功能。Vue可以用来在单独的页面上解决简单的任务,也可以作为成熟的工业应用的基础。Vue.js是构建图形用户界面的高级框架。它还可以与一些现代工具和附加库一起用来构建复杂的单向应用程序。
Vue库最大的优点之一就是不需要任何专门的知识。任何Vue应用程序都是用HTML、CSS和JavaScript编写的——熟悉这些工具会让你立即上手。即使你以前没有做过客户端开发,你也可以基于以前使用MVC设计模式的经验来构建,这和MVVM非常相似。
反应
借助React库,我们可以轻松创建交互式用户界面。集成React时,不需要修改当前项目的代码,只负责界面的渲染,不会带来额外的痛苦。
React系统支持用户界面更新,这使得为应用程序创建健壮的模块化组件变得更加容易。React库通过更新数据来维护大部分用户界面,这对于开发者来说是非常愉快的(难怪这么受欢迎)。
有角的
Angular几乎是一个完整的开发环境。它包含一整套程序,包括TypeScript编译器、AOT编译器和Web服务器。Angular的Web服务器用于调试使用该框架开发的站点。它是用同一个角度命令行界面实用程序启动的。要启动Angular CLI,您需要在Windows命令行中输入项目文件夹,并执行ng serve命令。
Vue、React和Angular的主要特性
React最大的优点之一就是在稳定性和创新性之间有很好的平衡,让用户更容易适应。由于这个原因和其他原因,React保持了自己的地位,越来越受欢迎。
大小
开发框架的大小对未来应用程序的性能至关重要。在应用程序开始正常工作之前,必须加载框架和应用程序。
这方面,Angular最复杂,143KB。其次是React,43KB,Vue.js只有23KB..除非您的应用程序非常大,并且包含大量组件,否则最好使用较小的结构。
演出
在Web项目中,性能与DOM密切相关:DOM表示浏览器/代码中的网页。当更新发生时,您可以通过DOM控制网页。
Vue、React和Angular的性能因任务不同而有所差异,但在大多数情况下,它们都非常高效和快速。React和Vue都实现了DOM。由于设计良好的结构,Vue提供了出色的性能和内存分配。这也是React和Vue.js优于Angular的原因:他们使用的是虚拟DOM,是原DOM的副本。
注意:DOM是一种将HTML文档的内容表示为对象的方法。此外,还有一个用于管理指定对象的接口。DOM分为正规DOM(也叫真DOM)和虚拟DOM。两者有什么区别?我们来看一个例子。如果想修改HTML标签中找到的一些信息,算法会这样做:真正的DOM会更新所有标签,直到找到需要的片段。在某些情况下,这将对性能和其他参数产生负面影响。虚拟DOM只更新必要的HTML块。
社区
众所周知,React是世界上最流行的框架。它越来越受欢迎,因为它提供了一个真正的承诺。React的Mental Model看起来很可靠,它的组件让创建用户界面变得更容易,它的API也很灵活,很有表现力。整个项目给人的感觉应该是那样的。API库的描述也很友好,更容易给人留下好印象。
从此React库的基本概念和API基本保持不变,但是形成和发展了一整套知识和最佳实践,越来越多的人在使用。Angular以其优势受到高度赞扬,并得到了很多社区的支持。遗憾的是,虽然Vue.js有很多优点,但是并没有像它的竞争对手一样被开发者所接受。
让我们从流行度和相关性的角度来比较这三个框架:
GitHub:目前最流行的框架是Vue.js,虽然是最年轻的,这意味着会有越来越多的项目使用它。
Google搜索:在Google搜索中,React的查询请求最多,其次是Vue.js,目前最不受欢迎的是Angular.js,Angular.js的人气在下降,而Vue.js的人气在上升。
劳动力市场需求:大部分职位空缺都和React.js有关,然后Angular,再然后Vue.js
Vue,React,Angular:我该选哪个?
为了选择最合适的库,首先要仔细分析这些框架,了解自己的需求。无论是一个已经存在很多依赖关系的项目,还是一个你想用熟悉的库开发的新应用,Vue都不会给你带来任何麻烦。您可以继续使用像Bootstrap或Bulma这样的CSS框架,保留为јQuery或主干编写的组件,集成您最喜欢的库来执行HTTP请求,或者使用Promise对象。
要开始用Vue编程,你所要做的就是把Vue.js库连接到Web页面。不需要复杂的装配工具!从头到尾开发一个原型只需要1到2周的时间,可以让你尽可能早且频繁地收集用户反馈。Vue 2引入了服务器端渲染(SSR)支持。这允许您最小化初始数据加载,并根据需要请求新的视图和资源。结合高效的组件缓存,可以进一步降低流量消耗。
React库可以做一些很神奇的事情。因为整个用户界面是由JavaScript定义的,所以可以利用JavaScript丰富的功能在模板中执行各种操作。您只受JavaScript特性的限制,不受模板框架特性的限制。当您想到完全用JavaScript定义的视觉效果时,您可能会想到许多引号、转义字符和createElement调用。不用担心,React库允许您(可选地)使用类似于HTML的JSX语法来定义可视元素,这些语法可以与JavaScript代码共存。
React与其他两个框架的不同之处在于以下概念:
与其说是框架,不如说是库(最初是为了处理UI而创建的);
因为不受框架限制,所以功能更多——更适合专业人士,而不是初学者;
Angular中,很多可以“开箱即用”的主要特性在这里必须单独连接(这种方法有优点也有缺点,对于新手来说是缺点,因为需要做不必要的动作);
它比TypeScript更面向JavaScript(虽然每个版本对TS的支持都在增加);
更容易创建原生Android和iOS移动应用;
有大量第三方库(超过Angular)适合各种场合。
Angular已经被用于许多最大和最复杂的网络应用程序中。
Angular借鉴了服务器端开发中的一些最佳特性,并使用它们来扩展浏览器中的HTML标签。这使得创建具有增强功能的应用程序变得越来越容易。角度应用程序基于MVC设计模式构建,该模式专门用于创建具有以下特征的应用程序:
易于扩展:如果你了解基础知识,即使是最复杂的Angular应用程序也很容易理解,这意味着你可以轻松扩展应用程序,提供实用的新功能。
易于维护:Angular应用程序易于调试,bug易于修复,这意味着长时间运行的Angular应用程序也易于维护。
测试工具:Angular有很好的go mod和端到端测试支持。因此,您可以在用户遇到它们之前找到并修复它们。
标准化:Angular是基于浏览器的内部功能,不会给你的工作带来任何障碍。这允许您创建符合标准的网络应用程序,包括最新的功能(例如,各种HTML5 API)、流行的工具和框架。
这是一个框架——也就是说它为创建Web应用程序设定了规则,并且在初始阶段设定了一个特定的框架,这样初学者可以花更少的时间思考。
Angular有很多功能。如果需要额外的东西,可以连接第三方模块。
Vue.js VS React:双向数据绑定
在Vue中,您可以轻松地将组件变量绑定到表单字段。当您更改变量时,表单字段会更新,当用户更改表单字段时,组件变量也会更新。这比在React中编写事件处理程序容易得多。
另外,很多人喜欢用图表来展示框架的受欢迎程度,其中React的受欢迎程度是Angular的两到三倍。它从创建移动应用程序(本地反应)中受益匪浅,因为它比角度离子更方便。至于Web应用的开发(ReactJS),一切都不是那么简单。
比如Web应用,我发现使用Angular比ReactJS更方便。
可以自己尝试比较不同的方向或者技术。为此,你可以在Google Trends中输入一些关键词,它会为你画出一张漂亮的图表。
反应与角度
与之前的框架不同,Vue.js是一个人创建的,他认为2013年的现有框架过于复杂。Vue的第一版和第二版都是一个人创作的,所以在某些方面可能比竞争对手差,尤其是安全性方面。Vue 3是由一个开发团队创建的,这意味着很多bug和缺点都得到了修复,框架本身的效率也得到了提高。
我应该学习React还是Angular?
最好同时学习Angular和React。这两种框架各有利弊。专家建议新手先学Angular,因为你需要的东西都是“开箱即用”的,这样就不太容易出错(框架会帮你控制)。学完Angular可以学ReactJS和React Native。另外,如果只需要移动应用,也可以直接跳转到React Native。其实你只需要学习框架的特点,仅此而已。剩下的知识都是一般的(OOP,TypeScript,RP)。用1到2周的时间学习框架本身就足够了,你已经可以创建简单的Web应用程序了。
标签
显然,这三个框架非常强大,但同时又非常不同。他们各有利弊,没有一个通用的公式可以用来决定一个绝对的赢家。选择哪个框架取决于您正在创建的应用程序和您的特定要求。在做决定之前,有必要进行全面的研究。这对于从事商业投资的公司而不是单个项目来说尤其重要。
Copyright © 2017-2024 yunrg.cn All Rights Reserved. 山东云如故网络科技有限公司 版权所有 云如故 鲁ICP备19034752号