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.
A tweet from Lawrence Mandel, the Director of Engineering at Shopify.
What makes developing in Ruby on Rails so fast?
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.
Forest Admin UI. You can check the Forest Admin Live Demo here.
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.
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 computers and a leading French neobank, Qonto.
More Case Studies are available on Forest Admin blog.
How to install Forest Admin for Ruby on Rails application
Installation is hassle-free, using a Forest Admin gem.
- Sign up for free. No credit card is required.
- Forest Admin supports various data sources, so you need to choose Ruby on Rails as yours.
- Verify the application URL (http://localhost:3000 by default).
- Add Forest Admin gem to your application's Gemfile using the gem 'forest_liana' command.
- Bundle it using the bundle install command.
- Install the gem using the rails g forest_liana:install command — an environment key is provided in the onboarding experience in the first step of the in-app guide.
- 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 - the official guide that covers getting up and running with Ruby on Rails in a form of a step-by-step tutorial.
- Awesome Ruby - a community-driven collection of essentials to build web applications in Ruby on Rails: libraries, tools, frameworks, and software.
- The Ruby Toolbox - a comprehensive catalog of Ruby on Rails tools, gems, plug-ins, and resources for developers.
- Rails Migrations Tricks (Guide + Code) - the ultimate guide to Rails migrations.
- How To Build a Ruby on Rails Application - a detailed tutorial from Digital Ocean.
- How Raspberry Pi uses Forest Admin to manage resellers and design partners with Forest Admin and its Ruby on Rails integration - a detailed case study.
- Learn Ruby on Rails - a 4-hour video tutorial from freeCodeCamp.org
- How to install Forest Admin for your Ruby on Rails application.
Top comments (0)