Ruby on Rails facts for kids
| Original author(s) | David Heinemeier Hansson |
|---|---|
| Initial release | July 2004 |
| Stable release | |
| Written in | Ruby |
| Size | 57.8 MB |
| Type | Web application framework |
| License | MIT License |
Ruby on Rails, often just called Rails, is a tool used to build websites and web applications. It is written in the Ruby programming language. Think of it like a set of building blocks or a skeleton that helps computer programmers create websites much faster than starting from scratch.
Rails is very popular because it makes complex tasks easier. It follows a specific design called Model–view–controller (MVC). This design separates the data, the logic, and what the user sees on the screen into different parts.
Many famous websites were built using Ruby on Rails. Some of these include Airbnb, GitHub, Twitch, and Shopify.
Contents
History of Ruby on Rails
Who Created It?
Ruby on Rails was created by David Heinemeier Hansson. He originally wrote it to help build a project management tool called Basecamp. He realized the code could help other people too, so he released it to the public in July 2004.
Growth and Popularity
In the years following its release, Rails became very famous in the programming world. In 2006, Apple announced that it would include Ruby on Rails on its Mac computers. This helped many more people discover it.
Over time, many versions were released to make it better:
- Rails 1.0 came out in December 2005.
- Rails 3.0 (2010) merged with another project called Merb to become faster and better.
- Rails 5.0 (2016) added features to help apps work in real-time.
- Rails 7.0 (2021) changed how JavaScript (another coding language) is used in Rails.
- Rails 8.0 (2024) made it easier for a single person to run a whole app by themselves.
- Rails 8.1 was released in October 2025 with new improvements.
How Rails Works
Rails is designed to make programming happy and productive. It does this by following two main philosophies or "rules."
Important Philosophies
Convention over Configuration
This means that Rails makes good guesses about what a programmer wants to do.
For example, if a programmer creates a database table called "Sales," Rails automatically assumes the code to talk to that table will be called "Sale." Because Rails assumes this, the programmer does not have to write extra configuration files to link them together. This saves a lot of time.
Don't Repeat Yourself (DRY)
This rule encourages programmers to write code only once. If you need to use the same information in many places, you define it in one spot. The rest of the application looks at that one spot. This makes the code cleaner and easier to fix if there is a mistake.
The MVC Pattern
Rails uses the Model-View-Controller (MVC) pattern to organize code. Imagine a restaurant:
- The Model (The Chef): This part handles the data and the rules. It gets the ingredients (data) from the pantry (database).
- The View (The Plate): This is what the customer sees. It is the web page with HTML and CSS that shows the food (data) nicely.
- The Controller (The Waiter): This part takes the order from the customer (the web browser), tells the Chef (Model) what to get, and then brings the finished dish (View) to the customer.
Technical Details
Web Servers
Rails runs on a web server to show pages to people on the internet. In the beginning, a server called Mongrel was popular. Later, a server called Phusion Passenger became the standard. Rails can also work with popular web servers like Nginx and Apache.
Databases
Rails needs a place to store information, like user names or product lists. It usually connects to a database system. The most common ones used with Rails are MySQL and PostgreSQL.
Gems
In the Ruby world, software packages are called "gems." Rails itself is a gem. Programmers can add other gems to their Rails application to add new features quickly, like a login system or a payment processor.
Version History
Ruby on Rails is updated regularly to add new features and fix bugs.
| Version | Release date | Compatible Ruby version(s) |
|---|---|---|
| 1.0 | 13 December 2005 | 1.8.6 |
| 1.2 | 19 January 2007 | 1.8.6 |
| 2.0 | 7 December 2007 | 1.8.6 |
| 2.1 | 31 May 2008 | 1.8.6 |
| 2.2 | 21 November 2008 | 1.8.7 recommended |
| 2.3 | 16 March 2009 | 1.8.7 recommended |
| 3.0 | 29 August 2010 | 1.9.3 recommended |
| 3.1 | 31 August 2011 | 1.9.3 recommended |
| 3.2 | 20 January 2012 | 1.9.3 recommended |
| 4.0 | 25 June 2013 | 2.0 preferred |
| 4.1 | 8 April 2014 | 2.0 preferred |
| 4.2 | 19 December 2014 | 2.0 preferred |
| 5.0 | 30 June 2016 | 2.2.2 or newer |
| 5.1 | 10 May 2017 | 2.2.2 or newer |
| 5.2 | 9 April 2018 | 2.2.2 or newer |
| 6.0 | 16 August 2019 | 2.5.0 or newer |
| 6.1 | 9 December 2020 | 2.5.0 or newer |
| 7.0 | 15 December 2021 | 2.7.0 or newer |
| 7.1 | 5 October 2023 | 2.7.0 or newer |
| 7.2 | 10 August 2024 | 3.1.0 or newer |
| 8.0 | 7 November 2024 | 3.2.0 or newer |
| 8.1 | 24 October 2025 | 3.2.0 or newer |
|
Old version
Older version, still maintained
Latest version
Future release
|
||
See also
- Computer programming
- Web application
- List of rich web application frameworks