Many companies have asked the questions “What’s the fastest way to develop my web apps?” and “Should I use Java, Ruby, Python or something else?”

These companies range from start-ups to established enterprises, and many have come to the conclusion that when creating apps that are designed to be delivered on the web, Ruby on Rails is the best choice.

Ruby on Rails is an open-source web application framework for the Ruby programming language. The growing demand for Ruby on Rails has been driven by successful companies who benefit from the speed and agility of building applications in Rails, which results in increased productivity and company growth. Many of the companies you all know and love use Ruby in some capacity: Amazon, BBC, Cisco, CNET, IBM, JP Morgan, NASA, and Yahoo!. Many of the fastest-growing web-based companies have been built using Ruby on Rails: Scribd (over 70 million readers each month), Groupon (over 38.5 million subscribers in North America), Basecamp (millions of users). All in all, more than 200,000 web sites are using Ruby on Rails.

Why Ruby on Rails is Hot

I believe that Ruby on Rails is on fire because it is the most productive way to build web applications. This is a conclusion that I’ve drawn first hand by building Rails applications for customers for nearly five years.

Custom software development has always been expensive, which has resulted in shrink-wrapped solutions dominating the software market. But how can businesses differentiate themselves from each other if they all use the same applications? Custom software can help businesses differentiate themselves and provide deep competitive advantage through data collection, visualization, and distribution at the edges of 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 high-growth start-ups to large corporations wanting to experiment without risking additional IT budget.

In the past, when users in a company pined for a new application to take advantage of market opportunities and trends, they had to first present a formal request to their boss. This 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. Six months later, the project might begin. Individual groups within companies are now learning to use Rails to speed up development and reduce costs.

The Criticisms

Even with the high growth rates, Ruby on Rails still faces criticism. Some claim that Ruby on Rails is less efficient than other languages. Some will simply assert “Ruby isn’t Java -- end of argument” as if Java’s dominance in software development is eternal, unassailable, and even desirable.

The efficiency argument is not economically sound. The vast majority of application business costs are development, sales, and marketing. The cost of compute cycles as a share of overall application expenses is minute and shrinking fast. For the cases where compute cost is a major concern, Ruby is becoming more efficient through its latest implementations: JRuby, Rubinius, and Ruby 1.9. It’s important to remember that Java was also written off in its early days because it was “inefficient.” Yet, the market saw that its productivity benefits relative to incumbent technologies outweighed that disadvantage, and its “inefficiency” all but disappeared as a downside of Java. We are seeing the same evolution with Ruby.

Ruby is inherently different from Java. The argument commonly made is that Java is an enterprise-grade language while Ruby is used for geeky-cool apps in social, mobile, and e-commerce that are designed to attract a big consumer base. The fact that Ruby applications are built to web-scale and serve hundreds of millions of users versus enterprise-scale apps which serve mere hundreds of thousands of users (at the high end) should settle the question of whether Ruby on Rails can handle enterprise loads. Throw in the fact that Ruby on Rails allows internal development groups to be more productive and accelerate their development projects, you can see the benefits of building new apps in Rails rather than Java.

According to Eric Knipp, Research Director at Gartner: “Many high-profile consumer Web firms are choosing Ruby on Rails to rapidly build scalable web applications. Ruby on Rails has the potential to emerge as a strong alternative platform to traditional choices based on Java and .NET for next-generation enterprise applications, as companies seek improved agility, development speed and time to market.”

Using Ruby on Rails for Success

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.

Groupon is known as a remarkable example of a successful, scalable app built on open source technologies (including Ruby on Rails). Groupon features a daily deal on the best things to do, see, eat, and buy in more than 500 markets and 44 countries. With over 38.5 million subscribers in North America, Groupon’s daily deal has become immensely popular. The technical requirements to build and maintain a website with these kinds of daily traffic bursts are substantial, and Ruby on Rails is a key part of this web application.

Luckie & Co. used Ruby on Rails to build the Bayer Advanced website. Bill Abel, Vice President and Director of Digital Development at Luckie & Co. outlines the tremendous benefits of developing in Rails: “We chose Ruby on Rails because it allows us to develop websites dramatically faster. We finished the first release of the Bayer Advanced website in 2 months – a 50% reduction in development time. Rails is a complete 180 to traditional app development; it’s very structured and the built-in hooks made our transition much easier. The Rails test-driven development model has helped us achieve development efficiencies, so we can build websites more quickly and deliver a much more reliable product.”

More than 48,000 companies use Get Satisfaction to build their online communities. Thor Muller, CTO and co-founder of Get Satisfaction describes why they chose Ruby on Rails to build their customer service platform: “Ruby on Rails offers more than just pure speed. We know it’s faster to develop an initial working product in Rails, so prototyping in Rails made a lot of sense for us. As we worked more with Rails, we realized it was also ideal for our work style and the types of personalities we wanted developing our product — particularly because our established developers like the elegance of the Ruby language and Rails framework."

With Ruby on Rails providing a programming framework that includes reusable, easily configurable components commonly used for creating web-based applications, it is gaining traction with developers.

The Developers

What can the developer world take away from the fast growth of Rails? Doing a quick check on indeed.com for job growth trends, Ruby on Rails developers are a very hot commodity. With major players such as VMware, Salesforce.com, and HP making important industry moves highlighting Ruby as the language of the cloud, the job market will continue to show high demand for Rails developers. In fact, it’s nearly impossible to be an unemployed Ruby on Rails developer.

Indeed.com Job Trends (Relative Growth) - Ruby, Rails, Python, PHP, Java

The Future

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. Coupling this with low up-front investment and overall cost savings, it makes perfect sense that we’ll continue to see more companies choosing Ruby on Rails. Try it out--work with your team on a small project and see how it speeds development time, increases developer productivity, and results in highly scalable web apps.



