我已经看到很多关于实时Web应用程序的Node.js多么出色的讨论-需要套接字,Comet,AJAX大量通信等等的东西。我知道,它的事件驱动,异步,线程驱动模型也适用于低开销的并发。
我也看到了Node.js教程,这些教程用于更简单的“传统”非实时应用程序(例如,标准博客示例,对于那些学习应用程序开发的人们来说,这似乎是标准的“ Hello World”)。我也知道,节点静态允许您提供静态资产。
我的问题是:是否有充分的理由要避免针对传统Web应用程序使用Node.js,例如分类,论坛,上述博客示例或为内部业务应用程序构建的CRUD应用程序?仅仅因为它在所有时髦的实时信息方面都表现出色,这是否就禁忌它用于更固定的用途?
我唯一能想到的就是缺乏成熟的库(尽管情况正在发生变化)。
(我问的原因是,我正在考虑放弃PHP以使用Node.js,主要是为了克服语言之间切换的阻抗不匹配问题,而且还可以重用验证代码和其他功能。我的超我劝告我选择最好的工具;但是,我没有太多的时间学习十五种语言及其所有的userland库,只是为了拥有一个全面的工具库,而且还可以确保Node.js可能为我提供比PHP /以后我必须开始考虑流量大的Apache。)
[编辑]到目前为止,谢谢大家。我只想看看在选择答案之前是否还有其他人会考虑。@Raynos的答案有点证实了我的想法,评论者的链接为我们提供了很好的思考,但是我想看看是否还有其他人有任何特定于节点的答案,例如“不要将节点用于问题X” '。(除了高CPU任务,我已经知道了:-)