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

CottonDenise 发布于11月前
0 条问题

JavaScript已经存在了20多年,它是一种不断发展的语言。最近,这门语言经历了快速的发展,这让我想知道,如今广为人知的现代前端JavaScript技术几年后是否还会有用。

尽管如此,通过使用最新的工具和框架来实现更好的开发工作流,走在前面是很重要的。本文探讨了您应该立即学习的各种JavaScript库、框架和工具。

前言

JavaScript环境已经变得巨大。它有自己的生态系统,包括库、框架、工具、包管理器和编译为JavaScript的新语言。有趣的是,npm实际上是JavaScript的包管理器,也是世界上最大的软件注册中心。以下是2017年1月在Linux.com上发表的一篇文章的摘录。

在超过350,000个包中,npm注册表包含的包注册表(即 Apache Maven 存储库)要比第二多一倍。事实上,它是目前世界上最大的软件包注册中心。

目前在npm注册表中有大约50万个包。与其他软件包存储库相比,这是一个巨大的增长。

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

作为一个前端JavaScript开发人员,跟上现代JavaScript工具和库是很重要的。当一项技术变得流行起来时,对它的需求就会很高,这反过来又意味着更多的编码工作,而这些工作的薪水是行业中最高的。因此,我收集了一些流行的JavaScript技术,我认为您应该了解这些技术。

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

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

React

React是由Facebook和Instagram的开发者开发的一个JavaScript库。2017年的Stack Overflow调查显示,在开发者中,反应被认为是最受欢迎的技术。React还被认为是基于GitHub的star count最受欢迎的JavaScript项目。

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

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

React使用虚拟DOM,这样您就不必担心直接操作DOM。React的其他值得注意的特性包括单向数据流、可选的JSX语法和用于创建具有零构建配置的React项目的命令行工具 create-react-app 。

如果你认为React是下一个最好的选择,并且想要学习React,那就按照这个 学习路线 开始学习吧

jQuerys

jQuery是一个让js学起来更容易和DOM操作更容易的库。jQuery温和的学习曲线和简单的语法造就了新一代的客户端开发人员。几年前,jQuery被认为是构建具有跨浏览器支持的健壮网站的可靠解决方案。jQuery的核心特性: 如基于CSS选择器的DOM操作、事件处理和AJAX调用等。

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

然而,现在发生了一些变化,JavaScript环境也在稳步发展。jQuery的一些特性已经被合并到新的ECMAScript规范中。此外,现在使用的新库和框架具有绑定DOM的原生方法,因此不再需要简单的DOM操作技术。jQuery的受欢迎程度正在下降,但我认为它不会很快消失。

D3: Data-Driven Documents

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

D3的工作方式是将数据绑定到DOM,然后对文档进行转换。它也有自己的生态系统,由扩展其基本功能的插件和库组成。这个库从2011年开始就有了,它有大量的文档和教程可以帮助你入门。

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

框架

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

框架通常由许多库组成,具有更高的抽象级别。框架中内置了事件处理、AJAX调用、模板和数据绑定以及测试等功能。

Angular

AngularJS曾经是前端开发人员中最流行的JavaScript技术。它得到了谷歌和一个由个人和公司组成的团体的支持。尽管广受欢迎,但AngularJS也有自己的缺点。Angular团队花了两年时间研究新版的Angular,最终于2016年9月发布。

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

Angular2 相比之前的版本是一个全新的框架,包括如下特性:

1、用js超集 TypeScript 作为默认语言的。

2、基于组件的体系结构

3、改进了移动和web平台的性能。

4、更好的工具和脚手架选项。

然而,从Angular1升级到Angular2是代价是昂贵的,因为Angular2是完全不同的东西。这就是为什么Angular2没有像Angular1那样经历相同的采用率的原因之一。但是,根据Stack Overflow(2017)的统计,Angular2仍然是最常用的技术之一。它在GitHub上有大约28000颗星星。

Vue.js

Vue.js是一个轻量级的JavaScript框架,今年一直在流行。它是GitHub上最流行的JavaScript框架。Vue声称它是一个不那么固执己见的框架,因此开发人员很容易跟上。Vue基于html的模板语法将呈现的DOM绑定到实例数据。

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

该框架提供了与虚拟DOM和可重用组件类似的体验,您可以使用这些组件创建小部件和整个web应用程序。此外,还可以使用JSX语法直接编写渲染函数。当状态改变时,Vue.js使用一个反应性系统来确定更改了什么,并重新运行最小数量的组件。Vue.js还支持将其他库集成到框架中,没有太多麻烦。

Ember.js

Ember.js是基于模型-视图-视图模型(MVVM)模式的前端框架。它遵循了在服务器端框架(如Ruby on Rails和Laravel)中流行的关于配置的约定。Ember.js将常见的习惯用法和最佳实践集成到框架中,这样您就可以轻松地启动和运行应用程序。

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

包括:

1、Ember CLI:基本的脚手架

2、Ember Data: 与任何服务器后端一起工作的数据持久化库。

3、Ember Inspector: Chrome 和 Firefox浏览器插件

4、Liquid Fire: 过渡和动画组件

工具

工具是在开发过程中帮助您处理日常工作的集合。与库不同,工具通常在客户端代码上执行任务。它将您的代码作为输入,对其执行一个任务,然后返回一个输出。通常使用的工具包括: 传输器和构建工具、资源压缩、模块打包和脚手架工具。

通用任务管理

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

Gulp

Gulp是一个JavaScript工具包,在web开发中用作任务运行器和构建系统。编译、代码缩小、图像优化、单元测试、linting等都是应该自动化的重复性任务。Gulp使编写任务的过程更容易,即使对不太熟悉JavaScript的人也是如此。

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

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

Grunt

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

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

npm

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

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

测试工具

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

Jest

Jest是由Facebook编写的一个相对较新的测试框架,受到了response社区的欢迎。有一种常见的误解,认为Jest是专门设计用来处理response的;然而,根据Jest的文档:

虽然Jest可能被认为是特定于反应堆的测试运行程序,但实际上它是一个通用的测试平台,能够适应任何JavaScript库或框架。您可以使用Jest来测试任何JavaScript代码。

与其他测试工具相比,使用Jest最大的优点是,您需要零或最小的配置来开始编写测试。该框架有一个内置的断言库,支持使用模拟函数或监控运行结果。

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

Jest有一个称为快照测试的特性,可以确保应用程序的UI不会意外地改变。Facebook的开发人员和其他贡献者最近为这个项目投入了大量的工作,所以如果Jest成为未来几年最流行的JavaScript测试框架也就不足为奇了。

Mocha

Mocha是一个JavaScript测试框架,它提供浏览器支持、异步支持(包括承诺、测试覆盖率报告和运行测试的JavaScript API)。Mocha经常与Chai之类的断言库结合使用should.js, expect.js或更好的断言,因为它缺少自己的断言库。

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

Jasmine

Jasmine是JavaScript的行为驱动测试框架。Jasmine的目标是成为一个浏览器、平台和框架独立的测试套件。Jasmine有自己的断言库matchers,它提供了清晰、易于阅读的语法。Jasmine没有内置的测试运行器,您可能需要使用像Karma这样的通用测试运行器。

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

总结

JavaScript作为一种web语言,自从1995年开始使用以来就一直是相关的。只要浏览器不决定放弃使用另一种语言,它可能会一直保持这种状态。虽然有很多其他语言可以编译成JavaScript,但是在可预见的将来,没有其他脚本语言可以取代JavaScript。为什么?因为JavaScript已经变得非常流行,无法取代。

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

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

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

查看原文: 译你应该了解的基本JavaScript库和框架

  • crazybird
  • whitekoala
  • greenlion
  • beautifulmeercat
  • blackfish
  • beautifulcat
需要 登录 后回复方可回复, 如果你还没有账号你可以 注册 一个帐号。