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."Screenshot of workflow in Edge Animate


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 common front-end job title is "web designer." A web designer, you guessed it, designs websites. The job title of web designer is pretty broad, though. A web designer could just be someone who designs the sites in a program like Photoshop or Fireworks and will never touch the code. But in another location, a web designer could do all the design comps in Photoshop, and then be responsible for creating all the HTML and CSS (and sometimes even JavaScript) to go along with it. 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. A front-end developer may be required to have a grasp on testing, as well as be well versed in HTML, CSS and JavaScript. This person may or may not have experience with creating the design in a design program. A different version of this title is front-end engineer. Specific front-end languages like "JavaScript developer" are also considered front-end developers.   [caption id="attachment_27350" align="alignnone" width="800"]An image of a server 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.

In Conclusion

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. Check out Pluralsight's Front-End Web Development: Get Started course if you're looking to delve a little deeper into front-end languages, especially if you're already comfortable or familiar with HTML, CSS and JavaScript. Or if you want to do a little more research, check out these comprehensive posts on everything to know about becoming a software developer or web developer.