What is Ruby on Rails?

Author:

What is Ruby on Rails?

Ruby on Rails is an open-source development framework providing structure for the development of web applications. Written in the programming language Ruby, it is a library packed full of features to save time and removes some of the complexity of coding. 

The official documentation calls Ruby on Rails a “metropolis filled with all the institutions needed to run a large, sprawling application like Basecamp or GitHub or Shopify”. Like all frameworks, it is designed to make programming web applications easier by making assumptions about what every developer needs to get started. Examples of web applications using Ruby on Rails include Kickstarter, Twitch and Zendesk. 

Ruby on Rails was once an extremely popular framework used frequently across the web. While it may not be as popular as it once was, it is still in use by many websites. 

What is Ruby on Rails used for? 

It is a server-side framework that provides a structure for web pages, databases and more. In short, it allows you to write less code to get your projects and applications finished.

What is Ruby?

Ruby is the open-source programming language Ruby on Rails was built from. Similarly to Ruby on Rails, Ruby focuses on simplicity and time-saving while coding. Often used for web development, data processing and automation, Ruby is a versatile language that has a wealth of useful applications. 

Ruby vs Ruby on Rails

Ruby and Ruby on Rails are connected, but they are definitely not the same thing. Ruby is a high-level, general-purpose programming language, whereas Ruby on Rails is an open-source framework.  

  • Ruby

As a programming language, Ruby is used both on the front end and the back end of software development.  Ruby supports various platforms like Windows, Linux, Mac and more. Like Python, it is a dynamic language that is similar to the English language, and like Python, it is used for the fast and efficient building of web applications. 

  • Ruby on Rails

Ruby on Rails is related to Ruby in that it was initially programmed using Ruby. It is a Model View Controller (MVC) framework – which means it follows an MVC pattern as well as some other patterns like DRY (Don’t Repeat Yourself). 

What is an MVC pattern?

In software development, a pattern (or design pattern) is a written document that describes a general solution to a design problem that recurs repeatedly in many projects. Software designers adapt the pattern solution to their specific projects. MVC is an architectural programming paradigm that has been around since 1979 and it is used by many web frameworks. 

MVC offers a way of thinking and processing information and is used to help structure your applications. MVC is a pattern, not a framework, but it’s MVC that makes frameworks so popular. 

RubyGems

The Python community has contributed hundreds of powerful third-party libraries that developers can use for free in their projects. If you discover that pre-built elements would help fast-track your development, the chances are that someone has built it already and made it freely available. The same goes for Ruby on Rails.  The Rails community has developed many libraries –  called RubyGems or just gems – to help you build world-class web applications.

Like Django and its core libraries, some of the gems are required by every Ruby on Rails application. For example, database adaptors enable Rails to connect to databases. Other gems are used to make development easier, for example, gems for testing that help programmers find bugs. Additionally, there are gems which add functionality to a website, such as gems for logging in users or processing credit cards. 

Knowing what libraries to use and why is an essential aspect of learning any Framework, especially Ruby on Rails. 

Examples of where Ruby on Rails is used

While Ruby on Rails is not as popular as it once was, it is used in the development of many well-known websites and applications. Among them are: 

  • Twitter

Ruby on Rails was used in the initial development of Twitter for its launch in 2004. Later on, Twitter switched to another framework. 

  • Airbnb

Airbnb uses Ruby on Rails as part of its service. Like many other sites, Ruby on Rails is just one of the multiple frameworks used.

  • GitHub

Ruby on Rails was used in the building of GitHub, and it’s still used as part of their system. 

  • Shopify

Shopify uses Ruby on Rails in the development of its website. 

The benefits of Ruby on Rails

As with any development framework,  there is a range of pros and cons associated with using Ruby on Rails. 

Pros 

  • Tools

Ruby on Rails provides fantastic tooling that helps you to deliver more features in less time. It provides a standard structure for web apps, where all the common patterns are taken care of for you.

  • Libraries

There’s a gem for just about anything you can think of. They are all publicly available and searchable in the open-source library.

  • Testing
    The Ruby on Rails community is big into testing and test automation, there is plenty of support and documentation on automated testing that is accessible in the community. 

Cons

  • Performance

Many developers would say that Rails on Rails is slower than alternative frameworks. First released in 2005, some assume that the lower speeds associated with Ruby on Rails are due to the age of the framework.

  • Cost

Hosting a website or app using Ruby on Rails can be expensive.

Get started with Ruby on Rails

Software development is full of exciting technologies, frameworks and languages. After you train as a developer, Ruby on Rails may well be something you’ll want to learn. 

Get started learning the basics of software development with our free 5 Day Coding Challenge. Covering development languages like HTML, CSS and JavaScript, this course will get you started on your development journey.  After only one hour a day, over five days, you’ll have built your first web page. Register now through the form below.

Coding the Future: Developer Spotlight - Melissa Buckingham

In March 2023, Melissa Buckingham joined Level 5 Diploma in Web Application Development programme, delivered at North East Surrey College of Technology (NESCOT) by Jonathan Jacobsen using the Code Institute learning platform. The course equips learners with full-stack software development skills, making them ready to enter the digital workforce in various roles. We asked Melissa’s […]

Code Institute’s €250,000 Spring Scholarship Fund - Education for All

The world is full of opportunities, and with technologies advancing and AI becoming the keyword for work success, there really hasn’t been a time more suited to people who want and need to upskill for the future of work. However, many of us know that upskilling can be expensive. To combat this, Code Institute has […]

Coding the Future: Developer Spotlight - Emma Hewson

In October 2022, Emma Hewson joined Code Institute’s Level 5 Diploma in Web Application Development programme, which is run in association with Cardiff and Vale College and is funded via the Welsh Government’s Personal Learning Accounts (PLA) initiative. The course aims to equip learners in full-stack software development, preparing them to enter the digital workforce […]