Published Mar 11, 2022Updated Oct 14, 2022
Contribute to Docs

The back-end of a program or web application serves data to the front-end from sources like a database.

Restaurant Analogy

A common analogy for the relationship between the front-end and back-end are customers and employees at a restaurant (representation of the front-end):

  • The customer places their order (or “request”) with the waiter/waitress (or server).
  • The order is then taken to the kitchen (representation of the back-end).
  • There, the order is prepared (or “processed”) with the necessary ingredients (or “data”) to produce the expected food item (or “response”).
  • Finally, the food item is brought back out to the dining area for the customer.

Common Tasks

Back-end web development can involve a variety of tasks, including:

  • Creating, integrating, and managing databases.
  • Using back-end frameworks to build server-side software.
  • Validating data to make sure it’s formatted correctly before being sent to the database.
  • Integrating user-facing elements with server-side elements to make sure that information is being sent to the right place so the server can retrieve it.

Back-End Tools

Back-End Developers use a range of technologies and software, many of which fall into three categories: databases, programming languages, and frameworks.


Databases are used to storing important data such as user information. Popular database management systems and relational databases include:


Back-End Developers normally query their databases with various programming languages such as the following:

  • SQL, which is ideal for working in relational databases.
  • Ruby is a beginner-friendly language that has an enthusiastic programming community behind it.
  • Python is a great choice with a concise, human-readable syntax.
  • PHP is an open-source language that is great for server-side scripting.
  • Node.js, which brings back-end work to JavaScript.
  • Java is a popular choice still widely used today.


Frameworks make all aspects of web development smoother and seamless. This saves developers time they would otherwise spend writing code. Popular frameworks include:

  • Sinatra, a lightweight Ruby framework for building web apps.
  • Ruby on Rails, a more robust Ruby framework that follows the model-view-controller standard.
  • Django, a Python framework that offers dynamic HTML pages.
  • Flask, a lighter Python framework meant for rapid development.
  • Express, a framework for building back-end APIs with JavaScript.
  • Spring, a Java framework that can be used to build back-end APIs.

All contributors

Looking to contribute?

Learn More on Codecademy