有人可以帮助我了解node.js,以及如何以及为什么我可以像使用rails一样使用它?

我正在尝试为现有的高stream量网站编写可扩展的交互式聊天应用程序。 它需要在第一天进行扩展,聊天的并发性和多播问题使其成为棘手的问题。

我最初的计划是把整个事情写在rails中,然后将聊天服务器重构成erlang。

尽pipe我是一名经验丰富的PHP开发人员和系统pipe理员,但是node.js和RoR对我来说都是新的和极其陌生的技术,所以我可以利用一点帮助理解这种情况下的核心概念和应用程序。 有了这么多的新技术,很难全部了解。

首先,我build议您查看http://ajaxim.com/ 。 这个软件是你想要的依赖于Node JS的预打包版本(比自己更容易)。

如果你仍然想自己写一些东西,而且对两种技术都没有经验,那么我build议你阅读一些介绍性的材料:

节点JS和Rails

这两个来源不是免费的,但会给你一个快速的一个小时的速度每门技术课程。

你也可以看看http://pusherapp.com ! 这是如果你想立即实施一个聊天应用程序。

另一方面,如果你想自己实现一个,Node.js + Socket.io是你最好的select。 但是,如果你想聊天室和东西,看看这个:

http://github.com/shripadk/express-juggernaut-demo

这个演示应用程序使用Express.JS框架和Juggernaut 2。

如果您正在构build需要高并发性的应用程序,我build议仅使用Node.js。 与其他服务器端语言相比,使用Node.js实现聊天室相当简单(主要得益于socket.io等模块)。 Node.js的事件驱动架构使得实现这样的东西非常容易。 Node唯一的缺点就是你必须思考一切asynchronous! 如果你擅长Javascript,那么Node.js应该很容易学习。