Back-End

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 of the front-end and back-end are customers at a restaurant (on the “front-end):

  • They place their order (or “request”) with the waiter/waitress (or server).
  • The order is then taken to the kitchen (on 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 technology and software, many of which fall into three categories: databases, programming languages, and frameworks.

Databases

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

Languages

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

Frameworks intend to make all aspects of web development more smooth and seamless, including back-end. This save 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 ligher Python framework meant for rapid development.
  • Express, a framework for building back-end APIs with JavaScript.
Edit this page on GitHub

Contributors

Interested in helping build Docs? Read the Contribution Guide or share your feedback.

Learn More on Codecademy