Why You Should Choose Ruby on Rails for Your Next Dev Project

John Harlan
CrateBind
Published in
4 min readAug 17, 2018

Choosing a framework for your development project is a big decision. Your decision will affect the cost of the project, your speed to market as well as the quality of the end product. It is important to make the right decision.

Quality

Let’s start with quality. When considering the quality of a development framework, the things that matter most are scalability and performance of the framework while maintaining security.

Scalability and Performance

In order to speak towards the scalability and performance of Rails, let’s simply look at some incredibly successful companies that are currently using the Ruby on Rails framework.

sources: https://expandedramblings.com/index.php, https://www.worthofweb.com/calculator/

To be fair, scalability is more dependent on the way the code is written than the framework the code is written on, but assuming the code is well-written, you shouldn’t have a problem scaling with Rails. If the companies listed above have been able to explode using Rails, so can you.

Security

The Ruby on Rails framework is stewarded by the Rails Core Team. The Core Team “manages releases, evaluates pull-requests, handles conduct complaints, and does a lot of the groundwork on major new features”. Although there are only 12 people on the Rails Core Team, over 5,000 people have contributed over 69,000 code commits to the Ruby on Rails framework over the past 14 years. The Rails community focuses its collected efforts to continually enhance the platform to best predict and prevent security vulnerabilities.

Below is an excerpt from the Ruby on Rails Security Manual.

In general there is no such thing as plug-n-play security. Security depends on the people using the framework, and sometimes on the development method. And it depends on all layers of a web application environment: The back-end storage, the web server and the web application itself (and possibly other layers or applications).

The Gartner Group, however, estimates that 75% of attacks are at the web application layer, and found out “that out of 300 audited sites, 97% are vulnerable to attack”. This is because web applications are relatively easy to attack, as they are simple to understand and manipulate, even by the lay person.

The rest of the manual goes on to detail exactly how developers can overcome common security vulnerabilities by using built-in Rails helper methods.

In addition to employing conventional Rails safeguards, there are open source tools like Brakeman, that “…analyze Rails application code to find security issues at any stage of development.”

For a more thorough deep-dive into Rails security, take a look at this study, done by Thoughtbot.

Speed & Price

In many ways, price and speed are one in the same. Obviously, the quicker you are able to develop software, the cheaper it will be, so development efficiency is key.

In terms of the cost of actually using the framework, Rails is open-source, making it, and its thousands of RubyGems, free to use.

RubyGems

RubyGems are software packages that include code, tests and documentation that you can very easily add to your Rails application. There are RubyGems like Devise, which handles authentication (sign up/sign in functionality), or gems like Grape, which is a framework for creating REST-like APIs in Ruby. There are even gems that contain a built-out integration, like the Amazon ECS gem that lets you integrate to Amazon and search and save products from their database. These are just a few examples, but there are over 145,000 gems being used today. These RubyGems make development so much faster. Being able to lean back such a strong network of resources means that as a Rails developer, rarely do you have to build functionality from scratch.

Convention over Configuration

The use of RubyGems falls in line with the Rails’ “Convention over Configuration” methodology, which argues that efficiencies are gained as you reduce the number of decisions made and follow a prescribed path for accomplishing a task. Not only does this methodology make development quicker, but it also makes established projects more approachable for new developers. When following the proper convention, Rails apps look very similar and are easy for developers to jump into and add value.

Scaffolding

Scaffolding is another tool that makes writing code with Rails insanely efficient. With the line of code below, Rails will generate the basic structure and code for a blog.

$ rails generate scaffold Post name:string title:string content:text published_at:datetime

This command will generate all necessary views, all routes, the necessary controller and controller actions, the “post” model and the database migration necessary for creating a “posts” table in the database. By leveraging the scaffolding tool, a developer can lay the foundation of a large app in a matter of minutes.

Conclusion

Whether you are building an MVP with a startup or rebuilding the core system of a Fortune 500 company, Ruby on Rails is the way to go. By using Rails you can meet your scalability and performance needs 30% to 40% faster than by using a competitive framework. Ultimately, you can get the job done with language/framework out there, but if you are looking for the best option, we stand behind Ruby on Rails.

--

--