Sunday, March 02, 2008

Web 2.0 Framework Philosophies

Today I read a good article in this month's Wired about the creators of and philosophy behind Ruby on Rails, used to "develop much of the software that has enabled Web 2.0". Not having first-hand experience with Ruby on Rails, I learned that it is "ideal for quickly creating lean, sparsely designed Web-based applications", which co-creator Jason Fried describes as "stripped down to the absolute bare necessities." He and David Heinemeier Hansson promote a "once-heretical vision - that there is beauty and wisdom in Web-hosted, bite-size software built to accomplish narrow tasks." Apparently that vision and Ruby on Rails have become quite popular, as "tens of thousands of programmers have used it to create countless online applications, including podcasting service Odeo and microblogging phenomenon Twitter", as well as the creator's Basecamp online collaboration software.

What I found more interesting about the article is the tradeoff between simplicity and complexity in web frameworks. The creators of Ruby on Rails strongly promote the virtues of "radical simplicity" in many regards- from simple UIs and software installation, to small teams and small companies. But there has apparently been some push-back recently as Rails-based applications such as Twitter grow in scale and complexity. The article sates "industry insiders have begun to question the basic philosophy that Web-based mini-applications are inherently better than their bulkier but more powerful competitors." It sounds like Rails is good at what it was designed to do, but may not be well suited for enterprise-level customers. Further, Hansson and Fried's religious adherence to "keep it simple" seems an imposition to developers that require an expanded set of features, causing some to move to competing, extensible frameworks such as Merb.

No comments: