2022年JavaScript最著名的库和框架
“ 流行的JavaScript库和框架,帮助我们构建美好的世界和生活。”
如今,根据 2021 年 Stack Overflow 开发者调查,JavaScript 是世界上使用最多、最著名和被认可的编程语言。也许,即使是 JavaScript 的创造者 Brendan Eich,也无法想象它今天是如此成功。
他只打算制作一种可以使 Web 开发过程更加敏捷且易于学习的语言,而且他做到了。由于 JavaScript 直接运行在浏览器上,让所有的开发变得更快更高效。
在它诞生的第 1 天,名称不是 JavaScript,而是 Mocha,但他们想让它与流行的 Java 更相似,这样人们就可以认出它是一种精心构建的东西。多年来,JavaScript 一直在更新。每个版本都称为 ES,带有编号,例如 ES5。意思是 ECMA Script 5,是官方 JavaScript 版本的第五个版本。
然后,在 2012 年开发了 TypeScript。它是JavaScript的超集,支持 JavaScript 不具备的多种功能,例如强类型的变量。这不是框架或库,我们可以将其视为对原始语言的扩展,以使其更好地工作。就目前而言,这是 JavaScript 的最高进化。
01
—
用法
JavaScript 几乎可以在任何开发场景下使用:它用于游戏开发、移动开发、数据科学、机器学习、后端开发等等。 但是原创的 JavaScript 的主要用途是前端开发。事实上,在浏览器页面 DOM(文档对象模型)中修改、处理和交互组件非常棒。因此,您可以猜到,大多数框架和库都是为这个特定的用例而构建的。
无论如何,它具有很多语言功能属性,可以让你用这种编程语言做几乎所有事情,使它可能成为一种具有多种用途的编程语言。
那么,我们要讨论什么框架和库呢?它们将根据其开发场景进行划分。对于前端:React 和 Angular。对于后端:Node.js 和 Expess。移动开发:React Native。机器学习:TensorFlow.js。游戏开发:Phaser。让我们开始看看他们的使用场景和方法。
02
—
前端:React
React 是一个 JavaScript 开源前端库(不是框架),由 Meta(创建时为 Facebook Inc.)于 2013 年开发,由其创建者维护,同时也由热情的开发人员和开源爱好者维护。
创建它是因为 Facebook 希望消除 C++ 每次对代码库进行新更改时所花费的编译时间。因此,他们决定使用 JavaScript 作为一种解释性语言,并构建一组强大的指令,使所有流程更加敏捷和愉快。他们做到了。
React 是一个库而不是一个框架,因为它并不完整。它没有效呈现页面的语言结构。为了解决这个问题,我们使用了一个名为 JSX 的扩展,它在语法上与 HTML 非常相似。它还支持使用TypeScript来编写程序。
React 应用采用基于组件的概念。组件处理的是一个网页的一部分。它可以是整个 DOM,也可以是页面末尾的一小段。每个组件都可以包含其他组件,并且位于父组件内。这使页面成为一种二叉树,但不用担心,它比标准数据结构更容易处理。
无论如何,根据 Stack Overflow Developer 的调查,它是目前最流行的 Web 前端库,目前有超过 40% 的开发人员知道这项技术。如果开发学习中遇到难题,目前有一个庞大的技术社区可以帮助你。我绝对建议你使用它,如果你想在前端开发中学习一些东西的话。
官网:https://reactjs.org/
03
—
前端:Angular
Angular 也是一个开源的前端开发框架(这次完成,不仅仅是一个库),带有 MIT 许可证。它于 2016 年发布,主要由 Google 开发。它是过时的 AngularJS 的演变,目前处于第二个大版本迭代(Angular2+)。
AngularJS 是用 Javascript 编写的,而 Angular2+ 是用 TypeScript 编写的。这可能就是 Angular 如此出色地支持 TypeScript 的原因。它也是对 Bootstrap 支持最好的框架,因此您可以使您的页面更具响应性。
Angular 项目比 React 项目更结构化。事实上,您需要多个元素,例如模型,必须在页面上呈现。与 React 不同,它可以创建更多页面并处理它们。就所需的空间而言,它有点重。它不如 React 紧凑。这就是为什么 React 更适合小型项目,而 Angular 更适合大型项目。
根据 Stack Overflow 调查,它是第四大最受欢迎的框架,高达 22.96%。谷歌认为这种语言在未来会有很大的发展,所以它在不断地改进它。在前端框架的世界中,它肯定是一个安全的选择。
官网:https://angular.io/
04
—
后端:Node.js, Express
现在,我们切换到后端。事实上,JavaScript 也可以做到这一点,这要归功于 Node.js,它是一个基于 Google Chrome 的 V8 引擎的运行时系统。但是这是什么意思?意思是谷歌工程师拿了Chrome的V8引擎,也就是整个浏览器的大脑,让一切正常运行。然后,他们用它创建了一种虚拟环境,您可以在浏览器之外运行您的 JavaScript 代码。
事实上,多亏了 Node.js,您可以在自己的机器上运行 Javascript。它还广泛用于在服务器上运行 JavaScript。基于不同的应用场景,这就让更多的大牛能够为JavaScript创建新的、更高效的库和包。
官方网站:https://nodejs.org/en/
其中一个框架是 Express,它被认为是 NodeJs 服务器的标准。它用于创建 Web 应用程序和 API,可用于从另一个网站检索和存储信息。它肯定是最常用的后端框架,在 Stack Overflow 开发者调查中得分为 23.82%,总体排名第三。
它于 2014 年由 TJ Holowaychuk 发布,据说它的灵感来自 Sinatra(另一个软件,而不是歌手)。这意味着它是一个具有强大功能的最小基础架构,尤其是根据开发人员的需要,它具有大量插件和额外的软件包,可以增强整个开发堆栈。这样一来,它就更轻松、更令人愉快且不那么不堪重负,尤其是对于新开发人员而言。这就是它取得如此巨大成功的原因。
官网:https://expressjs.com/
05
—
移动开发:React Native
React Native 是 Meta(Facebook) 在 2015 年开发的一个移动应用程序框架。为了让它更快地发展,他们创建了一个 Hackathon,所以很多人用这种特定的语言开发应用程序。它与 React 具有相同的基础,这就是这两个名称如此相似的原因。它在开发领域也与 React 非常相似。
实际上,它是基于组件的框架,并且是单页的。它还允许使用来自不同本地语言(如 Java、Kotlin 或 Swift)的代码来缩短执行时间。事实上,React Native 往往比原生语言慢(React Native 是跨平台的,正如“一次学习,随处编写”这句话所暗示的那样)。尽管如此,它还是一项被广泛使用的技术。
事实上,在 Stack Overflow 调查的语音“其他框架”中,它的得分为 14.51%,击败了跨平台开发的竞争对手:Flutter。现在,它可能是最常用的跨平台框架,也掩盖了微软的 Xamarin。因此,如果您对开发移动应用程序感兴趣,React Native 是一个不错的选择。但是,如果性能是这个应用程序的核心,则建议使用原生语言,如 Android 的 Kotlin 和 iOS 的 Swift。
官网:https://reactnative.dev/
06
—
机器学习:Tensorflow.js
Tensorflow.js 是 TensorFlow 的 JavaScript 扩展,它是一个开源的机器学习框架。它以最有效的已知方式提供最著名的模型和算法,因此您可以以尽可能最好的方式执行您的项目,并且使用更少的代码。它集成了线性回归、逻辑回归、决策树等算法。
它是目前最常用的机器学习框架,在 Stack Overflow 开发人员调查中得分为 16.53%。有很多开发人员在他们的项目中使用 TensorFlow.js。尽管如此,JavaScript 本身并不是处理大量数据的最佳语言,因此有一些语言更多地用于此用例。最著名的显然是 Python。(如果您有兴趣,这里有一篇文章的链接解释了这两种语言之间的区别:https://medium.com/@mpossamaim/python-vs-javascript-e8590d346c3b)
官网:https://www.tensorflow.org/js
07
—
游戏开发:Phaser.js
Phaser 是一个基于JavaScript 的 2D 游戏引擎,用于在台式机和移动设备上开发游戏。它是免费的,由Photon Storm开发。它可能是最常用和最著名的 JavaScript 游戏引擎。尽管如此,它几乎是未知的。为什么?因为 JavaScript 不是游戏开发的最佳语言。最好的是 C#、C++ 或 Java。这些是非常快速的编程语言,非常好地支持 OOP,这在游戏开发世界中几乎是必须的。这就是为什么 JavaScript 没有那么多用于游戏开发的原因,只用于可能由初学者制作的小程序。对于专业用途,它并不理想。
官网:https://phaser.io/
08
—
总结
好的,现在我们已经看到了适用于所有用例场景的最佳和最常用的 JavaScript 框架和库。我们发现 JavaScript 是一门很棒的语言,它可以做很多事情,而且其中很多都做得非常好。还有一些事情是这种编程语言无法以最佳方式处理的,比如机器学习和游戏开发。