In web application, the terms “front-end” and “back-end” are used often, but not always in the same way, and therefore the difference between them is not clear enough.
The front end is also called the client-side, and sometimes the term web design is used, while the back end is also called the server-side.
- Front-End
The interaction between users and web applications is realized through the front end. Everything displayed during navigation in web browsers: text, images, input fields, dropdown lists, screen keys, etc., are part of the front end. Through this section users receive information, but they also control it by entering data in the applications.
For this part of web applications is said to be created from three layers, because for its creation three different languages or technologies are used namely HTML, CSS and JavaScript. The codes or instructions from all three layers are combined and interpreted by search engines.
HTML (Hypertext Markup Language) is responsible for defining the structure of web pages. With its help, the elements from which web pages are created are defined.
With CSS (Cascading Style Sheets) describes how HTML elements will look, for example text size or color, positioning of the elements depending on the dimensions of the screen, etc. n.
JavaScript is a programming language, which in the web pages is used to carry out actions, which are usually called at the moment when a certain event will happen. For example, when the pointer moves over a certain HTML element, JavaScript can be activated, which will dynamically change style, or image. As a result of such actions, in web pages are obtained interesting effects.
There are several different profiles that are associated with front-end work.
- UI designer is a person who is solely focused on the visual appearance of pages, without being involved in the implementation of the design.
- User experience (UX) designer is a person who studies and defines the way users will use web applications in the easiest way, but also mobile applications.
- Web designer is a person who defines or designs the appearance of the pages, and cares about their beauty. He doesn’t have to know how to program, but he also uses image processing tools for his work.
- A front-end developer or designer is a person who can independently define and implement web pages, and partially test them.
To facilitate and speed up the work when using a certain programming language create libraries or complete frameworks. For working with JavaScript, the most current are the jQuery, Bootstrap, React, and the frameworks like Angular and Vue.
- Communication
To get functional web application, both parties need to communicate with each other, and to function as one. For this purpose, there are several network protocols, the HTTP (HyperText Transfer Protocol) protocol is commonly used. Through this protocol, from front to the back end sends a request, and after the back side finishes its work, returns a response.
To refresh, or modify only a part of what is already displayed in the browser, an AJAX (Asynchronous JavaScript and XML) request is used. At first, for working with AJAX, data was organized in XML format, but today JSON format is more commonly used. As its name suggests, AJAX is based on JavaScript. This means that such a request can be initiated at a certain event, and the results obtained from the server, dynamically entered into the current page.
Back-End
If back end is not implemented at all, then it is a web page or web presentation. No matter how many times such presentations will be visited, they will always be displayed the same way. That is why they are also called static pages. To be implemented the overall logic that is required for the normal operation of a web application is required server, application and database, and these are the parts of which it is composed the back end.
That’s why they often are says that the front end defines the appearance, and the back end defines how a web application works. The developers who work on the back end, they should have a thorough knowledge of at least one programming language with which they can create applications that run on the server side. The most popular languages for this purpose are Java, .Net, PHP, Python, Node.js, etc.
After mastering the basics of the chosen language, to facilitate and speed up the work, a certain number of appropriate frameworks should be mastered. The databases are an inevitable segment of any serious application. That’s why every programmer working on the back-end should also know the SQL language, i.e. work with relational databases, such as PostgreSQL, MySQL or MariaDB, Oracle, etc. With the development of databases significant is the use of those databases that are not relational and do not use the SQL language. That is why more and more knowledge is needed of NoSQL and Graph databases.
- Full Stack
Often the responsibilities cannot be strictly divided into front end or back end. Situations arise when front-end developers need back-end knowledge and vice versa. Developers who have expertise and experience working on all segments of web applications are called full stack developers, or generalists.
If you want to start working as a web developer, start with the trainings from our Front -End Academy and upskill yourself to an expert level.