Python web app framework explosion.
So the Python community has begun reacting to the Ruby on Rails mania,
and this is a good thing. It means I'll be able to write my next web
app project in Python without having to roll my own everything. It's
one of the downsides of Snippy: I wrote everything. It's also one of
the upsides of Snippy: I wrote everything, so I learned a lot. But I'd
like not to have to repeat that experiment.
Django
was the first big project to hit the news. It's a pretty mature
project, with a lot of real, deployed sites notched on its belt. It has
no built-in AJAX story yet, though, and the modern web app craze is all
about that partial page load DHTML magic.
TurboGears is the latest. This is an assemblage of existing Python projects into a consistent whole. The core is the CherryPy web app framework. It gets its AJAXiness from Mochikit integration.
Subway is advertised directly as a Ruby on Rails competitor. It also uses components from CherryPy, and has an AJAX component
in progress. (They need a graphic designer, stat! Don't they know that
people are shallow and stupid and react more to the appearance of a
framework's site than to the framework's code quality?)
There's a more complete list
of Python web app frameworks, but these are the big three competing
with the glitz and hype that is Rails. (Of course it's more than hype.
Rails is very pleasant to work with. Its downsides are poor
performance, a yucky deployment story, and, to be honest, Ruby.)
What
I need is a one-hour webapp project that I can write in each of these
to evaluate them. Something simple, with data that would be appropriate
to store in a database, with some scope for stupid DHTML tricks.
DeSalvo-san suggested a booklist app that uses the Amazon web services
API in some way. [Ceejbot]