我使用PHP和mySQL作为后端构建了几个网站,并且相信我对两者都非常熟悉.然而,在我的新网站的研究中,我遇到了node.js和mongodb(和socket.io,因为该网站将包含聊天).
我决定使用node.js和mongodb来运行聊天 - 但不知道我是否应该用这两件事来做整个网站?既然我要运行一个节点服务器,我应该运行另一个(单独的)托管网站吗?或者这是一个坏主意? - 它稳定吗?我可以在PHP中进行编程并仍然使用mongodb - 但是节点会不会更快?
还有一个问题:我计划使用ajax来处理页面的所有帖子 - 但由于我已经将socket.io用于聊天 - 我应该使用它来完成所有的帖子请求吗?对于ajax,我计划使用jQuery(也适用于所有前端效果).
不知道我是否应该用这两件事做整个网站?
如果你想学习node.js,那么没有比编码更好的了.
既然我要运行一个节点服务器,我应该运行另一个(单独的)托管网站吗?
您可以使用现有服务器并在其他自由端口(o)上运行node.js app.我认为对于学习节点,您不需要专用机器.
它稳定吗?
甚至node.js的版本都是稳定版本,但是在1.0版本中有功能冻结之前,它的API可能会发生重大变化.
我可以在PHP中进行编程并仍然使用mongodb - 但是节点会不会更快?
它很可能(而且肯定)会.
我打算使用ajax来处理页面的所有帖子 - 但是因为我已经在聊天中使用了socket.io - 我应该使用它来做我所有的帖子请求吗?
我建议坚持使用MVC模型并使用express,因为如果你将socket.io用于经典的东西,你可能会遇到大量的时间麻烦.Socket.io即用于实时功能和与之相关的事物.
node.js已经有一些可靠的Web框架,特别是查看Express.这是一篇非常好的文章,概述了构建node.js网站的一些经验教训和经验:
在Node.js中建立一个真实的网站是什么感觉
关于你的第二个问题,使用AJAX处理程序和HTTP与jQuery可能仍然是最好的.我不确定jQuery是否支持原始TCP套接字上的回调.
node.js + express + jade + stylus + jQuery是我的首选环境.
永远使用自动重启服务器我甚至没有任何真正的正常运行时间问题,即使我有定期崩溃服务器的错误.
至于socket.io + jQuery,它们相处得很好,但它不像express + jQuery组合那么自然.我坚持为大多数事情做ajax调用.