At this point in your journey, you are probably familiar with how the front-end and back-end of a web app operate individually. In order to start building more sophisticated apps, you’ll need to be able to connect the client and server so that they can communicate, building what’s known as a full-stack application. In this lesson, we’ll take a closer look at how the front-end and back-end of apps speak to each other and the different ways to deliver a web app.

First, let’s quickly recap the distinction between these two sides of an application.

The front-end refers to the visual features of an application that a user can see and directly interact with. At a minimum, front-end developers should be proficient with HTML, CSS, and JavaScript. Modern front-end developers will also be familiar with one or more frameworks that aid in styling and building front-end layouts. React, Angular, and Vue are popular frameworks for structuring user interfaces, while Bootstrap and Material UI are two well-known libraries that facilitate designing responsive user interfaces.

The back-end of an app concerns everything users can’t see, that allows the website to function, and store and retrieve data. Developers will often use frameworks like Express to build the back end of web apps.

When contrasting the front and back-end of a website, a house offers a helpful analogy. We can think of the front-end as the interior of a house: the floorplan, wallpaper, furniture, decoration, and lighting. On the other hand, the back-end is everything we don’t see behind the walls of a home that make it a functional and comfortable space: electrical wiring, gas, plumbing, internet, and insulation. Check out the graphic on the right for a visual reference.


Here are some questions to test your understanding of key concepts. Try answering the question on your own first. Then click on the “Check Answer” button to check your answer.

What are the responsibilities of a front-end developer compared to a back-end developer?

Check Answer

Front-end developers build the visual features of an application that a user sees and directly interacts with. Back-end developers build the parts of an application that allow it to function, and store and retrieve data.

Sign up to start coding

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?