本章内容 Node.js是什么 服务端JavaScript Node的异步和事件触发本质 Node为谁而生 Node程序示例 Node.js是什么? 你很可能已经有所耳闻,甚至已经用上了,你也有可能对它很好奇。现在Node还很年轻(它的首次亮相是在2009年),却非常流行。它在Git... 查看全部[ 1.1 构建于JavaScript之上 ]
Node为服务端JavaScript提供了一个事件驱动的、异步的平台。它把JavaScript带到服务端中的方式跟浏览器把JavaScript带到客户端的方式几乎一模一样。了解浏览器的工作原理对我们了解Node的工作原理会有很大帮助。它们都是事件驱动(用事件轮询)和非阻塞的I/O处理(用异步I/O)... 查看全部[ 1.2 异步和事件触发:浏览器 ]
可能大多数人都了解传统的服务端编程的I/O模型,就像1.2节那个“阻塞”的jQuery例子一样。下面是一个PHP的例子: 这段代码做了些I/O操作,并且在所有数据回来之前,这个进程会被阻塞。对于很多程序而言,这个模型没什么问题,并且很容易理解。但有一点可能会被忽略:这个进程也有状态,或者说内存... 查看全部[ 1.3 异步和事件触发:服务器 ]
实际上,Node所针对的应用程序有一个专门的简称:DIRT。它表示数据密集型实时(data-intensive real-time)程序。因为Node自身在I/O上非常轻量,它善于将数据从一个管道混排或代理到另一个管道上,这能在处理大量请求时持有很多开放的连接,并且只占用一小部分内存。它的设计目标是... 查看全部[ 1.4 DIRT程序 ]
Node从构建开始就有一个事件驱动和异步的模型。JavaScript从来没有过标准的I/O库,那是服务端语言的常见配置。对于JavaScript而言,这总是由“宿主”环境决定的。JavaScript最常见的宿主环境,也是大多数开发人员所用的,就是浏览器,它是事件驱动和异步的。 Node重新实现了宿... 查看全部[ 1.5 默认DIRT ]
Node跟所有技术一样,并不是万能灵药。它只能解决特定的问题,并为我们开创新的可能性。Node比较有意思的一点是,它让从事系统各方面工作的人走到了一起。很多进入Node世界的是客户端JavaScript程序员,此外还有服务端程序员以及系统层面的程序员。不管你是做什么的,我们都希望你能了解Node到底... 查看全部[ 1.6 小结 ]