Consideing how much I disliked Turbo Gears‘ “almost but not quite RAD” nature, I didn’t really expect a look at Ruby on Rails to fare much better. After all, the basic premise of both offering a comprehensive templating scheme + out of the box database connectivity is the same, so just how different can the two really be?
The answer is – they’re worlds apart in terms of scope, quality and downrigfht usefulness.
Ruby on Rails is best described as an application developer developer, one of those rare breed of tools that actually help you in the creation of applications of your own. In the case of Ruby on Rails, the end result is an application that can run straight from apache on any server that has ruby and MySQL? installed. As ruby is one of the up-and-coming language and has a very high cool factor, that shouldn’t be too difficult to find or install yourself. !EPFarms, my host of choice hasn’t got ruby installed yet but I’m going to ask them very, very nicely if they’ll oblige.
Ruby on Rails’ core magic lies in it’s ability to create a “scaffold” – automatic code that takes a database table and automatically creates the core views (add, edit and list) without a single line being written. These core methods can then be extended and replaced with others as you work through your site. THe templates are also completely abstracted, which means it’s trivial to hand the site layout to a designer and let them get on with creating the overall look and feel while the coder works on the back-end. It’s a perfect workflow, and one that many companies can spend a fortune in money and time to get right. With Ruby on Rails, the workflow is out of the box from day one.
Ruby itself is a fun language to work with. Unlie python, which to me feels too much like tooth extraction to be enjoyable, ruby is a hoot. It’s the stand-up comedian of programming languages where everything is clear, concise and understandable even by the front row; in terms of speed, simplcity and elegance it beats both perl and PHP hands down. I’m not sure how it comes up against perl in terms of raw power, but that’s a benchmarking exercise for the reader.
Ruby on Rails is terrific. If you want to create something bespoke that an off the shelf CMS can’t handle, it really is the way to go.