When we think about tech industry commercial triumphs and failures of the past decade, a flood of high profile successes and unforgettable crashes come to mind. Apple’s reemergence as a dominant force in consumer technology is arguably the biggest story of the past decade. But there have been plenty of other success stories, even in the midst of one of the most harsh economic environments since The Great Depression. Google, Amazon, Twitter, Facebook, and Salesforce.com to name just a few. And the list goes on and on.
The lowlights of the past decade were no less spectacular. MySpace, Research in Motion, Gateway may be the most notable examples of companywide debacles, but who could forget doomed product forays like HD-DVD, HP’s WebOS tablet, and Microsoft’s Zune?
And while Ruby on Rails may not be a household name (unless you’re an application developer), the web application framework that dates back to 2004 can certainly take its place alongside Google and Amazon as one of the decade’s top success stories in the tech industry.
From Cool Little Tool to Mainstream Megahit
Back in 2005 with the official release of version 1 to the open source community, few would have guessed that the popularity of David Hansson’s creation, inspired to help free programmers of the repetitive coding required by established enterprise platforms like Java, would soon explode.
But that’s exactly what happened. In 2007 Apple began to bundle Ruby on Rails with their Mac OS X operating system, and overnight Rails was introduced to a widespread audience. Since 2007 as the Rails community has grown by leaps and bounds, new versions and features have been introduced, with its current version 3.2 released in early 2012. Today apps developed on Rails can be found at companies like Amazon, Google, Groupon as well as national and state government agencies.
What Devs Love about Rails
- The (lack of) a language barrier. Whether it’s high school Spanish or Cobol, learning a new language is a task few look forward to, and it usually involves stacks of books and a lot of head scratching. Ruby, however, has been described as elegant, powerful, clear, and logical. Rails devotees laud the simple-yet-powerful structure of Ruby.
- Rapid development. With powerful productivity features like rapid feedback during coding (invariably compared to the incremental, plodding method of coding and compiling in Java), Rails developers share an almost universal conviction that they can create apps much more efficiently than with other frameworks. This translates into a cost-effective development time frame, and IT departments just love that.
- Convention over Configuration. The Rails developer mantra, convention over configuration reflects the simplicity and elegance that underlies both Ruby the language and Rails the platform. Put very simply, it means programmers only need to create code for the unconventional aspects of the application. In an article written for IBM developer community, Bruce Tate, President of RapidRed, said the following:
Rails…assumes a common project directory structure and simple, common naming conventions for methods, classes, tables, and columns to infer much of what’s configured in Java applications. As a result, Rails applications need a fraction of the configuration code of Java counterparts, often by a factor of 10 or more.
- It takes a community. Java and .NET advocates are quick to point out that their encyclopedic volumes of documentation and multitudes of licensed support specialist cannot be matched by Rails or any other open platform. But if you ask around you’ll find that Rails developers, and most importantly their customers, don’t feel like they’re missing out on anything. Thanks to Ruby’s global community of dedicated, almost fanatical devotees, the complaints seem to be few and far between.
The Future of Ruby on Rails
There are more than a few industry watchers who say the era of open source may be coming to an end, pointing to the recent trends toward proprietary systems in mobile computing (Apple’s dominance, Win8 coming soon).
But in my experience, no matter how dominant a few players may become, no matter how hard they try pushing their industrialized, my-way-or-the-highway approach to application development, there will always be a demand for tools that offer 100% customization. At the end of the day many customers will want the flexibility that Ruby and Rails offer, and if it comes with a cost-effective approach, all the better.
So what do you think? I’d love to hear your thoughts about Ruby on Rails.