Django alternatives for real time web applications

You need to weigh your decisions against your goals.

You want a product

Then write your code in the language framework that you are most familiar with, only when you have a product and it has limitations consider switching tools.

You want to learn something new

Try out the new language, framework - but it may take a lot longer to produce a product and you may find that the new tool isn't any better than the old one.

Half and Half

Try starting two projects, and building the same thing in each project, just using the other tool. This will take even longer, but you should be able to see which tool you prefer / is best suited to your task very quickly.

Alternatives

I'm not quite sure what you mean by django is 'unnatural'. Django can do server / client communication - just use some AJAX to talk back to the django server, then call another pythonic library to process the request. Python alternatives to django include the wonderful flask and web.py, though neither will do client / server communication unless you program them too (like django). If you're not into python you might try ruby on rails. For the client side you will need to know something about JavaScript so go and learn up on that (coffescript and jQuery can ease JS pain, but do learn JavaScript first).

Of course you could bite the bullet and go with node.js as the server base, apparently it's pretty good (I've not tried it yet) - and written in JS.

EDIT: In light of your comments, take a closer look at

  • django-websockets,
  • node.js + push server
  • websockets

Noting also that this question is a potential duplicate.


Look into http://www.tornadoweb.org/ + http://www.mongodb.org/ + https://github.com/bitly/asyncmongo + http://socket.io/ I think it's a good idea to use that to create real-time application.