I have a little admin interface to a database written in PHP and the Roadsend Site Manager, I wrote this in November 2001 and I am still using it today.
The problem is I have since added a couple more database driven components to my system that I would love to incorporate into this admin system but unfortunately the SiteManager developers have changed so much in their framework that I would need to almost start over.
So I figured I’ll investigate Ruby on Rails. For anyone who has been living under a rock with eyes and ears closed Rails is a web framework written in Ruby. It’s claim to fame is the fact that it is extraordinarily quick to write applications in since it has a large number of code generation and automation classes, it thrives on code reuse and has a powerful Model, Controller, View pattern.
I wrote a little database to store the movies I watch in, a quick simple 2 table relation with all the usual add, edit, delete and browse functions. I managed to do this along with working through tutorials and HTML in about 2 hours, not bad at all for a first application so indeed it lives up to at least some of the hype.
There are however some penalties, you need to do things their way or not at all. Trying to adjust Rails to work with an existing database is going to be tricky, so if you have existing data like I do you need to be prepared to abandon it and start fresh to really reap the benefits. In my case that means changing integration to Bind, Exim, Courier and a whole bunch of other stuff. I believe though the benefits of quickly developing additions to the management system would out weigh this initial hurdle.
There are however a much more significant problem with Rails for me. It is not mature yet. Remember the reason I have to re-write my management system from scratch is because I chose a – then – immature framework to develop it in and now that code is throw-away code. If I choose to develop this with Rails I will be in the same boat very soon. This is obvious from the various on-line tutorials like this excellent one from ONLamp.com. Just look through the comment sections of that article and even the text of the follow up article, there are a few cases where things had to be adjusted after the posting of the article and where the author had to give assistance in the comments to people who have been bitten by backwards compatibility being broken. And note the date, that article was written in January 2005 and it’s already old news in some respects!
This would be less of a problem for people who are dedicated coders, I know how it goes, I used to keep up with all the developments in languages like PHP and coded stuff every night and did not mind fixing up old code. Things are different now, I need to be able to write something and it should last, I do not have the time to go back and constantly fix up old code that my framework of choice broke.
So does the benefit of using Rails out way the disadvantages? At this point it’s a hard sell and not because it isn’t a good language or frame work. I personally may be better off writing something in PHP and Smarty, more work, not as much fun and not as elegant, but certainly more future proof and less work in the long run.
NOTE: This is a static archive of an old blog, no interactions like search or categories are current.