DEV Community

Sloan the DEV Moderator
Sloan the DEV Moderator

Posted on

What's the difference between Front-end and Back-end development?

This is an anonymous post sent in by a member who does not want their name disclosed. Please be thoughtful with your responses, as these are usually tough posts to write. Email sloan@dev.to if you'd like to leave an anonymous comment or if you want to ask your own anonymous question.


I'm brand new to development and am trying to understand the difference between front-end and back-end development.

I think I kinda understand that front-end is what the user sees and back-end is how the information is retrieved, but I imagine there's a bit more to it than that. I would really appreciate hearing others' thoughts and explanations on this.

Analogies and examples would be very welcomed! Thank you all very much. 🙏

Top comments (22)

Collapse
 
kayis profile image
K

They are both terms with historical baggage.

Back in the days, when people started to make websites, there was just backend development.

Scripting languages like Perl or PHP would receive a request from a browser, gather data from a database, and render an HTML file they would send back to the browser.

Then came the rise of JavaScript, and people would build parts of such applications inside the browser. More and more work would end up on the browser side of things, and one day, people would talk about frontend work. Where you would gather data from the server via an HTTP API, and the server wouldn't have to bother with HTML rendering anymore.

From then on, people would talk about "frontend development" when they meant devs that would somehow create js/html/CSS code to build a user interface in a browser.

And people would talk about "backend development" for everything that happened on the server side of development. It could be PHP, Python, Go, Ruby, JavaScript, C#, Java, or whatever.

Now, " frontends " are also built on platforms other than the web, like mobile apps for Android and iOS or desktop apps written in languages like JavaScript. I put it in quotes because, technically, these are all frontends for something. Yet, when you apply for a job, they are usually called "mobile development" or "native development" or something.

You can often split a stack in front and backend, while neither of these parts is web related. Modern compilers, for example, have frontends and backends. For the code, they accept (C, Rust, etc.) and the binaries they emit (Linux, Windows, etc.).

It's a bit like with "API"; every interface you access programmatically is an "API" in some way, but most of the time, when you read API in a job description, they mean an HTTP-based API like REST or GraphQL.

So, context is essential here.

Collapse
 
alco profile image
Jakub Stibůrek

Excellent summary.

Collapse
 
johnkey profile image
INDERA SHAH

good and shot explanation 👏👍🏽

Collapse
 
terabytetiger profile image
Tyler V. (he/him)

I would summarize it as front-end is the interface that the user sees, back-end is the database and everything that happens outside of the interface that the user sees.

When you get into specifics, sorting specific things into one or the other can be different depending on who you ask 😅

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

Technically the DB is "Data". Backend on the other hand is what interacts with this data and provides it to the frontend 😁

Collapse
 
wjplatformer profile image
Wj

Front end is What you see outside, backend is what you see inside. So, given an example of a website.

Now, the front end is the HTML, CSS and JS. Here's the fun part, if you create a web server using python to host the website (recommend starting with Flask Python module), and you add a database, that is the backend.

You can then use things such as HTTP Requests to let's say store stuff on a database, or generate some sort of AI, or complicated stuff. Data are sent to the backend to sort them out more efficiently.

Collapse
 
louisefindlay23 profile image
Louise

Front-end is generally code that you write for the browser: the structure of webpages (HTML), design of webpages (CSS) and interactive elements (JS).

Back-end is generally application logic so a database (if you need one) and other functions such as file uploading and user accounts etc.

Collapse
 
perssondennis profile image
Dennis Persson

I previously comoared frontend and backend to the human body. Not sure if it will be helpful, but at least it could be a bi fun to read. You can read it here 😀

Collapse
 
polterguy profile image
Thomas Hansen

Frontend runs on users devices and is typically created as iPhone apps, Angular apps, or JavaScript apps. Backend runs on server and typically communicates with frontend using web standards.

Start with frontend. Once you feel comfortable with frontend move to backend …

Collapse
 
andrewbaisden profile image
Andrew Baisden

There have already been several excellent answers, so here is my view.

The client is typically regarded as the frontend in the client-server approach, whereas the server is usually considered the backend. JavaScript frameworks like React run client-side, and you'd employ languages such as HTML, CSS, and JavaScript.

The server side is the back-end, where you will find your database, API, and hosting. Some back-end languages are Python, Go, Java etc...

Collapse
 
xanderyzwich profile image
Corey McCarty

These get a little bit weird to define in different places. The heart of the matter typically comes down to back-end development being data centered, and front-end development is typically centered around the display of information to the user. The weird parts come when the front-end code is doing a lot of data manipulation (and there may be a role just doing this) or the back-end code is doing things to directly control the display (less common).

Collapse
 
devshirt_club profile image
devshirt.club • Edited

In our experience frontend developers tend to be cleaner and happier than backend developers who tend to be darker and have that metal look (long beards and hairs).
Something similar to our t-shirts:
frontend backend developer t-shirt

Collapse
 
deadlock profile image
Satyajiijt Roy

There are excellent comments here explaining the both. Which kind of summarized the topic very well. Let me add something additional to it

Frontend Development: When we talk about this, we usually think of end-user. How would you want you consumer to consume you application or offering. In layman terms Frontend Development is something which you use to attract your consumer. You can say that this is you Marketing Team, who are dedicated to sell your product to the enduser.

Backend Development: is the backbone of your offering. Which provides the actual functionality to your offering. This is sometime very hardcore in nature as it has to do the actual work, requested by the enduser using your Frontend offering.

In today's world everything is pretty much divided into these too broad spectrums. There are tons of more categorization implemented to feed the needs of today's market demand.

Don't get me wrong when I say that Backend Development is hardcore has to do every functionality your offering provides. Today Frontend is also very much involved in performance, offerings, functionality etc. No way one is superior or inferior.

People decided which way to go with the carrier based on their interest and passion.

Collapse
 
jesusantguerrero profile image
Jesus Guerrero • Edited

A website or web app runs in the server-client architecture, that means that there's a machine that provide services(server) and other that receives(client)

Any code running on the server side is backend(storing data, API Endpoints, sensitive business logic, background jobs, etc).

Any code running on the browser is frontend (html, css, js, web workers) the traditional "what the user sees" is not longer accurate now frontend can manage routing, background services, caching and much more.

Collapse
 
soyrubenantunez profile image
Rubén Antúnez

So, in a nutshell, front-end development websites is all about the graphical interface while back-end development is more focused on the functionality of the site. Both are important in their own ways and most web developers .

Collapse
 
yasminadavis profile image
YasminaDavis

What is harder front-end or backend?
دعاء لرجوع الحبيب بعد الفراق

Collapse
 
enriquelima profile image
enrique lima

Whether it is a front end or back end developer, either of the two is brilliant for someone like me who has little knowledge about codding and is dedicated to the marketing dermatologos en puebla.

Collapse
 
phlash profile image
Phil Ashby

I'll try for humour:

"If you get asked to change the colour of something, it's front-end development" 😄