Tornado 2.0 released
groups.google.com
groups.google.com
outside of the event loop implementation, the framework components are well written - so tornado is worth checking out even if you are running on a more standard type of web server environment or appengine
my own web app stack contains a number of modules either directly from Tornado or inspired by sections of the project
Sure the multiprocess stuff is in there, but I honestly wouldn't use it for more than perhaps a dev environment where you want to spool up multiple instances quickly for testing.
You can override the error handler and return whatever content type you want. Tornado was first written for an HTML site, not RSS feeds. FriendFeed supported an HTML UI before Atom and RSS feeds were added.
really poor support for multiprocess mode
The Tornado people do not recommend using multiprocess mode. They should just delete this code.
never noticed the gzip issue, since I didn't use that either
overall I think the code is very good, well written and well documented
Tornado is so flexible, though, that it would be pretty straightforward for you to use whatever templating library floats your boat.
What Tornado provides is a small but well featured framework for building web applications. It's event loop based which allows it to support lots of connections. It also has been built from the ground up with the idea of horizontal scaling of it across multiple load balanced instances so if that's your plan for scaling you know it fits the mold well.
(Some of these things might have been fixed, I haven't checked)
Tornado is the bare-bones essentials for an async web application server. Twisted is not. You can start with Tornado, then put Django or Twisted on top, but that's optional.
Besides, people are kind of scared of Twisted.
Twisted is quite large nowadays http://twistedmatrix.com/trac/browser/trunk/twisted
Compare it to Tornado source, which is ~30 Python files https://github.com/facebook/tornado/tree/master/tornado
It would also have made porting tornado to python 3 a huge effort (given twisted code size).
As was mentioned already, competition is good.
not using Twisted was the whole point of Tornado, wasn't it? If Tornado used Twisted it wouldn't exist.
I tend to agree with Brett Taylor in that Twisted was too large a project to suit the goals of Tornado, and that its own divisions within twisted.web were difficult to navigate through
the event handling part of Tornado is less than 100 lines of code and is a lot easier to implement and understand than Twisted, although Twisted also serves a purpose. I like and prefer that Tornado is self-contained and focuses on a single use case (returning JSON in long-polls) and does it well
I have used this in a few applications and really liked it.
They've historically kept up with new Tornado releases, so hopefully they'll catch up with Tornado 2.0
Also, as always, since somebody said "Twisted is big," I'd just like to counter: Django is twice as big as Twisted and nobody seems to mind.