What's the Difference Between the Front-End and Back-End?
Two terms thrown around a lot in the web industry are front-end and back-end. It can be a little frustrating since the difference between the front-end and back-end isn't always perfectly clear. They're terms often used to describe aspects of the web industry. The front-end is also referred to as the client-side and is sometimes considered "web design". The back-end of the web industry is often called the server-side. Often when someone says they're a "web developer" they're saying they work on the back-end of sites.
While that explanation seems simple, the line between the two is often blurry. Here are some basic guidelines to help tell the difference between the front-end and back-end or at least be able to begin to understand what someone does when they say they're a "front-end developer."
The front-end is everything involved with what the user sees, including design and some languages like HTML and CSS. Most of the web courses created at Digital-Tutors will be for the front-end and focused on design, but there are already a bunch of front-end specific courses available at Pluralsight as well.
There are a lot of different jobs associated with the front-end. Keep in mind that a lot of these titles are subjective, and while front-end developer may mean something at one company, it can mean something completely different at another company.
A User Interface (UI) Designer is basically a visual designer and is generally focused on design. They're not usually involved in the implementation of the design, but they might know light HTML and CSS so they can communicate their ideas more effectively to the developers.
User Experience (UX) designers work in the front-end and study and researches how people use the sites and make changes through a lot of testing.
A front-end designer or developer can create a site without any back-end development. The sites they would create without a web developer, or using the back-end, is a static site. A static site is something like a site for a restaurant or hair salon. It doesn't require any information to be stored in a database. The pages will almost always stay the same, unless it's time for a redesign.
[caption id="attachment_27350" align="alignnone" width="800"] Image by Wikimedia user Victorgrigas[/caption]
The back-end, or the "server-side", is basically how the site works, updates and changes. This refers to everything the user can't see in the browser, like databases and servers.
Usually people who work on the back-end are called programmers or developers. Back-end developers are mostly worried about things like security, structure and content management. They usually know and can use languages like HTML and CSS, but that's definitely not their focus.
Back-end developers, or at least back-end development, is required to create a dynamic site. A dynamic site is a site that's constantly changing and updated in real-time. Most sites are dynamic sites, as opposed to static sites. Facebook, Google Maps and this blog are all considered dynamic sites.
Blogs are dynamic sites, since their content is constantly changing and updating. A dynamic site requires a database to work properly. All information, like user profiles or images they've uploaded, or blog posts, are stored in the database. Web developers work with programming languages like PHP or .Net, since they need to work with something the database understands. The code they write communicates with the server and then tells the browser what to use from the database.
Hopefully by now you've got a little better of a grasp on the differences between the front-end and back-end in the web industry. It can be a confusing topic, especially since there's not really an industry standard for what's always in the front-end and what's always in the back-end. However, there are also a lot of people who work in and understand both the front-end and back-end. Those people are often called "full stack developers".
If you're still a little confused about the difference between the front-end and back-end, always remember that the front-end is related to the browser and everything sent to it. If it's got something to do with a database, then it's back-end related.