Web开发

注册

 

发新话题 回复该主题

深入研究Nodejs开发Web应用程序 [复制链接]

1#

在本文中,我们将了解使用Node.js开发Web应用程序的原因以及应该使用的用例。

最近,我发现了一个有趣的Node.js数据片段:它被一些全球最大的协会使用,包括NASA,Airbnb,PayPal,LinkedIn,Netflix,优步和沃尔玛。实际上,98%的财富强公司定期使用Node.js。

它肯定是压倒市场的理由。

根据PayPal工程总监和首席架构师的说法,与Java版本相比,他们基于Node.js的应用程序所需的代码行数减少了33%,每秒处理请求数量增加了一倍,响应时间缩短了35%。

这是一项重大的壮举,你不是吗?

许多大公司在其生产环境中采用了Node.js.现在是时候对什么,为什么,何时进行测验。在本文中,我将研究利用Node.js进行改进的原因,以及在哪些情况下它将发挥最佳作用。

关于Node.js

Node.js基本上是一个能够执行JavaScript的服务器。Node.js的核心是一个服务器引擎,您可以对其进行更改和更改,它将在您进行设置后正常工作。它提供异步和事件驱动的API,因此对它的请求作为循环(事件循环)处理,这就是Node.js本质上是运行时的原因。作为JavaScript生态系统的一部分,它对于应用程序开发来说非常棒,您可以毫不费力地控制它与不同的JS工具,UI和连接器。换句话说,它是一个开源和跨平台系统,只需几行代码即可构建Web应用程序。

这是官方Node.js网站给出的正式定义:Node.js是“基于Chrome的V8JavaScript引擎构建的JavaScript运行时”。

此外,Node.js为开发提供了新的机会。现在开发人员可以在前端和后端使用JavaScript。Node.js包含用于文件,套接字和HTTP通信的内置异步I/O库。此外,由于Node.js的单线程事件循环体系结构,开发人员还可以更快速,更简单的方式执行IO密集型操作(如响应超文本传输协议或HTTP请求)。

为什么选择Node.js

Node.js的主要思想是:在面向跨分布式设备运行的数据密集型实时应用程序时,使用非阻塞,事件驱动的I/O保持轻量级和高效。

Node.js的发明者RyanDahl表示,受到Gmail等应用程序的启发,他的目标是设计一个用于构建具有实时推送功能的网站的系统。因此,事件驱动的编程成为Node.js的核心。

“通过事件驱动的编程,TomHughes-Croucher的Node:UpandRunning的作者”说,“你使用的实际资源量要小得多,你可以从更少的服务器中获得更多。”

Node.js有什么用?

简而言之,Node.js应用程序被设计为使用非阻塞I/O和异步事件来最大化吞吐量和效率。Node.js应用程序运行单线程,尽管它使用多个线程来处理文件和网络事件。由于其异步性质,Node.js通常用于实时应用程序。

简单地说,Node.js是一个巨大的JavaScript生态系统,非常适合实时使用。

为了在内部执行代码,Node.js使用GoogleV8JavaScript引擎,大部分基本模块都是用JavaScript编写的。用于HTTP和套接字支持的异步I/O库允许Node.js充当Web服务器,而无需Apache等其他软件。

结合节点包管理器(NPM)的普遍性,Node.js已经确立了其作为服务器端JavaScript的事实标准的地位。

因此,虽然有一些关于适当的Node.js使用的讨论,但最好的用例是什么?支付网关,媒体,电子商务平台,社交媒体,企业网络应用程序以及移动应用程序的后端/API是Node.js的潜在应用领域。

未来的Node.js

聊天应用程序是最典型的实时应用程序,Node.js在处理多个用户,密集数据,大流量和跨设备运行方面展示了它可以做些什么。此外,在制作聊天应用程序时学习Node非常棒,因为它几乎涵盖了典型Node.js应用程序的所有编程。

由于HTML,服务器端Web应用程序不是Node.js的典型用例。但是,如果组合Node.js和Express.js,则可以在服务器端创建示例性Web应用程序。

Node.js在数据流中具有一些积极的亮点,利用HTTP请求和响应基本上是数据流的事实。例如,在简单地传输数据时处理数据,例如用于声音/视频编码。

Node.js的另一个用例是监控仪表板,以收集有关网站访问者和可视化的持续信息。用户统计数据以及能够立即查看他们正在做什么的能力绝对是企业的一个很好的附加功能。

时间将证明Node是否是下一件大事。

Node.js从未被用来解决计算扩展问题。它是为了解决I/O扩展问题,它做得非常好。作为单线程,Node.js可能是用作计算服务器的Web服务器的不良选择,因为大量计算会阻止服务器的响应。如果您的用例不包含CPU升级活动或获取任何阻止资源,您可以利用Node.js的优势并制作快速且适应性强的系统应用程序。

分享 转发
TOP
发新话题 回复该主题