作者丨P. 热罕
合辑丨诺亚
“Node.js 正处于危险之中!”
“任何能够自救的开发者都应该尽快迁移到另一个后端环境!” JavaScript 憎恨者说。
忽略这些评论。 Node.js 将会继续存在,并将成为后端 Web 开发的终极游戏规则改变者。
是什么让 Node.js 成为后端开发的宠儿?
在过去的后端开发时代,PHP 是构建 Web 项目的主要工具。
但随着时间的推移,PHP 在 Web 开发中的重要性逐渐降低,就像一个奇怪而神经质的叔叔,没有人知道它为什么仍然存在。 然后 Ruby(基于 Rails)出现了,它带来了一系列破坏性的花哨的东西,就像喝拿铁咖啡的时髦人士一样。 我们都有那些(不幸的是)我们不想在他们身边的“亲戚”。 更不用说Java了。
直到几年前,一些新的、不那么流行但非常高效的东西进入了后端开发的世界:Node.js。
简单来说,Node.js 是一个开源的跨平台 JavaScript 运行环境,这使得 JavaScript 成为与 PHP、Python、Perl 和 Ruby 等服务器端语言平起平坐的脚本语言。 值得注意的是,Node.js 在 2017 年改变了世界,这一年它得到了广泛的使用。
Node.js 的历史是在它在 GitHub 上突破 40,000 星大关之前创造的。 它只是在 Web 浏览器之外运行代码的小型 JavaScript 环境之一。 然而游戏后端开发,事实证明 Node.js 正是后端开发界多年来一直在寻找的:一个不可阻挡的、迷人的环境,可以处理大量流量。
以下功能使 Node.js 成为后端 Web 开发的典范:
秘密是什么?
试想一下:后端开发环境如何管理如此多的查询,同时保持健壮性和响应能力? 它的血管中流淌的秘密成分是什么?
Node.js 除了使用与 Google Chrome 相同的引擎外,还采用了事件驱动的非阻塞 I/O 方法。
它是驱动 Netflix(流媒体服务)、Discord 机器人(聊天机器人)和 8 Ball Pool(在线游戏)等实时应用程序的动力。
将事件驱动的非阻塞 I/O 模型视为您称为 Node-Man 的超级英雄。
他独特的能力是同时处理多项任务并毫不费力地救人。 它的强大功能来自 I/O 模型,它可以处理多个请求,而无需等待一个请求完成后再继续处理下一个请求。
这就是节点人如何超越闪电侠并击败钢铁侠的。
被误解的 Node.js:五个必须知道的事实
以下是关于 Node.js 的五个常见误解:
1. Node.js 不是大型商业应用程序的最佳选择,因为它缺乏可扩展性。 上次我们看到,每个组织都在努力将其应用程序提升到新的性能高度,而 Node.js 将实现这一目标。
2. PayPal、沃尔玛、Trello、LinkedIn 和 Netflix 都声称它只适用于小型应用程序。 它们是一些最复杂的应用程序,使用 Node.js 来处理请求,并且运行时几乎没有停机时间。
3.仅用于Web开发。 事实上2d素材,Node.js 非常适合桌面应用程序、物联网设备和命令行工具。 Slack 和 Visual Studio Code 都是 Electron-Node.js 强大组合的产物。 Gatsby 和 Yarn 是命令行工具,用于创建在 Node.js 上运行的快速、安全的网站。
4. CPU 密集型任务可能会破坏 Node.js。 当然,这是单线程环境,性能会受到请求数量的影响。 但是,您可以通过创建任务队列或生成特定于任务的异步子进程来解决此限制。
5. Node.js 在最值得信赖的库上运行时允许输入验证和清理,因此它不是一个好的安全替代方案。 Node.js 支持 TLS/SSL 通信。 它对通信进行加密并保护其免受漏洞和攻击。
Node.js 趋势影响后端开发的未来
除了可扩展性和闪电般的效率之外,Node.js 的最大优势是其简单的学习曲线。 这就像在掌握节点后玩连接节点的游戏。
由于这些特性,GraphQL、无服务器计算、微服务架构和渐进式 Web 应用程序 (PWA) 等 Web 开发概念变得越来越流行。
小型独立服务的时代即将到来,每个服务都有其独特的业务功能,通过 API 进行交互,并从单个共享代码库运行。
模块化和可扩展的 Web 应用程序开发时代即将开始。
一年后 Node.js 会走向何方?
自 2009 年发布以来游戏动态,Node.js 已经取得了长足的进步,但这个 JavaScript 跨平台最激动人心的旅程尚未到来。
可以预见的是,Node.js 最终将扬帆远航游戏后端开发,逃离后端开发的水域。 它将跟踪机器学习、人工智能、物联网设备和桌面应用程序的发展,探索未知领域。
认为这些领域没有受到其他语言和库的影响是愚蠢的。
GO、Deno 和 Flask 等后端框架/语言对 Node.js 的采用和生存构成了威胁。
即使有风险,未来也是光明和繁荣的,就像 Node.js API 库一样。
参考链接: