Ruby on Rails, or as its simply called Rails, is an open source web application framework which runs on the Ruby programming language. It offers a full-stack framework that allows the creation of pages and applications which gather information from the web server, the ability to talk to, or query the database, and create templates “out of the box”. Because of this, Rails features a routing system that is independent of the user’s web server.
Ruby on Rails emphasizes the use of well known software, engineering patterns and principles, such as active record pattern, convention over configuration )CoC), don’t repeat yourself (DRY), and model-view-controller (MVC).
David Heinemeier Hansson extracted Ruby on Rails from his work on Basecamp, a project management tool by 37signals, which is now a web application company. Hansson first released Rails as open source in July 2004. However, Heinemeier did not share commit right to the project until February 2005. In August 2006, the framework reached a milestone when Apple announced that it would ship Ruby on Rails with Mac OS X v10.5 “Leopard”, which was released in October 2007.
Rails version 2.3 was released on March 15, 2009 with major new developments in templates, engines, Rack and nested model forms. Templates enable the developer to generate a skeleton application with custom gems and configurations. Engines give developers the ability to reuse application pieces complete with routes, view paths and models. The Rack web server interface and Metal allow people to write optimized pieces of code that route around ActionController.
On December 23, 2008, Merb, another web application framework, was launched, and Ruby on Rails announced it would work with the Merb project to bring “the ideas of Merb” into Rails 3, ending the “unnecessary duplication” across both communities. Merb was merged with Rails as part of the Rails 3.0 release.
Rails 3.2 was released on January 20, 2012 with a faster development mode and routing engine (also known as Journey engine), Automatic Query Explain and Tagged Logging. Rails 3.2.x is the last version that supports Ruby 1.8.7. Rails 3.2.12 supports Ruby 2.0
Ruby on Rails 4.0 was released on June 25, 2013, introducing Russian Doll Cashing, Turbolinks, Live Streaming as well as making Active Resource, Active Record Observer and other components optional by splitting them as gems.
Ruby on Rails comes with tools included that make common development tasks easier “out of the box”. These tools include scaffolding, which can automatically construct some of the models and views needed for a basic website. Also included are WEBrick, which is a simple Ruby web server that is distributed with Ruby, and Rake, a build system which is distributed as a gem, or a self-contained format. Together with Ruby on Rails, these tools provide a basic development environment.
The application is separated into various packages, namely ActiveRecord (an object-relational mapping system for database access), ActiveResource, provides web services, ActionPack, ActiveSupport and ActionMailer.
The main reason that Ruby on Rails is so popular is because it is the most productive way to build web applications. Custom software development has always been expensive, which has resulted in pieced together solutions which dominated the software market. However, the dominant question was always, how can businesses differentiate themselves from each other if they all use the same application? The answer is obvious, custom software can help businesses differentiate themselves and provide deep competitive advantage through data collection, visualization and distribution in an organization, where users and departments know what data they need to operate efficiently.
Ruby on Rails makes this type of software development economical for companies ranging from fast-growth start-ups to large corporations that want to experiment without having to add to their IT budget.
This type of experimentation was very cumbersome in the past. When companies wanted a new application implemented to take advantage of market opportunities and trends, they had to first present a formal request to their boss. This then turned into a formal request to the IT department, which was then reviewed by a board for budget approval.
Once the budget was approved, equipment and personnel skills had to be evaluated. Several months later, the project may even begin. Individual groups within companies are now learning to use Rails to speed up development and reduce costs.
With start-ups increasingly focused on information delivery rather than physical product delivery, many choose Rails to build apps quickly, at low cost and, therefore, low risk. They are leveraging Ruby on Rails’ software delivery economics in the core of their products and services.
With Ruby on Rails providing a programming framework that includes reusable, easily configurable components commonly used for creating web-based application, it is gaining traction with developers.
As businesses explore how they can use Ruby on Rails to build their next generation products and services for consumers and employees, they’ll discover the significant development time savings Ruby on Rails offers. Combining this with low up-front investment and overall cost savings, it makes perfect sense that you will continue to see more companies choosing Ruby on Rails.
In 2011, Gartner Research noted that despite criticism and comparisons to Java, many high-profile consumer web firms are using Ruby on Rails to build agile, scalable web applications. Some of them largest sites running Ruby on Rails include GitHub, Yammer, Scribd, Groupon, Shopify and Basecamp. As of March 2013, it is estimated that about 211,295 websites are running Ruby on Rails.
“Rails is the most well thought-out web development framework I’ve ever used. And that’s in a decade of doing web applications for a living. I’ve built my own frameworks, helped develop the Servlet API, and have created more than a few web servers from scratch. Nobody has done it like this before.” Says James Duncan Davidson, Creator of Tomcat and Ant.
“Ruby on Rails is a breakthrough in lowering the barriers of entry to programming. Powerful web applications that formerly might have taken weeks or months to develope can be produced in a matter of days.” Says Tim O’Reilly, Founder of O’Reilly Media