Over the past month or so, I’ve been using Rails, David Heinemeier Hansson’s excellent web application framework based on the Ruby programming language.
Its name is a great analogy; if the rails are the guides that the engine runs smoothly upon, the engine is the web application that you create, whatever form that may take. Using its Model View Controller system of development, every component of your web application is in its right place, meaning that applications are both easier to develop and maintain. If you’re developing as part of a team, it also means that work can be delegated to team members with particular areas of expertise.
Rails grew out of Hansson’s work developing 37 Signals’ project management tool Basecamp, and because Basecamp is a particularly fine as well as a high profile piece of software, Rails is getting much in the way of attention. Some would argue that Rails is getting overly hyped; there’s plenty of other web application frameworks using MVC out there, and ones which use more widely embraced languages like PHP.
I started looking at Rails because after a year or so of developing somewhat unwieldy content management systems using PHP, I wanted to try something new, and the Ruby language itself looked interesting.
If you’re thinking of developing a web application using the Rails framework, a major stumbling block is that many hosting companies are likely to laugh at you if you request Rails to be set up on your account. The only answer is to take the plunge and configure your own web server, or find a decent hosting company that will set Rails up for you, preferably one which doesn’t have ‘women in telephone headsets ready to take your call’. Take Textdrive for example, now there’s a hosting company who are up to speed with what’s new and interesting on the web at the moment.
If you’re after an example of a web app developed using Rails, take a look at Sarah Wedde’s weblog management tool or check out the other apps in the Rails demo list.