答案 0 :(得分:94)
因此,我们获得了V8的所有性能提升,这是Google JavaScript解释器。由于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有很多OS库可以为您提供抽象,例如Express.js和now。
如果您希望(慢)高级抽象为您做任何事情,您不想使用Node.js。如果需要RAD,则不想使用Node.js.如果你不能信任一个年轻的平台,你不想使用Node.js,因为你必须自己编写大量代码来做构建到其他框架中的事情,或者因为你不能使用Node .js,因为API还不稳定,或者它是一个低于1.0的版本。
答案 1 :(得分:29)
两个最常被引用的优点是:
对我来说,最有趣的部分是这个地区发生的活动量。节点正在开发中有很多非常有趣的想法 - 请务必查看list of Node.js modules。
答案 2 :(得分:18)
如果您是(或者即使您不是)JavaScript爱好者,您可以/应该使用Node.js有多种原因:
答案 3 :(得分:11)
就个人而言,我很可能在以下情况下使用Node.js: