Blog

The Differences Between Front End and Back End Development

As a digital agency, we are frequently asked to define the differences between front end and back end development. The projects that come across our desks come with a large variety of requirements; after all no businesses are alike, even ones in the same industry. Everyone has different expectations from their web projects, so it makes little sense for us to have general-purpose web developers, who are jacks-of-all-trades and masters of none. Take one look at our agency page, and you will see a number of us have the title of either Front End Developer or Back End Developer. So what does this mean for your next website?

Front End


As the name suggests, the front end is what the web surfer sees and interacts with as he or she browses your website. A good website paints a picture with style, content and interactivity. A good front end developer focuses on these traits as they build websites. They turn designs and wireframes into a pleasant and refined end user experience. But how? Here are the tools a front end developer uses to make the web work for you:

  • HTML - All code in a website or application is eventually translated to HTML. It's the language that web browsers understand and use to display information to users. A web developer's understanding of HTML is analogous to a carpenter's understanding of a screwdriver.
  • CSS - This is what makes the presentation of the website unique. Here, the colors, fonts, shapes and sizes are applied to the HTML. Because CSS is so common, there are a variety of tools front end developers regularly use to extend, optimize and code faster. Utilities like Grunt and SASS are quickly becoming mandatory on a developer's resume.
  • JavaScript - Though not exclusively a front end technology, a good developer can get a lot of mileage from proper use of JavaScript. It's a programming language that runs on the client machine, meaning your browser runs this code and not a web server. JavaScript is what animates a web page, providing an intuitive and fun user experience–all without having to refresh the page. Drag and drop, infinite scrolling and embedded videos are all JavaScript's strong suits.


Back End

The back end of a website is what enables the front end experience. The HTML, CSS and JavaScript may be beautiful and well crafted, but if the back end doesn't function, the website is a bust. The back end of an application is responsible for things like calculations, business logic, database interactions and performance. Most of the code that is required to make an application work will be done on the back end. So what do back end developers work with to make this happen?

  • Programming - A back end developer will spend most of his or her time actually writing lines of code. Languages like PHP, Ruby and .NET are the most common, but there are number of others. This code is run on the server, as opposed to the client, but, often enough, a back end developer will need to write JavaScript code to push the data for some of those really cool front end features, like the infinite scroll. Developers write code, but sometimes choose to leverage existing libraries or frameworks rather than reinventing the wheel.
  • Databases - They store all the persistent data that a website needs to function. All of the users, orders and editable page content are ultimately pulled from a database. The structure of the data needs to be designed for the application in order to to serve up its data as quickly as possible without keeping the end user waiting for a page to load.
  • Server - At the very least, a back end developer needs to have a strong understanding of server architecture. Some servers have a lot of power, others are focused on security, or are designed to perform a specific set of functions. If a new web project requires custom functionality, a back end developer will set up and configure a new server to meet its specific needs.


Putting It All Together


In the end, both front end and back end developers have to work together to make a website the best it can be. This means that even though our roles are separate and often done independently from one another, we spend a lot of time communicating. Even if back end doesn't get involved in a project until later, a back end developer will always be a part of early functionality discussions, making sure that everything a client wants can be realistically delivered, and front end knows which directions to go in when putting together the best user experiences.

Enjoy what you’re reading? Sign up for the AYC Media newsletter and receive updates on our posts.