Why I
Love Ruby on Rails.In
college, all of my classes revolved around Java and C++,
and the first few years of my professional career were with ASP.Net
which was
a huge evolutionary leap in web development, and a joy to work with. It
enabled me to spend less time on the tedious plumbing and more time on
the important things. I had spent nearly three years learning .Net,
Microsoft was due to launch 2.0 in November of this year, and I
couldnt imagine building a web application without it.
With this background and experience, I was definitely hesitant to
switch to an open-source and, at the time, unproven platform. As a
result, I was fairly cautious and spent a lot of time researching Rails
before fully committing to it as my development platform of choice.
Ive been following it for months now and have read almost all of the
Agile
Web Development with Rails book . (Review coming soon.)
And naturally, Ive installed everything and taken it for a test drive
or two. It rocks.
Best Practices
Rails takes all of the things you should be doing,
and consolidates it into one very elegant framework.
Directory structure, unit testing, functional testing, performance
testing, database build scripts, MVC separation, validation, no XML
configuration files, and more. Its all there, and it all plays
together nicely. This is my favorite aspect.
While it doesnt
matter to me, another wonderful thing is how easily you can override
the defaults. Rails is setup to handle everything one way,
but if your legacy data model doesnt mesh with the standards, its not
difficult to override things and do it your way. Its
beautiful in its guidance towards best practices, but at the same time
its open-minded to doing things your way.
Less Plumbing
It
doesnt save me from writing code, but it does save me from writing
easy code. I dont have to write SQL for every little query. If I want
to use more advanced queries, I can, but all of the tedious stuff is
taken care of for me.
With Rails, theres no need for 3rd
party code generation or unit testing tools. That means more seamless
integration and less time setting things up. Even though .Net saved me
from some of the tedious plumbing, Rails saves me from doing even more.
The less time I spend on the plumbing, the more time I have to build a
better user interface to empower users to do more and do it with
greater ease.
Ruby the Language
This is one of those
more technical things, but Ruby is beautifully object-oriented.
Everythingand I mean everythingis an object and behaves as such.
Additionally, the syntax and language itself are concise and a pleasure
to both read and work with.
The Enterprise Discussion
The
only real argument Ive managed to find about Rails is about how
its supposedly not scalable enough for enterprise solutions. That may
or may not be the case, and, after reading all of the arguments, I
personally dont find it relevant. Im not going into the details
here. If youre interested, I suggest checking out Whats
all the fuss about Ruby on Rails?. Enough about
that.
Summary
Ive done my research, and decided. Ive got Programming
Ruby and a
book on Subversion on the way, and cant
wait to start applying everything to a real project. I
never thought Id be able to describe anything related to programming
as elegant or beautiful, but sure enough, Ruby on Rails is all of that
and more. [Garrett Dimon]