您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > javascript

为什么Node.js 是后端开发的规则改变者

时间:2023-09-09 19:39:26  来源:51CTO  作者:



作者丨P. Rehan

编译丨诺亚

“Node.js有危险了!”

“任何能够自救的开发人员都应该尽快迁移到另一个后端环境!”JAVAScript的仇恨者说。

不用理会这些言论。Node.js将继续存在,并将成为后端Web开发的终极游戏规则改变者。

一、是什么让 Node.js 成为后端开发的宠儿?

在过去的后端开发时代,php是构建Web项目的主要工具。

但随着岁月流逝,在Web开发中PHP逐渐变得不那么合时宜,就像古怪又神经质的大叔,没有人知道它为什么还存在了。之后Ruby(基于RAIls)出现了,带着一箩筐的颠覆性的花哨技术,就像喝拿铁咖啡的潮人一样。我们都有过这样的“亲戚”,(可惜的是)我们并不想和他们在一起。Java就更不用提了。

直到几年前,一种新的、不那么时髦但却非常高效的东西进入了后端开发的世界,那就是——Node.js。

简单来说,Node.js是一个开源的跨平台JavaScript运行时环境,它让JavaScript成为与PHP、Python/ target=_blank class=infotextkey>Python、Perl、Ruby等服务端语言平起平坐的脚本语言。值得注意的是,Node.js在2017年改变了世界,这一年它得到了广泛的使用。

Node.js的历史是在打破Github上的4万星标记之前创建的。它只是在Web浏览器之外运行代码的小型JavaScript环境之一。但是,事实证明,Node.js正是后端开发界多年来一直在寻找的:一个能够处理大量流量的势不可挡的迷人环境。

以下功能使Node.js成为后端Web开发的典型代表:

其占用空间小,使其成为基于云的应用程序的出色开发工具。 由于它的V8 JavaScript引擎,它几乎和光一样快。 应用程序开发具有很强的可扩展性和响应性。 它的社区中有近10万名活跃的开发人员。 它拥有无穷无尽的 API 和无限的生态系统,允许你创建从基本的 1-2-3 应用程序到火箭科学级微服务结构的所有内容。

二、奥秘是什么?

试想:一个后端开发环境如何在保持健壮性和响应能力的同时管理如此多的查询?流经其血管的秘密成分是什么?

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、领英,以及Netflix,都声称它仅适用于小型应用程序。它们是一些最复杂的应用程序,使用 Node.js 来处理请求,并且运行时几乎没有停机时间。

3. 它仅用于Web开发。事实上,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、ASP.net和Flask等后端框架/语言对Node.js的采用和生存构成了威胁。

即使存在风险,未来也是光明和繁荣的,就像 Node.js API 库一样。         

参考链接:https://pinjarirehan.medium.com/why-node-js-is-the-ultimate-game-changer-for-backend-development-26415839bbe2



Tags:Node.js   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
作者丨P. Rehan编译丨诺亚“Node.js有危险了!”“任何能够自救的开发人员都应该尽快迁移到另一个后端环境!”JavaScript的仇恨者说。不用理会这些言论。Node.js将继续存在,并...【详细内容】
2023-09-09  Tags: Node.js  点击:(0)  评论:(0)  加入收藏
近日,Node.js 团队核心成员 Ulises Gascón 在社交平台表示,Node.js 20.6 版本将原生支持 .env 文件,该版本计划于 8 月 28 日发布。下面就来看看 .env 文件是什么,有什么...【详细内容】
2023-08-29  Tags: Node.js  点击:(25)  评论:(0)  加入收藏
本文列出了七种容器化 node.js 应用程序的方法,让我们简要地看一下它们。在过去的五年里,Node.js 一直是严肃程序员的最爱。最大吞吐量的 JavaScript 运行时环境是一个免费的...【详细内容】
2023-03-24  Tags: Node.js  点击:(62)  评论:(0)  加入收藏
内容管理系统 (「CMS」) 使没有强大技术背景的人也能够轻松发布内容。我们可以使用 「CMS」 来管理我们的内容和交付。市面上有不同类型的 「CMS」,它们执行不同的目的并具有...【详细内容】
2023-03-03  Tags: Node.js  点击:(175)  评论:(0)  加入收藏
本文为来自 字节跳动-国际化电商-S 项目团队 成员的文章,已授权 ELab 发布。一个 TCP 连接的案例​TCP 服务端​const net = require('net');const server = new net...【详细内容】
2023-03-03  Tags: Node.js  点击:(89)  评论:(0)  加入收藏
一、背景目前业界主流的做法是使用分布式链路跟踪系统,其理论基础是来自 Google 的一篇论文 《大规模分布式系统的跟踪系统》。论文如下图所示: (图片来源:网络) 在此理论基础...【详细内容】
2023-01-31  Tags: Node.js  点击:(189)  评论:(0)  加入收藏
近日著名node.js库JWT(JsonWebToken )被爆存在严重远程漏洞。作为一个基础库,JWT被供应链广泛采用用,影响22000 多个项目个项目,其中包括Microsoft、Twilio、Salesforce、Intuit...【详细内容】
2023-01-12  Tags: Node.js  点击:(147)  评论:(0)  加入收藏
更新和更专业的软件框架不断涌现。 虽然开发人员经常难以跟踪这么多不同的选项,但每个选项都针对特定的受众,并且需要非常具体的技能组合。 这就是为什么市场上充斥着如此多...【详细内容】
2023-01-09  Tags: Node.js  点击:(129)  评论:(0)  加入收藏
在Node.JS中调用JShaman接口,实现JS代码加密。使用axios库实现https的post请求,代码如下:const axios = require("axios");const jshamanConfig = { //源码 "js_code": 'fu...【详细内容】
2022-12-06  Tags: Node.js  点击:(206)  评论:(0)  加入收藏
每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。 在这篇博客中,我们将讨论 Node.js 和 JavaScript 开发之间的差异。JavaSc...【详细内容】
2022-10-28  Tags: Node.js  点击:(221)  评论:(0)  加入收藏
▌简易百科推荐
作者丨P. Rehan编译丨诺亚“Node.js有危险了!”“任何能够自救的开发人员都应该尽快迁移到另一个后端环境!”JavaScript的仇恨者说。不用理会这些言论。Node.js将继续存在,并...【详细内容】
2023-09-09    51CTO  Tags:Node.js   点击:(0)  评论:(0)  加入收藏
根据 MDN:“闭包是捆绑在一起(封闭)的函数及其周围状态(词法环境)的引用的组合。换句话说,闭包使您可以从内部函数访问外部函数的作用域。在 JavaScript 中,每次创建函数时都会创建...【详细内容】
2023-09-07  web前端开发  微信公众号  Tags:JavaScript   点击:(3)  评论:(0)  加入收藏
JavaScript 依靠抛出异常来处理错误,而 Go 和 Rust 将它们视为值。 你可能认为这没什么大不了的……但是,孩子,这可能听起来微不足道; 然而,它改变了游戏规则。那么,...【详细内容】
2023-09-07  启辰8  今日头条  Tags:TypeScript   点击:(5)  评论:(0)  加入收藏
你一定听说过 console.log() ,而且可能一直在使用它。它非常流行,在集成开发环境中键入时,Visual Studio Intellicode 等工具通常会在其他控制台方法之前推荐使用它。在本文中,...【详细内容】
2023-09-06  大迁世界  微信公众号  Tags:JavaScript   点击:(18)  评论:(0)  加入收藏
JavaScript 是一种功能强大的语言,是网络的主要构建块之一。这种强大的语言也有一些怪癖。例如,您是否知道 0 === -0 的计算结果为 true,或者 Number("") 的结果为 0?问题是,有时...【详细内容】
2023-09-05  web前端开发  微信公众号  Tags:JavaScript   点击:(17)  评论:(0)  加入收藏
数组,是 JavaScript 中的基本数据结构,允许我们存储和操作值的集合。通常,数组可以嵌套,这意味着它们包含其他数组作为元素。虽然嵌套数组对于组织数据很有用,但在某些情况下我们...【详细内容】
2023-09-04  web前端开发  微信公众号  Tags:JavaScript   点击:(24)  评论:(0)  加入收藏
Three.js 是一个开源的 JavaScript 3D 图形库,用于创建和展示高性能、交互式的 3D 图形场景。它建立在 WebGL 技术之上,并提供了丰富的功能和工具,使开发者可以轻松地构建令人...【详细内容】
2023-09-01  前端充电宝  微信公众号  Tags:JavaScript   点击:(28)  评论:(0)  加入收藏
作者丨Cal Paterson编译丨诺亚Csvbase是一个托管表数据的网站。关于csvbase有一点不寻常的是,当我编写它时,我没有编写任何 Javascript。大多数我没有写的 Javascript 分为以...【详细内容】
2023-09-01    51CTO  Tags:Javascript   点击:(22)  评论:(0)  加入收藏
最近在思考构建一个服务编排(Service Orchestration)系统,考虑这个系统至少需要具备以下特征:使用统一的方法定义服务功能单元使用一种通用的方式将一个或多个服务的输出映射到...【详细内容】
2023-08-29  IT技术控    Tags:JsonPath   点击:(18)  评论:(0)  加入收藏
近日,Node.js 团队核心成员 Ulises Gascón 在社交平台表示,Node.js 20.6 版本将原生支持 .env 文件,该版本计划于 8 月 28 日发布。下面就来看看 .env 文件是什么,有什么...【详细内容】
2023-08-29  前端充电宝  微信公众号  Tags:Node.js   点击:(25)  评论:(0)  加入收藏
站内最新
站内热门
站内头条