WEB FRAMEWORKS

YAPWF: Aaron Swartz's web.py released

Released today: web.py. (Source, documentation, backstory.) Even though everybody (including Aaron) refers to this as a framework, it’s a lot more library-like than most of the frameworks it’s ostensibly competing with – by design, it seems. It’s very compact – only about 1000 lines of fairly dense Python. (About 275 of those are a template for pretty error pages adapted from Django though.) Personally, I find the compact, all-in-one style very appealing.

Turbogears and Subway to merge?

Looking at this ticket, endorsed by Subway creator Peter Hunt and this post by Turbogears creator Kevin Dangoor, there’s clearly a non-zero chance that these two frameworks – which are, as I noted in my initial post on Turbogears, very similar architecturally – will join forces. I agree with Kevin that “saving Python from Ruby” or whatever is not a goal worth focusing on. But focusing developer momentum behind a demonstrably popular web framework model is.

Ruby on Rails 1.0

Yesterday, Ruby on Rails 1.0 was released. It came along with a nice website redesign, too. And some teasers: Rails 1.1 is already pretty far along in development and will see some of the biggest upgrades of any Rails release. Hopefully some time in February.

TrimPath Junction: a pure Javascript clone of Rails

I won’t ask “why?” because I think it’s kind of neat – TrimPath Junction is an unabashed Javascript clone of Ruby on Rails that was released earlier this year. Requires a Javascript interpreter on your server of course. (For bonus points run it on a Javascript web server too.) I have to admit that until looking at the Junction example code I had never realized that though Javascript has objects, it has no classes.

TurboGears progress, or, bring on the CRUD

A while back I posted a link-festooned introduction to TurboGears. In the last six weeks, there’s been evidence of a lot of progress; because TurboGears makes excellent use of already existing projects, it also benefits from the developer momentum in those projects. Recently it looks like there’s been a special focus on adding CRUD (create, read, update, delete) functionality. At this point it’s pretty well known that this is a core strength of Django, and I think Django’s admin tools will probably remain the gold standard for a long time.

Locomotive: Rails for OS X

This is nifty – Locomotive, from Ryan Raaum, a complete Ruby on Rails environment in a self-contained 30MB bundle. And when I say complete, I mean complete: Locomotive contains not only Rails itself, but the Ruby interpreter, RubyGems, the LightTPD webserver with FastCGI, the SQLite database engine, bindings for MySQL and PostgreSQL (though not the server binaries, wisely), and all the other bits and pieces needed for turnkey Rails. There’s also an expanded version of the package with even more goodies.

Controller freaks

The recent posting by Ben Bangert entitled “Best of breed Controllers for MVC web frameworks” is interesting reading. (Also see his followup with corrections.) Rather than trying to stage a showdown, he’s noting significant similarities between the controller styles in CherryPy, Myghty, Bricks, Aquarium, Ruby on Rails, and Django. The implication I take is that this (mostly independent) convergence might be telling us something about smart web application development. The post is worth reading for the comment thread alone, with posts from core Zope, CherryPy, Django, and TurboGears developers (among others) and a great little discussion of the history of object publishing on the web.