Go to content
The Codest
  • About Us
  • Services
  • Our Team
  • Case studies
    • Blog
    • Meetups
    • Webinars
    • Resources
Careers Get in touch
  • About Us
  • Services
  • Our Team
  • Case studies
    • Blog
    • Meetups
    • Webinars
    • Resources
Careers Get in touch
2021-07-28
Software Development

Is Ruby on Rails a Good Technology to Build an MVP?

Nicolas Nisoria

Is Ruby on Rails a Good Technology to Build an MVP? - Image

A minimum viable product (MVP) is one of the principles of the Lean Startup Methodology. The goal is to help the entrepreneurs start the process of learning as soon as possible. The product is not necessarily meant to be small or of poor quality; an MVP is simply the fastest way to start getting feedback by using a minimum amount of effort and resources.

While getting feedback and learning from customers on every iteration, it is necessary to add new features and adapt to changes quickly. The tool we choose to build MVP is crucial to reduce waste.

Why should you choose Ruby on Rails?

Ruby on Rails is a well-known web application framework with more than 15 years of trajectory and a strong community behind.

Philosophy

Ruby on Rails follows a philosophy that allows fast development facilitating trivial and repetitive tasks; the team mainly focuses on the business challenges.

● Open Source: Code designed to be publicly accessible anyone can see, modify, and distribute the code as they see fit. Often cheaper, more flexible, and has more longevity because it is developed by communities rather than a single author or company.

● The Principle of Least Surprise: Inspired by Ruby; while working with Rails everything behaves as the developer expects. Rails is designed to provide different ways to perform the same tasks in the most intuitive and elegant way.

● Don’t Repeat Yourself: It involves whenever possible, re-using as much code as possible rather than duplicating similar code in multiple places.

● Convention over Configuration: It is an extension of the concept of a default, a setting or value automatically assigned without user intervention. Some software systems, notably Java web application frameworks, need multiple configuration files, each with many settings.

● Rails is Opinionated: Rails uses a set of well established conventions. If the team members follow the Rails conventions, they will have fewer decisions to make, and they will find more of what is needed is already built. The benefit is faster development, improved collaboration, and easier maintenance.

● Rails is Omakase: Omakase is a Japanese phrase that means “I’ll leave it to you”. Where Convention over Configuration is occupied with how we best use individual frameworks, Omakase is concerned with which frameworks, and how they fit together, preventing the team from making wrong decisions while choosing the tech stack.

● Value integrated systems: A whole system that addresses an entire problem. This means Rails is concerned with everything from the front-end to the back-end.

Community

Ruby language is simple, productive, and elegant with an experienced, supportive, and dedicated community; placed in the top 10 of popular languages in The RedMonk Programming Language Rankings: January 2021 Over the years the community created plenty of resources to improve performance, quality and accelerate development. Some of the resources are backed by big companies like Shopify and GitHub.

Popular resources:

● ActiveAdmin – Administration framework for Rails,

● Devise – Flexible authentication engine for Rails,

● Byebug – Rich debugging tool for Ruby,

● Pundit – Minimal authorization through OO design for Ruby,

● RSpec – TDD and BDD framework for Ruby,

● Pay – Payment engine for Rails,

● Simplecov – Code coverage tool for Ruby,

● and Spree – E-commerce platform for Rails.

Influence

Rails came to life to change the perspective of web development popularizing the use of Model-View-Controller (MVC) architecture, engines, generators, preprocessors and conventions. Modern mainstream frameworks adopted the philosophy and core ideas behind and since the Rails way to develop spreaded among different communities, many developers know how Rails works even without ever having used the technology.

Popular admirers and inheritors:

● Django - Python,

● Laravel - PHP,

● Phoenix - Elixir,

● ASP.NET MVC - C#,

● Yii Framework - PHP

● and Sails.js - Javascript.

A friend of MVP

Rails comes by design with a set of tools that will accelerate the development of your MVP and reduce waste.

● Generator: During the development it’s often needed to create models, controllers and views while using the MVC pattern. Rails makes it easy with generators; with a plenty list of generators the team saves time generating all the necessary files and code using the command line tool. Even more, the team can create custom generators to accelerate repetitive tasks.

● Engine: Small applications that provide specific functionality and enhance a Rails application. With engines the team can start the application development fast and focus on the business. Good examples of engines are Devise (Authentication), Spree (E-Commerce) and Thredded (Forum).

● Object Relational Mapping: Active Record provides an easy, elegant and intuitive way to work with business objects and databases without writing SQL statements directly. As mentioned in Rails documentation, with Active Record we have the ability to

○ represent models and their data,

○ represent associations between these models,

○ represent inheritance hierarchies through related models,

○ validate models before they get persisted to the database,

○ perform database operations in an object-oriented fashion.

Success stories

Airbnb as many other startups started from the ground up. Brian Chesky and Joe Gebbia hadn’t enough money to pay the rent increment that occurred in San Francisco. Since San Francisco is a city with many tech conferences they decided to add an air mattress in a free space of their apartment and rent it with free breakfast. They noticed the potential of the idea and later Nathan Blecharczyk joined the team. With only three members and limited resources they decided to kickstart their project with an MVP using the right tool, Ruby on Rails. Besides the challenges, Rails allowed them to turn their ideas into reality and scale their product to have around 40 million users only in the US in 2021.

airbnb MVP

Many other popular companies appreciate the benefits of Rails and how it helped them during their beginning, as the CEO of Shopify mentioned.

Shopify RoR

Summary

Rails has a lot to offer to each company and developers building an MVP. The benefits of the philosophy, community and influence behind Rails can be summed up as follows:

● fast development,

● high quality,

● scalability,

● security,

● and a steep learning curve.

Become Junior Ruby Developer

Sources

● The Lean Startup – Eric Ries

● What is open source? – redhat.com

● Ruby on Rails Doctrine – rubyonrails.org

● The RedMonk Programming Language Rankings: January 2021

● Airbnb MVP – fueled.com

● Number of Airbnb users – statista.com

Read More

GraphQL Ruby. What about performance?

Rails and Other Means of Transport

Rails Development with TMUX, Vim, Fzf + Ripgrep

Related articles

Software Development

3 Useful HTML Tags You Might Not Know Even Existed

Nowadays, accessibility (A11y) is crucial on all stages of building custom software products. Starting from the UX/UI design part, it trespasses into advanced levels of building features in code. It provides tons of benefits for...

Jacek Ludzik
Software Development

5 examples of Ruby’s best usage

Have you ever wondered what we can do with Ruby? Well, the sky is probably the limit, but we are happy to talk about some more or less known cases where we can use this powerful language. Let me give you some examples.

Pawel Muszynski
Software Development

Maintaining a Project in PHP: 5 Mistakes to Avoid

More than one article has been written about the mistakes made during the process of running a project, but rarely does one look at the project requirements and manage the risks given the technology chosen.

Sebastian Luczak
Software Development

5 reasons why you will find qualified Ruby developers in Poland

Real Ruby professionals are rare birds on the market. Ruby is not the most popular technology, so companies often struggle with the problem of finding developers who have both high-level skills and deep experience; oh, and by the...

Jakub
Software Development

9 Mistakes to Avoid While Programming in Java

What mistakes should be avoided while programming in Java? In the following piece we answers this question.

Rafal Sawicki
Software Development

A Deeper Look at the Most Popular React Hooks

In the course of many interviews, I noticed that even experienced programmers have a problem with distinguishing Hooks, not to mention their more advanced capabilities. So, I will try to explain in this article how Hooks should...

Pawel Rybczynski

Subscribe to our knowledge base and stay up to date on the expertise from industry.

About us

Tech company specializing in scaling tech teams for clients and partners thanks to top-class development engineers.

    United Kingdom - Headquarters

  • Office 303B, 182-184 High Street North E6 2JA London, England

    Poland - Local Tech Hubs

  • Business Link High5ive, Pawia 9, 31-154 Kraków, Poland
  • Brain Embassy, Konstruktorska 11, 02-673 Warsaw, Poland
  • Aleja Grunwaldzka 472B, 80-309 Gdańsk, Poland

    The Codest

  • Home
  • About us
  • Services
  • Case studies
  • Know how
  • Careers

    Services

  • PHP development
  • Java development
  • Python development
  • Ruby on Rails development
  • React Developers
  • Vue Developers
  • TypeScript Developers
  • DevOps
  • QA Engineers

    Resources

  • What are top CTOs and CIOs Challenges? [2022 updated]
  • Facts and Myths about Cooperating with External Software Development Partner
  • From the USA to Europe: Why do American startups decide to relocate to Europe
  • Privacy policy
  • Website terms of use

Copyright © 2022 by The Codest. All rights reserved.

We use cookies on the site for marketing, analytical and statistical purposes. By continuing to use, without changing your privacy settings, our site, you consent to the storage of cookies in your browser. You can always change the cookie settings in your browser. You can find more information in our Privacy Policy.