可能的复制品: 如何决定何时使用 Node.js
对不起,如果我有点模棱两可,但我试图了解使用 Node.js而不是其他服务器端语言的真正优势。
我是一个 JavaScript 爱好者,所以我可能会使用 Node.js,但是我想知道我是否应该在我的项目中使用它。
最常被引用的两个优势是:
然而对我来说,最有趣的部分是这个地区发生的活动的数量。有很多非常有趣的想法正在开发的节点-一定要检查的 Node.js 模块列表。
就个人而言,我最有可能在以下情况下使用 Node.js:
如果你是(或者即使你不是)一个 JavaScript 爱好者,你可以/应该使用 Node.js 的原因有很多:
它在 V8引擎之上进行异步非阻塞 输入/输出构建。
所以我们拥有了 V8的所有性能增益,它是 GoogleJavaScript 解释器。由于 JavaScript 的性能竞赛还没有结束,你可以期待 Google 在 V8上不断更新性能(免费)。
我们有非阻塞 I/O,这是完成 I/O 的正确方法。这基于一个事件循环,并对 I/O 使用异步回调。
它提供了一些有用的工具,比如创建 HTTP 服务器、创建 TCP服务器、处理文件 I/O。
它是一个低级的高性能平台,可以进行任何类型的 I/O 操作,而不必从头开始用 C 编写整个程序。由于非阻塞 I/O,它的扩展性非常好。
因此,如果你想使用非阻塞 I/O 编写高伸缩性和高效率的应用程序,同时还有高级别的脚本语言可用,那么你就需要使用 Node.js。如果需要,可以用 C 语言编写扩展来手工优化代码的某些部分。
有很多用于 Node.js 的操作系统库可以提供抽象,比如 快递和 现在。
如果您希望(缓慢的)高级抽象为您做所有事情,那么您不需要使用 Node.js。如果想要 RAD,就不要使用 Node.js。如果你不能信任一个年轻的平台,你就不想使用 Node.js,因为你必须自己编写大量的代码来完成构建到其他框架中的工作,或者因为你不能使用 Node.js,因为 API 还不稳定,或者它是一个1.0以下的版本。