2020年用于前端开发的5个JS框架。 第二部分

我们将发布该材料的第二部分翻译,该材料专用于开发Web项目客户端部分的五个最佳JavaScript工具。 第一部分讨论了React库和Angular框架。 在这里,我们讨论Vue,Ember和Backbone。



3. Vue


Vue背后的想法来自Angular和React,但是Vue在许多方面比这两个前端开发工具要好。 Vue今年已被下载超过4000万次。 最近发布了Snyk JavaScript Frameworks安全报告 。 它的主要目的是研究React和Angular的安全性,但是其中有一个地方可以研究其他项目。 在Vue中,您可以从此报告中找到仅已知的已修复的4个漏洞

如果您不熟悉Vue,那么这里有一些有关此框架的重要事实。

使用Vue时,组件的逻辑,布局和样式存储在一个文件中。 除样式外,项目材料也存储在React中。 Vue中组件的交互是通过存储组件属性和状态的对象提供的。 在Vue中出现之前,这种方法也已在React中使用。

Vue与Angular相似,它允许您混合使用HTML标记和JavaScript代码。 为了将组件数据集成到模板中,您需要使用Vue指令。 例如v-bindv-if

Vue应该被认为是React的替代品的原因之一是因为在这里如何组织应用程序的状态。 在React项目中,当使用React + Redux捆绑包时,随着应用程序规模的增长,管理其状态所需的程序变得更加复杂。 这可能归结为这样一个事实,即程序员(而不是开发应用程序本身)必须花费大量时间来设置Redux机制。 Vue使用Vuex库来管理状态。 它类似于Flux,是专门为Vue创建的。 使用它比使用Redux方便得多。

如果您想在Vue和Angular之间做出选择,那么您之所以偏爱Vue的原因可以归结为以下事实:与Vue相比,Angular看起来像是一个过于复杂的大型项目,其本质是希望限制开发人员。 Vue比Angular简单得多,并且对程序员没有太多限制。
Vue与Angular和React相比的另一个优势是,您无需学习新的语言即可使用此框架。

ue Vue生态系统的要素


让我们简要介绍一下选择Vue的生态系统:

  • 为了控制Vue应用程序的状态,使用了Vuex库,该库基于与Flux相关的概念。
  • 有适用于Chrome和Firefox的开发人员工具,这些工具使创建Vue项目更加容易。
  • Vue生态系统具有用于Webpack的vue-loader ,使您可以将Vue组件用作单文件组件。
  • 要使用服务器API,可以使用vue-resource HTTP客户端和Axios库。
  • Vue支持Nuxt.js框架,该框架包括对服务器上呈现的应用程序的支持。 Nuxt.js可以被视为Angular Universal的竞争对手。
  • 您可以使用Weex库来开发基于Vue的移动应用程序。

Vue是一个很棒的框架,在可用性方面超越了其他框架。 也许我本人会在不久的将来切换到Vue。 这个框架不像React和Angular那样复杂,并且也非常适合开发各种大小的应用程序。

4.灰烬


Ember 3.13已于今年发布。 在此版本的框架中出现了许多新事物。 灰烬类似于骨干和角形。 它也是最古老的JavaScript框架之一。 但是,尽管如此,在机会方面,他并不落后于年轻的竞争对手。 例如,它支持可跟踪的属性更改技术,该技术使监视应用程序状态的更改变得容易,并使这些更改更容易可视化。

Ember具有相当复杂的架构,可让您快速创建大型客户端应用程序。 它实现了典型的MVC思想。 Ember应用程序是从适配器,组件,控制器,辅助对象,模型,路由,服务,模板,实用程序,附加组件构建的。

Ember最有趣的功能之一是命令行工具(Ember CLI)。 这些工具可帮助前端开发人员高效地工作。 使用Ember CLI,您不仅可以创建项目模板,还可以创建控制器,组件和用于构建应用程序的其他实体的预设。

▍Ember生态系统要素


使用Ember的前端开发人员可以使用以下主要功能:

  • Ember CLI是用于快速创建应用程序原型和进行依赖性管理的命令行工具。
  • 标准Ember Developer Server。
  • 灰烬数据-用于处理数据的库。
  • 车把是Ember应用程序中使用的模板引擎。
  • QUnit是用于测试Ember项目的框架。
  • Ember Inspector-Chrome和Firefox开发人员工具。
  • Ember Observer-Ember CLI的加载项目录。

也许Ember可以被称为一个被低估的框架,但是尽管如此,它对于创建复杂的Web项目还是很有用的。

5. Backbone.js


骨干网是一个基于类似于MVC的架构的JavaScript框架。 假设在MVC中,骨干网中的“控制器”称为“视图”。 骨干视图可以使用各种模板系统。 例如-Moustache,Handlebars,jQuery-tmpl。 在Backbone项目中,您可以使用第三方库。 应该注意的是,唯一坚硬的Backbone依赖关系是Underscore.js库。

Backbone是易于使用的框架,可让您快速开发单页应用程序。 在与Backbone.js结合使用的辅助工具中,我们可以提及诸如卓别林,木偶,胸部等。

如果您需要开发一个可以使用属于不同组的用户的应用程序,则可以使用Backbone集合(数组)来分离模型。 在骨干模型,集合,路线和视图中,您可以使用事件。

▍骨干生态系统要素


骨干生态系统的功能包括:

  • 骨干库包括事件,模型,集合,视图和路由器。
  • Backbone依赖的Underscore.js库包含一组帮助函数,可帮助您编写跨浏览器JS代码。
  • 开发Backbone应用程序时,可以使用各种模板系统。
  • Backbone CLI命令行工具简化了应用程序开发。
  • Marionette,Thorax和Chaplin库可帮助创建具有特定体系结构解决方案的应用程序。

也许Backbone不能被称为本材料中讨论的其他前端开发工具的重要竞争对手。 但是,此框架在开发人员中非常流行。 因此,很可能证明Backbone正是您所需要的。

总结


本文简要概述了Web框架,根据ValueCoders开发人员进行的一项调查,该框架被认为是最好的。 我们希望这篇评论对那些忙于为下一个Web项目选择框架的人做出正确的选择。

亲爱的读者们! 您在什么上编写前端Web项目?


Source: https://habr.com/ru/post/zh-CN476288/


All Articles