Posts tagged: WEB FRAMEWORKS

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.

YAPWF: TurboGears

Even if all the recent interest in Django hasn’t stopped other people from trying to create Python web frameworks, I think it has raised the bar for what people decide to unleash on the world.

Enter TurboGears.

Though it’s billed as a “megaframework,” its structure is almost identical to plain ol’ frameworks Subway and Fanery: a stack combining SQLObject, CherryPy, and a templating system (in this case, Kid). TurboGears also adds Ajax support via MochiKit.

It’s installable via setuptools; even if this means you need to install setuptools first, the net effort required is still less than manually installing TurboGears and its four separate framework components. Dependency management is no small thing when you’re combining several pieces that are all evolving rapidly.