Posts tagged: 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. Less for a newbie to absorb and less for an experienced user to keep track of. Yes, it does require a template engine and a database wrapper to be useful, but the core is still extremely lean.

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. That sent me off reading more about prototype-oriented languages (that Lua just keeps popping up).

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. As the TurboGears community ponders CRUD options, I wonder if the idea of adapting Django’s admin itself will come up. (Django is a BSD-licensed project, so there’s no licensing obstacle.) I don’t know enough about the differences between Django’s ORM and SQLObject to say whether this idea is feasible.

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. If you have an existing Rails installation, Locomotive will run politely alongside it without messing anything up.

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.