I’ve been writing Rails applications for almost a year now. That might not seem like a terribly long time, but it feels like it to me! I’ve probably spent more time writing code in PHP or ActionScript over the past several years, but Ruby on Rails has been far more rewarding, and I still love it. Here’s some of the things I particularly adore:
- Migrations. We keep our Rails projects under version control, and can’t imagine working without it. But a Rails application is tied to a database, and you can’t keep your database under version control. What you can do is use migrations, which are an easy way to write changes to your database in Ruby. It’s much easier to remember, and if you have problems, you just roll back your changes.
- RJS Templates. We’ve been using more and more AJAX features all the time, which Rails makes really easy. Yet as the applications get more complicated, it gets difficult (and messy) to control disparate elements across a web page. Enter RJS Templates, which give you an easy way to manage all of those changes and interaction.
- Edge Rails. There are a lot of features that haven’t been rolled out to the public yet, but you can easily add these “Edge Rails” features to your application. It’s even easier if you’re using Subversion for version control – you simply tell it where on the Internet the latest version of Rails is stored, and it’s automatically kept current with your project.
- Documentation. When I started with Rails, there wasn’t a book in sight. Now there are at least six finished or in the works. Best of all, they are all very well written, particularly those by the Pragmatic Programmers, whose books have been invaluable long before publication!
- Conferences. Besides prominent appearances at several recent conferences, the upcoming RailsConf promises to be an amazing experience.
- People. There is no community based around a programming language or framework that compares to the spirit of the Ruby and Rails community. The people are always kind, and many have gone out of their way to offer help when we get stuck.
I could go on. There’s so many great things that I just need to stop there and mention my one great reservation with Rails.
- Lack of hosting/server support. Compared with a quick-and-dirty solution for web programming like PHP, Rails can be a pain to get running. It’s very picky and it’s a lot of work to get an application running smoothly on most web servers. The first company to offer a solid, simple, up-and-running solution to hosting multiple Rails applications will surely be a big hit.