我不确定要构建聊天应用程序的最佳技术栈。目前,我考虑了两个主要选项:
- Facebook Tornado
- 缺点:不使用主流的聊天协议XMPP,而是使用PubSubHubbub协议
- 优点:我非常喜欢它的开发简单性(Web服务器+Web框架);相比XMPP,PubSubHubbub协议也似乎更简单;我也熟悉Python语言。
- XMPP + Bosch、Punjab、Ejabberd
- 缺点:不熟悉Erlang语言;总体开发难度似乎有些大
- 优点:使用XMPP协议
聊天应用程序需要具备以下功能:
- 私人消息
- 公共房间
- 私人房间
- 房间聊天记录(不是永久记录,只记录最后n条消息)
- HTML嵌入
- 聊天室URL
这两个选项似乎都可扩展,所以这不是我的担忧(我们正在考虑在Amazon EC2上运行该应用程序)。我知道有一个项目使用Tornado构建了XMPP服务器,但它还没有准备好供生产使用,而我们的截止日期并不紧迫。基本上,我主要担心的是开发的便捷性与稍后使用PubSubHubbub协议来开发聊天应用程序会否后悔,但我在某个地方读到过, PubSubHubbub可能会取代XMPP,就像REST取代SOAP一样 - 那么你认为呢?