What’s the difference between Front-End and Back-End exactly?

Yasser Douslimi
ENSIAS IT
Published in
5 min readOct 29, 2020

--

Throughout your software engineering journey, one of the most recurrent terms you’ll encounter are front-end and back-end development. The reason behind it is the fact that the world we live in has become insanely reliant on the web and the recent pandemic has only exacerbated it. Think about it, all the services you use on a daily basis ranging from social media to online shopping are accessible directly from a browser. Since the building blocks of a decent website are both front-end and back-end, we can see now the criticality of both of these concepts.

Front-end: what the eyes can see

Before we dive into it, we need to clarify how the internet works in a rather simplistic way.

The basic gist of it is that the client (you with a browser like chrome) sends requests to a server on the internet, and that server sends a response back and it’s usually an HTTP/HTTPS response that your browser uses to construct the page for you.

We call the front-end what is displayed in front of you on your browser. It is the “client side” of the website or web application you’re viewing.

Now let’s dive deeper and look at that response we receive from the server. HTTP stands for HyperText Transfer Protocol and it’s a protocol used for sending hypermedia documents, and the most famous of which is HTML which is one of the three languages that are used by the browser to assemble a web page.

· HTML (HyperText Markup Language): This one can be thought of as the tool by which we build the skeleton of the website with the help of tags that specify the content that fills the body of the page.

· CSS (Cascading Style Sheets): While HTML describes what’s on the page, it doesn’t offer a consistent way of defining the way it looks. That’s where CSS comes in and gives us the ability to design the layout of the page.

·JavaScript: this is a full-fledged programming language that’s used to make the site more interactive and attach dynamic features that engage with the user while browsing our page.

Back-end: what the eyes can’t see

Now that we’ve established that what the browser renders for us is just half of the equation, we need to ask an important question. What happens on the server?

The back-end (or what happens on the “server side”) is the branch of web development that focuses on writing good functional servers that serve the clients (users) properly. What’s interesting about this discipline is that we can use any kind of language we want to build this server. Nonetheless, there are always some popular choices that developers tend to use, and each of them follows a specific “stack” to create his server. Let’s explore some of these choices.

·PHP (Hypertext Preprocessor): According to W3Techs’ data, PHP is used by 78.9% of all websites. It is insanely prevalent on the internet especially since it was designed for it in mind. It is commonly found with the LAMP (Linux, Apache, MySQL, PHP) stack.

· Java: One other option is java which is already a popular language outside the realm of web development. It has cemented itself as a powerful language and it’s mostly used with the Spring framework on the backend.

·Python: You could also take advantage of the simplicity of python and the high speed of writing code with it and bring it to the backend. It’s already a fan favorite of data scientists and it continues to have a growing community of aspiring developers. Many frameworks such as Flask or Django are available to make the process even easier and faster.

·Node.js: Node is a runtime for JavaScript. This means that you can design a server using the same language as the frontend. This allows for a vastly more effective process because you don’t need to learn a new language to construct a server. The most popular framework that is used in conjunction with it is Express.

This is by no means an exhaustive list and many other options exist such as ruby, C++, rust, Go…

Now that you know what both frontend and backend mean. The first step to create your own website is to go for it. Programming is like playing the violin. You need to practice it each day otherwise you won’t really learn it.

--

--

Yasser Douslimi
ENSIAS IT

Aspiring software engineer. Curious about everything tech.