Ruby on Rails

Introduction to Frameworks

new

Ruby on Rails Course

Introduction

Programmers, the best of whom are pretty lazy folk (in a good way), got tired of having to write the same code over and over and over again just to cover the basic tasks that they wanted their applications to perform. So they batched that recycled code together and called it a framework.

In addition to preventing repetition, frameworks provide great organization. They tend to force you to organize your files and code in a way that keeps it highly modular and really clean. When you start a new app with any framework, you’re given dozens of folders already organized in a hierarchy which makes sense and follows good practice such as Model-View-Controller (MVC) separation principles. It’s not quite “color-by-numbers” for code, but it certainly keeps things ordered.

There are often several different popular frameworks for a given language. They can have exciting names like Ember, Meteor, Django, Rails, etc. Wikipedia has a comprehensive comparison of frameworks that should give you an appreciation of the number of them. For Ruby alone, though Rails is the most popular, there are also Sinatra and Padrino and more.

Lesson overview

This section contains a general overview of topics that you will learn in this lesson.

  • What is a framework?
  • What’s the difference between a programming language and a framework?

Assignment

  1. Read through this brief introduction to frameworks by Dev.to.
  2. Glance over RubyGarage’s article on tech stacks and MDN’s overview on backend frameworks to understand some of the thought process that goes into picking a framework.

Knowledge check

The following questions are an opportunity to reflect on key topics in this lesson. If you can’t answer a question, click on it to review the material, but keep in mind you are not expected to memorize or master this knowledge.

Additional resources

This section contains helpful links to related content. It isn’t required, so consider it supplemental.

  • It looks like this lesson doesn’t have any additional resources yet. Help us expand this section by contributing to our curriculum.

Support us!

The Odin Project is funded by the community. Join us in empowering learners around the globe by supporting The Odin Project!