我读到的关于为什么使用node.js的最常见主题是由于它是偶数的非阻塞I / O模型而具有高可伸缩性。我正在尝试了解其他非可伸缩性用例(除了用作通用服务器端javascript引擎)。
答案 0 :(得分:8)
我尝试节点的原因是,在服务器和客户端之间为ajax请求发送JSON数据非常容易。 如果您使用类似MongoDB的东西,它也将数据存储为JSON对象,您就不必担心翻译或解析数据。
如果您的网站使用了大量的ajax,并且您将数据作为JSON对象(而不是XML或纯文本)发送,那么node.js将为您节省大量精力。
答案 1 :(得分:4)
我认为此博客文章总结得很好: http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb
简而言之(pro node.js):
node.js非常棒。试试看! :)
答案 2 :(得分:2)
我能想到一个原因,但不是很深刻。基本上,如果您正在开发RIA,您的整个堆栈可以是javascript。这可能有一些价值。
但我怀疑自己的答案,即思想是,即使它使客户端开发人员更容易访问服务器端代码,他们仍然需要了解他们的服务器堆栈是如何工作的。所以仍然有一些学习。
答案 3 :(得分:2)
准确地说,我认为你问题中的一般服务器端JavaScript引擎将是V8,而根据它的创建者Node是为脚本网络程序构建的。"
基于他的许多评论,我不相信他像我们许多人那样广泛地看待它,但认识到它可以去哪里。 [我不能代表任何人说话 - 这只是我根据我见过的文字和演示文稿进行的解释。]
因此,它从较低的层面处理事物,使HTTP成为一流的公民,恰好真的很酷,我认为这足以使用#34;用例"对于我们大多数人来说;)
它确实有学习曲线,并且由于其快速发展而不是最稳定的平台。我相信时间会告诉它最有用的地方。
现在人们正在使用它来实现"实时"应用程序由于其轻量级,异步性以及一般的Web开发,尽管IMO的最佳点仍然是其最初声明的用途。
答案 4 :(得分:1)
除了非阻塞I / O模型,可伸缩性以及所有“主要原因”之外,我喜欢node.js:
答案 5 :(得分:1)
我喜欢使用NodeJS编写测试工具,因为您可以非常快速地编写存根/服务器/客户端。您可以轻松驾驶您的应用程序。我可以轻松编写第三方后端服务器脚本,对我的应用程序进行性能测试。我也用它来驱动我的应用程序。我可以使用setTimout执行复杂的客户端服务器方案,以根据我想要的任何逻辑触发多个事件并对其进行大规模测试。