Why Ruby on Rails is still a good choice in 2021 (+ helpful resources)
Published: 2021-08-02 11:53:21

Are you going to launch a successful digital product? In this article, I will show you **why it's still a good idea to use Ruby on Rails** and what makes developing web applications with this framework so fast and efficient. You will also find a list of Ruby on Rails tutorials and other resources that help you build and iterate. 

##Why Ruby on Rails can be the best framework for your next product

Admittedly, RoR might have slowly declined in popularity but reports of its death are greatly exaggerated. This most popular framework for the Ruby language is still loved by the web startup community for its time efficiency, cost reduction, stability, and security. All of that makes Ruby on Rails perfect for MVP development and beyond. After all, well-known and established platforms such as Shopify, Airbnb, Fiverr, Github, and Imgur, have been built in Ruby on Rails.

![Alt Text](https://s3-eu-west-1.amazonaws.com/blog.forestadmin.com/2021/07/tweet-ruby-shopify.jpg)

A tweet from Lawrence Mandel, the Director of Engineering at Shopify.


##What makes developing in Ruby on Rails so fast?

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lvvx4eg9veup445cyd5z.png)

###Battery-included framework

Ruby on Rails is a complete framework with many out-of-the-box tools readily available. It comes with numerous scripts called generators. They create everything that is necessary to start working on a particular task.


###Conversion over Configuration

Ruby on Rails takes an opinionated approach, which means it operates on the assumption that there is the best way of making things. Its Convention over Configuration paradigm decreases the number of decisions a developer is required to make by offering conventions for handling asset management, routing, stateful data, and more. Basically, it provides the baseline functionality for most web applications.


###Layered structure

Ruby on Rails is based on the Model-View-Controller (MVC) architecture that separates an app’s logic (located in models) from the routing and presentation of application information. Such a concept is not limited to Ruby on Rails, though. It is also used by Django, ReactJS, AngularFS, and other frameworks. The MCV connects the frontend and the backend. It consists of a:

* Model: it handles everything related to the database,
* View: it deals with what users can see in the app,
* Controller: it deals with the requests made by users and returns a result, and talks to the database.

Thanks to the MVC, developers don’t need to make decisions on how to organize the code (at least at the early stage of the product), which saves time and makes assembling an MVP more efficient.


###Gems

Gems are third-party components, ready to download and use for your project. Does your app require registration and authentication? You can set it up with a Devise gem. Data Visualization? RailRoady, Rails Erd, or Ruby/GraphViz are there for you. Database Tools? Database Cleaner is a set of strategies for cleaning your database in Ruby, while PgHero makes Postgres insights easy. There are plenty of gems that support popular frontend frameworks, such as Angular, Vue.js, React.js, and CSS tools. It’s safe to say that there is a gem for everything, and they save developers tons of time.


###Strong developer community

Ruby on Rails is a mature open-source framework, adopted by thousands of developers around the world. Over the years, they have created numerous resources, books, tutorials, and gems. It is relatively easy to find Ruby on Rails developers, and also to train developers who currently work with other technology stacks.

###Automated tests

The above mentioned community strongly encourages developers to build applications Behavior Driven Development (BDD) and Test Driven Development (TDD). In short, with these approaches, developers write automated tests early in the development process. Thanks to that, bugs can be fixed early, which reduces debugging and saves development time.


###Internal Tools

Ruby on Rails is often the first choice to build e-commerce applications and SaaS products, especially if the goal is to have an up and running application as fast as possible. Neither e-commerce nor a robust SaaS software can enter the market without internal tools that handle displaying articles, orders, payments, shipping, returns, inventory management, transaction monitoring, data manipulation, and so on.

In fact, Ruby on Rails has mature admin panel frameworks such as Active Admin or Forest Admin. In this section, we will show you how to build a robust internal tool using Forest Admin. If you’re interested to see how does it compare to Active Admin, we recommend reading this detailed comparison: [Forest Admin vs. Active Admin](https://blog.forestadmin.com/forest-admin-vs-react-admin/?utm_source=referral&utm_medium=devto&utm_campaign=devto-organic).

![Alt Text](https://s3-eu-west-1.amazonaws.com/blog.forestadmin.com/2021/07/forestadmin-rails.png)
Forest Admin UI. You can check [the Forest Admin Live Demo here](https://app.forestadmin.com/livedemo?utm_source=referral&utm_medium=devto&utm_campaign=devto-organic). 

Forest Admin is an off-the-shelf solution that can be easily plugged into your Ruby on Rails application and unlike many open source admin panel templates, it can be fully customized to meet your business needs. Once set up, non-technical teams like sales and customer support can easily make edits to the layout and customize it further according to their specific needs.

How is that possible? Thanks to the unique Forest Admin architecture. Every internal tool built with Forest Admin is composed of two parts: the frontend and the backend. If you choose an existing Rails application as a data source, your Admin Backened is generated within your app. The admin frontend, on the other hand, is managed on Forest Admin servers. Thanks to that, the data is only hosted on your end and it never transits through Forest Admin servers, and even non-technical team members can easily make changes in the layout.

![Alt Text](https://s3-eu-west-1.amazonaws.com/blog.forestadmin.com/2021/07/forest-admin-architecture-rails.png)
The Admin Backend is a Rails Engine mounted on your application 


Many Forest Admin users built their customer-faced applications with Ruby on Rails, including creators of famous [Raspberry Pi](https://blog.forestadmin.com/how-raspberry-pi-uses-forest-admin-to-manage-resellers/?utm_source=referral&utm_medium=devto&utm_campaign=devto-organic) computers and a leading French neobank, [Qonto](https://blog.forestadmin.com/how-the-neobank-qonto-is-reinventing-business-banking-thanks-to-forest-admin/?utm_source=referral&utm_medium=devto&utm_campaign=devto-organic).

More Case Studies are available on [Forest Admin blog](https://blog.forestadmin.com/tag/case-study/?utm_source=referral&utm_medium=devto&utm_campaign=devto-organic).


How to install Forest Admin for Ruby on Rails application

Installation is hassle-free, using a Forest Admin gem.

1. [Sign up for free](https://app.forestadmin.com/signup?utm_source=referral&utm_medium=devto&utm_campaign=devto-organic). No credit card is required.
2. Forest Admin supports various data sources, so you need to choose Ruby on Rails as yours.
3. Verify the application URL (http://localhost:3000 by default).
4. Add Forest Admin gem to your application's Gemfile using the gem 'forest_liana' command.
5. Bundle it using the bundle install command.
6. Install the gem using the rails g forest_liana:install <ENVIRONMENT SECRET> command — an environment key is provided in the onboarding experience in the first step of the in-app guide.
7. Restart your server using the rails s command.


##Conclusion

Our own experience shows that Ruby on Rails is a good choice for building reliable, scalable, and secure software, especially SaaS and e-commerce platforms. It is a popular choice for MVPs, but examples of Shopify, Basecamp, Github, Zendesk, and other well-known and established platforms show that an MVP built in Ruby on Rails can easily become a final polished product.

If we convinced you to build your web application in Ruby on Rails, here is a list of additional resources that will help you start:

## Ruby on Rails Resources

* [Getting Started with Rails](https://guides.rubyonrails.org/getting_started.html) - the official guide that covers getting up and running with Ruby on Rails in a form of a step-by-step tutorial.
* [Awesome Ruby](https://github.com/markets/awesome-ruby) - a community-driven collection of essentials to build web applications in Ruby on Rails: libraries, tools, frameworks, and software.
* [The Ruby Toolbox](https://www.ruby-toolbox.com/) - a comprehensive catalog of Ruby on Rails tools, gems, plug-ins, and resources for developers.
* [Rails Migrations Tricks (Guide + Code)](https://blog.forestadmin.com/rails-migrations-tricks-guide-code-cheatsheet-included/?utm_source=referral&utm_medium=devto&utm_campaign=devto-organic) - the ultimate guide to Rails migrations.
* [How To Build a Ruby on Rails Application](https://www.digitalocean.com/community/tutorials/how-to-build-a-ruby-on-rails-application) - a detailed tutorial from Digital Ocean.
* [How Raspberry Pi uses Forest Admin](https://blog.forestadmin.com/how-raspberry-pi-uses-forest-admin-to-manage-resellers/?utm_source=referral&utm_medium=devto&utm_campaign=devto-organic) to manage resellers and design partners with Forest Admin and its Ruby on Rails integration - a detailed case study.
* [Learn Ruby on Rails](https://www.youtube.com/watch?v=fmyvWz5TUWg) - a 4-hour video tutorial from freeCodeCamp.org
* [How to install Forest Admin for your Ruby on Rails application](https://blog.forestadmin.com/introducing-in-app-ruby-on-rails-support-on-forest-admin/?utm_source=referral&utm_medium=devto&utm_campaign=devto-organic). 


### Are you looking for an internal tool solution? [Sign up on Forest Admin for free](https://app.forestadmin.com/signup?utm_source=referral&utm_medium=devto&utm_campaign=devto-organic).