What is frontend and what is backend?
4 June 2020

What is frontend and what is backend?

How often do you hear the words "backend" and "frontend"? I think nowadays these words are very popular. But, do you really understand what they mean exactly? If you still not sure, let's talk about that here, in our new article.

Let's start with definitions of these terms.
In software engineering, the terms front end and back end refer to the separation of concerns between the presentation layer (front end), and the data access layer (back end) of a piece of software, or the physical infrastructure or hardware. In the client-server model, the client is usually considered the front end and the server is usually considered the back end, even when some presentation work is actually done on the server itself. (by Wikipedia)

While these definitions do make a lot of sense, I think we can agree that it is still not drawing us a full picture of this frontend/backend situation. For this reason, let us try to explain it in simple words. We will talk about it from regular users' of websites perspective instead of using fancy tech terms.

When you open a website, all that you can see on the screen is basically a frontend. Pictures, text, buttons, etc. - all of it is the frontend. As a user, you always connect with that part of the website.

Frontend is all that a browser can read, display and/or run.
So, that is HTML, CSS and JavaScript.
HTML (HyperText Markup Language) "tells" the browser what to show. It is letting our browser know what to display for us: title, paragraph, some lists or elements of a list.
CSS tells the browser how to show it. For example, how many pixels should one side of the page be away from the first title or paragraph and what color of that text should be displayed.
JavaScript tells the browser what to do when you do some actions: press the button or scroll the page.

difference between webiste and spa

Backend is another side of the website. You can’t see what is going on and for the biggest part of users it is a mystery. The logic of the website is implemented on the backend.
For example, you are asking Google for some information and when you click “Enter”, the frontend is over and the backend starts to work. Your request is sent to the server where the search algorithms are. This is where all the “magic” happens. As soon as the information that you were looking for appeared on the screen, it again returns into the frontend zone.
A server is the same thing as a computer, only more powerful. It stores data and responds to user requests.

And now, when we more or less understand the differences between frontend and backend, let's talk about the technical part of that topic. If you have a business and you need a website, like most modern businesses, you should definitely know what tools the developers use. Right now, we have a lot of different frameworks for building websites, sometimes even developers don’t remember all of them. Different technologies are used for the implementation of different functions of websites. It’s like you can’t build a house using only one hummer. You need a lot of tools! The same situation happens with the website. The development of the website is just like building a house and developers , just like builders, have a lot of tools for building. Depending on the functions of your future website, you need frameworks that can solve these tasks. Now we will tell you about the most popular frameworks for frontend and backend available today.

difference between webiste and spa

Backend frameworks:

Express.JS
JavaScript framework Express is a popular tool for web development now. It is used by such companies as Uber and IBM. The framework is very fast and minimalistic and provides all the necessary features for development. It is also using all the advantages and power of Node.js. Perhaps the biggest drawback of Express, especially for beginners, is too much flexibility. One and the same thing can be done in many different ways.

Django
Another very popular framework for web development in IT companies as Google, Youtube and Instagram but in Python language. Django has Model-View-Template architecture (or MVT) and follows the best design principles.
You may no longer worry about many complex and important things. Particular priority is given to security. The framework implements many important principles of protection on its own.

Rails
Popular Ruby framework with Model-View-Controller (or MVC) architecture. Favorite framework in such companies as Airbnb, GitHub and Twitter.
Ruby on Rails can save you time for building a website because developers will use less code, but functionality will be the same. This framework will solve almost any problem for your project, but in less time.

Laravel
It’s also a framework with Model-View-Controller (or MVC) architecture, but for PHP- the most popular language in web development. Many features, such as API support, are available already in the framework. In addition, there are many useful packages with additional functionality.

Spring
Our list of backend frameworks will be incomplete without Java. So, let me introduce the Spring framework. It’s a professional, rather flexible and very reliable tool for development. Spring represents several frameworks in one and most of it can work independently.

And frontend frameworks:

Angular
The main specification of that framework is building a SPA and with Agular you can do it really great. Such big companies as Google and Microsoft use it in their development. For development it uses TypeScript and mostly it’s an advantage because JavaScript sometimes can be too flexible and that is the reason for a large quantity quantity of mistakes.
The main is an unfriendly environment for SEO, but it is possible to fix it with some optimization. So don’t worry if you decided to use Angular for your project.

React
Mostly it is a component’s library for web development. It was React from Facebook that made component architecture and the virtual DOM popular.
Development goes on a special adverb of JavaScript - JSX. This is a mix of familiar JS with the same familiar HTML. This is a very interface-oriented tool, greatly simplifying the work with a web page in a browser. Also, an important thing is that you can use it on both sides: client’s and server’s.

Vue
This framework also originates from Google and becomes one of the biggest JS frameworks very fast. It’s a flexible tool with a progressive structure. And it is easy to integrate even in an already existing project, if you need it. The big ecosystem allows the development of difficult applications but in less time.

Some of these frameworks are more popular, some of them less. But all of them are the best in the niche and you can build big or small projects with these tools. Everything depends on you and your wishes.
So now, if somebody asks you which one of the frameworks you prefer to use for the development of your business, you will know where to find the answer.