我已经建立了几个网站使用PHP和mySQL作为后端,并相信我对这两个相当熟悉。然而,在我的新网站的研究过程中,我遇到了node.js和mongodb (还有socket.io,因为这个网站将包含聊天)。
我决定使用node.js和mongodb来运行聊天--但是我不知道我是否应该用这两个东西来做整个网站?既然我无论如何都要运行一个节点服务器,我应该运行另一个(独立的)托管网站的服务器吗?或者这是个坏主意?-它稳定吗?我可以在用PHP编程的同时仍然使用mongodb --但是node不是更快吗?
还有一个问题:我计划使用ajax来处理页面上的所有帖子--但既然我已经准备好使用socket.io聊天了--我应该用它来处理我所有的帖子请求吗?对于ajax,我计划使用jQuery (也可以用于所有的前端效果)。
发布于 2011-05-06 15:40:21
不知道我是否应该用这两件事来做整个网站?
如果你想学习node.js,那么没有什么比编写代码更好的了。
既然我无论如何都要运行一个节点服务器,我应该只运行另一个(独立的)托管网站的服务器吗?
您可以使用现有服务器并在其他空闲端口(O)上运行您的node.js应用程序。我认为对于学习节点,你不需要有专门的机器。
它稳定吗?
即使是node.js的版本也是稳定的版本,然而,在1.0版本出现特性冻结之前,它的应用程序接口可能会有一些破坏性的变化。
我可以在用PHP进行编程的同时仍然使用mongodb --但是node不是更快吗?
它很有可能(而且肯定)会。
我计划使用ajax来处理页面上的所有帖子--但是既然我已经准备好使用socket.io聊天了--我应该用它来处理我所有的post请求吗?
我建议坚持使用MVC模型并使用express,因为如果你使用socket.io做一些经典的东西,你会遇到很多耗时的麻烦。Socket.io就是为了实现实时功能以及与之相关的东西。
发布于 2011-05-06 06:30:25
已经有一些用于node.js的可靠的web框架,特别是Express。这是一篇非常好的文章,概述了构建node.js网站的一些经验和教训:
What it’s like building a real website in Node.js
关于您的第二个问题,最好还是结合使用AJAX处理程序和jQuery。我不确定jQuery是否支持原始TCP套接字上的回调。
发布于 2011-05-06 09:33:48
node.js + express + jade + stylus + jQuery是我的首选环境。
使用forever自动重启服务器,我从来没有遇到过任何真正的正常运行时间问题,即使我经常遇到使服务器崩溃的错误。
至于socket.io + jQuery,它们确实相处得很好,但并不像express + jQuery组合那样自然。对于大多数事情,我都会坚持进行ajax调用。
https://stackoverflow.com/questions/5904732
复制相似问题