您应该了解的基本JavaScript库和框架

JavaScript已经存在20多年了,它是其中一种永不停止发展的语言。 该语言最近经历了快速的增长,这使我想知道今天众所周知的现代前端JavaScript技术是否会在几年后成为现实。

尽管如此,通过使用最新的工具和框架来领先于游戏,对于更好的开发工作流来说,还是很重要的。 本文探讨了您现在应该考虑学习的各种JavaScript库,框架和工具。

介绍

JavaScript环境已经变得越来越庞大。 它拥有自己的库,框架,工具,程序包管理器和可编译为JavaScript的新语言的生态系统。 有趣的是,npm是事实上JavaScript软件包管理器,它也是世界上最大的软件注册中心。 这是2017年1月在Linux.com上发布的帖子的摘录。

在超过350,000个软件包的情况下,npm注册表包含的第二个人口最多的软件包注册表(Apache Maven存储库)是后者的两倍以上。 实际上,它是当前世界上最大的软件包注册中心。

快进了八个月,目前npm注册表中大约有500,000个软件包。 与其他软件包存储库相比,这是一个巨大的增长。

基于模块数量的不同软件包注册中心的比较
资料来源: ModuleCounts.com

作为前端JavaScript开发人员,紧跟现代JavaScript工具和库很重要。 当一项技术变得流行时,对它的需求就很高,这反过来意味着更多的编码工作将支付业内最高的薪水。 因此,我整理了一份我认为您应该意识到的流行JavaScript技术的列表。

图书馆

库是提供某些功能的可重用代码段。 它是可以在应用程序中使用的函数,对象和类的集合。 一个库对不同的层进行了抽象,因此您不必担心它们的实现细节。

您可以调用一个库函数并将其传递一些参数,然后库将执行该函数并将控件返回给您。 但是,它没有放置任何结构性约束来限制您使用库的方式。 流行JavaScript库包括:

反应

React是由Facebook和Instagram的开发人员构建JavaScript库。 根据2017年Stack Overflow Survey的调查,React被评为开发人员中最受欢迎的技术。React也因其是基于GitHub星数的最受欢迎JavaScript项目而获得赞誉。

那么,为什么React得到所有关注呢? 使用React,可以使用声明性方法创建交互式UI,在该方法中,您可以说“视图应该看起来像这样”来控制应用程序的状态。 它使用基于组件的模型,其中组件是可重用的UI元素,并且每个组件都有自己的状态。

反应一个JavaScript库以构建交互式视图

React使用虚拟DOM,因此您不必担心直接操作DOM。 React的其他显着功能包括单向数据流,可选的JSX语法以及用于使用零构建配置创建React项目的命令行工具。

如果您认为React是次要的事情,并且想学习React,请查看我们的“初学者的React Crash课程”教程系列。

jQuery的

jQuery是一个库,它使JavaScript比以前更易于访问和DOM操作。 jQuery柔和的学习曲线和简单的语法催生了新一代的客户端开发人员。 几年前,jQuery被认为是构建具有跨浏览器支持的强大网站的可靠解决方案。 jQuery的核心功能(例如基于CSS选择器的DOM操作,事件处理和进行AJAX调用)助推了其流行。

jQuery库,用于使用JavaScript进行DOM操作

但是,事情已经发生了变化,JavaScript环境也在稳步发展。 jQuery的某些功能已合并到较新的ECMAScript规范中。 此外,当今使用的新库和框架具有绑定DOM的本机方式,因此不再需要简单的DOM操作技术。 jQuery的受欢迎程度正在下降,但我认为它不会很快消失。

D3:数据驱动的文档

D3(或D3.js)是一个功能强大JavaScript库,用于使用SVG,HTML和CSS等Web标准生成交互式可视化图像。 与其他可视化库不同,D3提供了对最终视觉结果的更好控制。

D3的工作方式是将数据绑定到DOM,然后将其转换为文档。 它还具有自己的生态系统,该生态系统由扩展其基本功能的插件和库组成。 该库自2011年以来一直存在,并且有大量的文档和教程可以帮助您入门。

网络上的D3交互式可视化

如果您希望创建简单的可视化而不花费太多时间,则应该查看Chart.js 。 我们在Chart.js上有一个介绍性的系列 ,涵盖了您可以使用Chart.js创建的大多数可视化效果

构架

框架的架构决定了应用程序中的控制流。 该框架描述了框架,并告诉您如何组织一切。 还提供了启动和运行应用程序所需的基本功能。 而且,您必须遵循框架的设计原则和模式。 框架和库之间的区别是您调用一个库,而框架则调用您。

框架通常包含许多库,并且具有较高的抽象级别。 框架中内置了诸如事件处理,进行AJAX调用,模板和数据绑定以及测试之类的功能。

角度的

AngularJS曾经是前端开发人员中最受欢迎JavaScript技术。 它得到了Google以及个人和公司社区的支持。 尽管很受欢迎,但是AngularJS也有自己的缺陷。 Angular团队花了两年的时间开发新版本的Angular,该版本最终于2016年9月发布。

移动和台式机的角度框架

Angular 2版本是对AngularJS的完全重写。 Angular 2的一些功能包括:

  • 通过JavaScript的TypeScript作为默认语言
  • 基于组件的架构
  • 改进了移动平台和Web平台上的性能。
  • 更好的工具和脚手架选项

但是,从Angular 1.x升级到Angular 2的代价很高,因为Angular 2是完全不同的野兽。 这就是Angular 2的采用率与其前任不同的原因之一。 但是根据Stack Overflow(2017), Angular和AngularJS仍然是最常用的技术之一。 Angular项目在GitHub上拥有约28,000个星星。

Vue.js

Vue.js是今年一直流行的轻量级JavaScript框架。 就GitHub星级而言,它是GitHub上最受欢迎JavaScript框架。 Vue声称是一个没有那么自以为是的框架,因此开发人员很容易跟上。 Vue基于HTML的模板语法将渲染的DOM绑定到实例数据。

Vuejs渐进式JavaScript框架

该框架通过其虚拟DOM和可重用组件提供了类似React的体验,您可以使用它们来创建小部件和整个Web应用程序。 此外,您还可以使用JSX语法直接编写渲染函数。 当状态发生变化时,Vue.js使用反应系统来确定发生了什么变化并重新提供最少数量的组件。 Vue.js还支持将其他库集成到框架中,而不会带来太多麻烦。

Ember.js

Ember.js是基于Model-View-ViewModel(MVVM)模式的前端框架。 它遵循配置方法上的约定,这种约定在诸如Ruby on Rails和Laravel之类的服务器端框架中很流行。 Ember.js将常见的习惯用法和最佳实践整合到框架中,因此您可以轻松启动并运行应用程序。

Emberjs用于创建雄心勃勃的Web应用程序的框架

灰烬堆栈通常包括:

  • Ember CLI:提供基本的脚手架选项,并支持数百个附加组件。
  • 灰烬数据:可以配置为与任何服务器后端一起使用的数据持久性库。
  • Ember Inspector:适用于Chrome和Firefox的扩展程序。
  • Liquid Fire:过渡和动画的附加组件。

工具类

工具是例程的集合,可以在开发过程中为您提供帮助。 与库不同,工具通常在客户端代码上执行任务。 它以您的代码作为输入,在其上执行任务,然后返回输出。 常用的工具包括编译器和构建工具,资产缩小器,模块捆绑器和脚手架工具。

工具:通用任务运行器

通用任务运行程序是用于使某些重复性任务自动化的工具。 流行的通用任务运行器包括:

古尔普

Gulp是一个JavaScript工具包,用作Web运行中的任务运行器和构建系统。 编译,代码缩减,图像优化,单元测试,整理等是应重复执行的重复任务。 Gulp使编写任务的过程更加容易,即使对于不熟悉JavaScript的人来说也是如此。

Gulp使用管道将数据从一个插件流传输到另一个插件,最终结果被输出到目标文件夹。 与Grunt相比,Gulp性能更好,因为它不会创建用于存储中间结果的临时文件,从而减少了I / O调用。

使用Gulp自动化并增强您的工作流程

咕unt声

Grunt是任务运行器和JavaScript自动化工具。 Grunt有一个命令行界面,使您可以运行在名为Gruntfile的文件中定义的自定义任务。 Grunt有成千上万的插件可供选择,它们应该涵盖您遇到的大多数常见的重复性任务。 使用Grunt,您可以在一个命令下运行所有​​任务,使您的生活更轻松。

咕JavaScript JavaScript任务运行程序

npm

Gulp和Grunt要求您花时间学习和掌握新工具,这需要时间。 通过选择已经与Node.js捆绑在一起的替代方案,可以避免在项目中引入其他依赖项。 尽管npm被称为软件包管理器,但是npm脚本可用于执行上述大部分任务。

npm任务执行器

工具:测试

测试是验证和验证应用程序满足预期的业务和技术要求的过程。 测试驱动开发方法还有助于发现错误,因此应被视为现代前端开发堆栈的组成部分。

笑话

Jest是Facebook创作的一个相对较新的测试框架,并受到React社区的欢迎。 有一个普遍的误解,认为Jest是专门为与React合作而设计的。 但是,根据Jest文档:

尽管Jest可以被视为特定于React的测试运行器,但实际上它是一个通用测试平台,能够适应任何JavaScript库或框架。 您可以使用Jest测试任何JavaScript代码。

与其他测试套件相比,使用Jest的最大优势是您需要零配置或最少配置才能开始编写测试。 该框架具有内置的断言库,并支持使用模拟函数或间谍程序。

使用Jest进行令人愉快JavaScript测试

Jest具有一项称为快照测试的功能,可让您确保应用程序的UI不会意外更改。 Facebook的开发人员和其他贡献者最近在该项目中投入了大量工作,因此,如果Jest成为未来几年最受欢迎JavaScript测试框架,这也就不足为奇了。

摩卡咖啡

Mocha是一个JavaScript测试框架,具有浏览器支持,包括承诺的异步支持,测试覆盖率报告以及用于运行测试JavaScript API。 Mocha通常与断言库(例如Chai,should.js,expect.js或更好断言)配对使用,因为它缺少自己的断言库。

摩卡测试运行器和测试框架

茉莉花

Jasmine是JavaScript的行为驱动测试框架。 Jasmine的目标是成为独立于浏览器,平台和框架的测试套件。 Jasmine有自己的称为匹配器的断言库,该库为其提供了一种简洁易懂的语法。 Jasmine没有内置的测试运行程序,您可能不得不使用像Karma这样的通用测试运行程序。

茉莉花测试运行器和测试框架

摘要

自1995年成立以来,JavaScript(网络语言)一直保持着相关性。只要浏览器不决定放弃它来使用另一种语言,它就可能保持这种状态。 尽管还有许多其他语言可以编译为JavaScript,但是在可预见的将来,没有其他脚本语言可以替代JavaScript。 为什么? 因为JavaScript已经变得太流行而无法替换。

该语言并非没有学习曲线,并且有许多框架和库让您也很忙。 如果您正在寻找其他资源来学习或在工作中使用,请查看我们在Envato市场中可用的资源

JavaScript环境的确在不断发展,这从Web开发的当前趋势中可以明显看出。 旧的库和框架已被新技术取代。 曾经是最受欢迎JavaScript库的jQuery在吸引力,使用率和受欢迎度方面都在下降。 新一代的前端库,框架和工具正在逐渐普及并得到普遍接受。

适应技术的新趋势也有好处。 根据Stack Overflow(2016)的数据,需要React的编码工作的薪水是该行业中最高的,在美国的平均工资为105,000美元。 因此,您需要继续学习和尝试最新的工具和框架,以充分利用JavaScript。

如果您认为我错过了值得一提JavaScript框架,库或工具,请通过评论告知我。

进一步阅读

翻译自: https://code.tutsplus.com/articles/essential-javascript-libraries-and-frameworks-you-should-know-about--cms-29540

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值