Heard of the Ruby on Rails framework? If not, or it rings only a faint bell, read on as Rails is ready for your business, if you are ready to reap its benefits.
The Ruby programming language was created almost 20 years ago by Japanese developer Yukihiro Matsumoto in response to the need for a powerful, strong object-oriented scripting language. 10 years later David Heinemeier Hansson extracted Rails from his work on the Basecamp project management tool, creating Ruby on Rails, a framework structured for the web and built from the ground up for Internet applications.
‘Rails’ is barely out of nappies compared to many of the traditional web technologies, but has been embraced enthusiastically by the Agile development community, and is the fabric of some of the web’s most visited sites including Amazon, GitHub, JP Morgan, Twitter and Yahoo! The UK Government is even a proponent, using Rails to underpin the GOV.UK website.
One of the reasons Rails has become more popular is the way makes it possible to quickly develop working apps – and more cheaply than the alternatives. This makes it perfect for start-ups, but also any business needing to get to market quickly. For example, Agile Delivery Network built the government’s e-petitions site for only £80,000 and in just eight weeks.
Rails makes it possible to build interactive, content-rich applications in a fraction of the time it would usually take. It is particularly loved by Agile developers, who specialise in creating working software on the fly, adapting to changing circumstances and client needs as they go. Accessible and easy to learn, it’s more enterprise-ready than PHP. It’s also taking ground from Java, which is powerful but time-consuming to work with.
What sets Rails apart from the competition is a combination of properties. It’s structured expressly for the web, built from the ground up for Internet applications, and has any number of add-ons to take care of simple, but time-consuming tasks. Because it’s object-oriented and champions principles like convention over configuration and do not repeat yourself (often abbreviated to DRY), its code is lean and easy-to-read.
So what are the key factors in a project where Ruby on Rails can make an impact, and should you consider it for your next project?
Time to Market – Rails is a framework in which most of the important decisions have already been made, so all you have to do is write what’s important – which is a lot less than you might think.
Cost – Its accessibility means that Rails developers are cheaper than Java programmers – typically by some 30 per cent.
Speed of execution/transaction – Rails is not the fastest framework, but it’s fast enough. If you need to, you can hand critical processes off to another language and keep Rails for the front end, where it excels.
Maintainability – Ruby’s concise and easy-to-read code facilitates good habits, such as writing DRY code – a boon for maintenance. Additionally, the test-driven approach it fosters means that code is constantly checked in development.
Security – There’s a myth that the language you use matters for security. Generally this is untrue; programming is more important than the language. Nevertheless, Rails is open source and under constant development – so any vulnerabilities can be and are fixed quickly.
Adaptability – The concise and expressive nature of Ruby also makes for code that’s easy to change. There’s less boilerplate, and the huge library of ‘gems’ (pre-written components) designed for Rails apps covers everything from integrating with social networking to authorisation for LDAP.
Scalability – Despite past concerns, Rails is highly scalable thanks to services like the Heroku cloud platform, which give Ruby the best environment in which to run. It’s both horizontally scalable (more users) with more servers, and vertically for better performance.
Quality and sustainability of talent – People are attracted to Rails for its elegance and the quality of developers is generally high. Rails is one of the two fastest-growing frameworks and new developers are entering the industry all the time.
Rails is ready for the enterprise, but are you ready for it? One of the biggest challenges to working with Rails is that it works best in an agile development environment. For many, this is where things get scary, because it is perceived to lack the form and process of other methodologies. This is a misconception though as it has both in abundance, but it is also very flexible with an emphasis on getting you to ‘working software’ as quickly as possible. Together Ruby on Rails and agile could well see you get projects completed faster than you ever imagined possible.