Front end and back end are two of the most used terms in the computer industry; in a way, they became buzzwords. They dictate the type of job you do as a software developer, the technologies you use and how much you get paid.

So, let’s talk about the differences between these two terms, why they exist in the first place and the different paths you can take in your software development career. 

What is front end vs. back end? Understanding site rendering

To begin this journey, we need to understand the concept of site rendering. In layman’s terms, site rendering means generating or rendering HTML output. HTML is a markup language that web developers use to create web pages. It’s said that site rendering can happen both at server-side or client-side level, so what does this mean? It’s worth noting that frontend and client-side are synonyms. The same is true for backend and server-side.

What is frontend development?

In more modern days, a new form of site rendering emerged called client-side rendering or front-end development.

With client-side rendering, the rendering of the content happens in your computer instead of the remote web server using the de facto language of the web, JavaScript. In practical terms, it means that a server is only needed to serve the raw web application, and the browser will be in charge of rendering this application in its final form, HTML. It also means that some of the logic involved in creating the web page, especially the one in charge of dealing with how things are presented to the user on the screen (called presentation logic) are handled on the client-side.

Client-side rendering became popular with the advent of JavaScript libraries such as Angular, React and Vue.

What is back end development?

Not until too long ago, server-side rendering, or back-end web development, was the de facto way to create websites and web applications. You visit a page, send a request for content, the server processes this request and creates a response that is sent back to your browser.

When a site renders server-side, all the processes involved in creating an HTML page that your web browser can understand are handled on a remote server hosting the website or web application. This includes querying databases for information and processing any logic that your web application requires.

While the remote server is busy at work, your web browser is idle, waiting for the server to finish processing the request and sending a response. When the response is received, web browsers interpret it and display the content on the screen.

What is isomorphic rendering?

Also called universal rendering, isomorphic rendering is a new technique used in modern web development. The idea behind isomorphic rendering is to render a web application developed with a JavaScript framework such as Angular, React or Vue, on the server-side the first time a page is loaded and on the client-side afterward.

To complicate things even further, there is yet another form of rendering called pre-rendering that renders content at compile time.

Where to render a site is a decision that is often based on the type of application and application demographics and will vary from team to team and business to business.