We've made HUGE updates to the Node course

Learn more

Ruby on Rails

Introduction to the Back End

Ruby on Rails Course


The “frontend” denotes the interface that a web user interacts with - what they see (and hear) when using the web. The three languages of the frontend are fairly standardized: HTML for markup, CSS for presentation, and JavaScript for scripting.

The “backend”, meanwhile, denotes all that goes on “behind the scenes” on web servers to make the user experience possible. In contrast to front-end development, you can run pretty much any language you want to on your server since it doesn’t rely on your user’s browser understanding what’s going on. All the browser cares about is whether you’ve sent it properly formatted HTML, CSS and JavaScript files (and other assets like images). That’s led to a whole lot of different choices for back-end languages. As long as it can take in an HTTP request and spit out some HTML, you can probably put it on a server somehow.

That said, some languages are more popular and practical than others. If you’re running your own server, you have a ton of flexibility but plenty of headaches. If you’re using the cloud (which we will be doing later), you may be restricted to those languages that your cloud provider has installed on their platform… It doesn’t do you much good if the servers you’re “borrowing” from can’t understand your code!

Some of the most popular server-side languages are PHP, C#, Ruby, Python and Java (not to be confused with JavaScript). Just as we can say “Which way to the nearest pub?” in Swedish, French, Italian, English, and Bad English, so too can all of those languages perform almost exactly the same functions, just using different syntax.

Lesson overview

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

  • What is the difference between front-end and back-end development?


  1. Check out this blog post on backend vs frontend programming for a quick refresher on the difference between the two.
  2. A good and short overview of the backend.
  3. Codecademy provides a good step-by-step breakdown of what happens in the backend when a browser makes a request to a server.

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!