views:

142

answers:

4

Well, the title says most of it. I'm looking to develop a chat application that will hopefully become something more, and currently I'm considering my options for what I should build it on top of.

I've taken a look at Tornado with Redis as my primary option - Tornado, being a Comet server, is perfect for long polling to retrieve the messages on Redis, which I have the intention of using as both a persistent data store, as well as a message queue with its nifty subpub features.

However, I've also heard good things about Django, RabbitMQ, MongoDB and Orbited. JavaScript isn't a big problem for me, so Orbited's JavaScript support isn't too much of a boon.

Really, I'd probably be happy to develop on the route I've chosen for myself, but if there are any gaping deficiencies in my plan, I'd like some kind person to point them out before I find I've wasted months on this.

A: 

Don't use Django for this. It should be possible at some level, but it is definitely not well suited for it. Tornado sounds like a great fit, so if that works go for it.

alper
A: 

Have you ever considered Scala?

I would if I knew Scala, or had the time to learn it. It's sorta a whole new programming language to learn ;)
Rob
A: 

Since Javascript is not a problem for you and you need high-performance you should really consider Node.js. It's really fast for this kind of stuff.

It's fairly new project, but it already has a bunch of libraries. It also has already a package manager NPM like PIP (python) or Gem (Ruby).

Epeli
A: 

I agree with the rest of the people answering this question. If you need a high performance web server I would recommend you to take a look at Deft. Take a look at the benchmarks and the examples and see if it fits your needs.

Disclaimer: im a Deft committer

Schildmeijer