What is it?
Ruby on Rails is being taken seriously - and that includes
coming in for serious criticism over issues such as scalability.
Ruby on Rails is an open source web application framework using the
Ruby programming language, and usage has risen rapidly in the last
two years. Most industry services have it still trailing PHP, Perl
and Python, but catching up fast.
Some commentators have predicted a return to the devil-you-know
in the uncertain times ahead, with a resurgence of C, Java and
Javascript at the expense of the open source scripting languages.
But there is currently no shortage of employers looking for Ruby on
Rails skills, nor of commitment from major suppliers. IBM was an
early supporter, with drivers and adapters for DB2 and other key
platforms.
Oracle offers a driver, but gives Ruby on Rails less wholehearted
support. Sun includes it in its OpenSolaris webstack.
Problems last spring at Twitter, the biggest Ruby on Rails site,
led to speculation that the platform would be abandoned, but
Twitter still champions Ruby on Rails, saying, "It allows us to
work quickly and easily - our team likes to deploy features and
changes multiple times per day. Rails provides skeleton code
frameworks so we do not have to re-invent the wheel every time we
want to add something simple."
Where did it originate?
Ruby was created in 1995 by Yukihiro Matsumoto, who wanted a
language geared to the needs of the programmer rather than the
machine. Although it has been around as long as Java, Ruby was a
minority interest until David Heinemeier Hansson released Ruby on
Rails in 2004.
What's it for?
Ruby is an interpreted scripting language for object-oriented
programming. Enthusiasts describe it as simple, straightforward,
extensible, and portable. Ruby follows a few simple precepts, such
as "Do not repeat yourself" and "convention over configuration",
both aimed at encouraging developers to reduce unnecessary
complications and the amount of code they have to write.
Rails uses the Model-View-Controller (MVC) architecture pattern,
and as the Twitter quote above implies, provides a "scaffolding"
which can automatically construct some of the models and views
needed for a basic website. Ruby on Rails offers both HTML and XML
as output formats, and can be used in Ajax development and in
building Restful web services.
What makes it special?
The combination of Ruby and Rails is said to provide big
productivity gains.
How difficult is it to master?
Ruby's syntax is based on Perl. The Ruby FAQ says, "If you like
Perl, you will like Ruby and be right at home with its syntax If
you like Python, you may or may not be put off by the huge
difference in design philosophy between Python and Ruby/Perl." IDEs
that make life easier for beginners include Aptana's RadRails.
Where is it used?
Yellow Pages, MTV Style, the Oracle Mix developer community
site.
What systems does it run on?
The Ruby programming language and Ruby on Rails run on Linux and
Unix, Mac OS X, and also on Windows although Microsoft supports
Rails, there may be performance issues and some unavailable
features.
What's coming up?
In December, it was announced that Rails 3.0, due later this
year, would merge the best features of the rival Merb framework for
Ruby, generally regarded as providing the kind of scalability and
performance that enterprise applications need.
Rates of Pay
Ruby on Rails developers earn £30,000 to £45,000.
Training
See the Ruby on Rails
website for tutorials. There are many other sources: a selection
can be found at
Digital Media Minute.