Ruby on Rails, and other Open Source frameworks
Saturday 22 October 2005 ◷ 23:26
Ruby on Rails is a web application framework, which is hyped to be the bomb. OK, the installation was a breeze, as advertized, but after reading on a bit, it seems all so pointless to me. The out of the box Model-View-Controller pattern might steer a developer away from a meriad of spaghetti cgi scripts or php pages, since this is exactly what newbies tend to very enthousiastically screw up big time. It can be used to build something that might be interpreted as a website in very little time with very little code. But then it probably suddenly gets complicated. Basically all the framework does is map URLs to skinnable views available in a webbrowser. This is cool for Joe Scriptkiddie who want's to put some shit into a mySQL database and program a "user" interface around it, but over 10 years ago real databases could just do that by themselves, and 5 years ago real databases offered a similar MVC web-interface, and years ago other MVC based applications were available. Why weren't they successful then?
If the Ruby on Rails approach really decimates the development time, it would be worth to invest in such an approach. Maybe Oracle or Sun had such an approach, put a commercial pricetag on it and off course no developer out of the 2-month-single-developer-project category was interested in a product that apparently saves 90k on a 100k project. And now these developers try to push a "scalable" solution into the high-end?
The web is more than just a thin GUI to a database, and an MVC web application is not a Content Management System. So, while I'm reading about Ruby on Rails I'm thinking of the around 150 multi-lingual content managed websites with several back-end connections I'm involved in. Looking at the Ruby on Rails "success stories" I wonder whether the developers are blind, or it must be really complicated to use some images to go with the text. Sure, from a database point of view it kind of screws up your MVC if you want an arbitrary number of images to be able to be mingled between some text, and the back-end GUI to manage them wouldn't be that straight forward anymore either. Which makes the clean framework pretty useless beyond the realm of self-indulged blog- and wiki sphere. It would be something Microsoft would get right because they know their customers really want nice images...
Reality isn't always clean and logical, and models aiming for too much of it break easily under the pressure of real demands. The client providing the business "logic" is just a human and the visitor experiencing the UI is also just a human, and in between there is little need to go beyond what they consider logical in their own - sometimes stupid - system of reference. Life is like a bunch of ever changing hacks, and solutions should be able to handle them. Unless you're on the bottom end implementing Open Source solutions because your clients can't even afford the proprietary alternative. But then you're probably solving another problem...
Another issue is increased beta status. For an Open Source project to be successful it needs developers, preferably before the product is ready to use. But it's hard to promote something that doesn't work yet, so developers have to be tricked into using something that isn't finished yet on a production environment, and have the lock in force them to fix the bugs. Adding beta does just that. The only downside to this is that the project starts to smell of unstableness which is hard to get rid off. Release candidates aren't really releases, scalability starts with stability. And I really should stop reading slashdot.
David Heinemeier Hansson
Sunday 23 October 2005 ◷ 22:24
re: Ruby on Rails, and other Open Source frameworks
It doesn't quite gel with the world view that "Basically all the framework does is map URLs to skinnable views available in a webbrowser", but you may be interested none the less.
ipenburg
Monday 31 October 2005 ◷ 21:32
re: Ruby on Rails, and other Open Source frameworks