I’ve been thinking of trying out Ruby on Rails (RoR) for a few weeks now, but finally decided to give it a try. Basically it’s an application server suite based around Ruby. I’d assumed that Ruby was a newish programming language, but was surprised to find out that it’s been around since the early 90s. Only recently has there been a lot of interest in it, and seemingly only really in conjunction with the Rails framework.
Ruby itself is a highly object-oriented language, and although I haven’t seen much of the language itself yet, apparently has similarities to the simple-but-strong features of Python and Ada.
Despite its reputation for simplicity and getting things done quickly, I’d heard that setting RoR up was a little fiddly. Certainly it didn’t seem quite as straightforward a process as the python-based Zope application, but I guess it only took about an hour or so to set up, configure, and write a simple application in Windows. Anyway the following excellent tutorial was really useful for getting started with RoR (although it seemed slightly out of date compared with the setup I’d downloaded): Rolling with Ruby on Rails
Once set up, you quickly realise how model-view-controller are nicely separated in the Rails framework, yet are well integrated. eg. create a db table, and with one simple command line instruction you can create what amounts to a class file which will forever be linked with that table. And I thought PHP was well-integrated with MySQL (Well, it is, but not quite this tightly.)
Hmmm ok so I’m sure there’s a lot more to it than that, but it does look pretty simple to get some kind of a dynamic site up and running very quickly.
Would I use it for anything other than as a toy? Not yet, but then it’s still only on 1.1. For one thing, I’d imagine very few hosting companies would support RoR yet, meaning it’s something you can only really do on a self-maintained server. Another slight drawback for me seems to be its reliance on command-line instructions. Maybe somewhere there’s a gui interface, but otherwise it feels like a pain to have to switch between command line and code views to get anything done. That said, I’m guessing that once you’ve got the basic structure of the site done (with the command-line instructions) you can code/markup away merrily to your heart’s content with very few other command lines.
I guess only time will tell whether this, Zope, or some (currently lacking) PHP application server will emerge as the de facto quickie web developer tool of choice…