I've heard both of these terms often, and the people who used them sometimes didn't even understand their essence. Front-end and back-end are used in many areas and industries, but we will talk about IT, or, more specifically, about Web development.
Front-end – browser, back-end – server
When talking about front-end and back-end, programmers usually mean separating the user interface from the program logic. In this case, front-end – is the interface part, which is executed, for example, in the browser, and back-end – this is the server part.
In web development, for example, the frontend is the HTML layout, CSS styles and JavaScript, and the backend is the server part, which is usually programmed in PHP or ASP.net. Roughly speaking, everything that is executed on the client side is the front-end, and everything on the server side is the back-end. By the way, since users do not see the backend, programmers can change it "quietly". Twitter, for example, used Ruby on Rails as a backend for some time, but switched to Java in 2011. I bet most people didn't even notice!
Frontend is static, backend is program code
In the environment of developers of high-load systems (highload developers), the term front-end refers to the software part that directly "delivers" the content. For example, in large projects, the software server part is often represented by 2 web servers – Apache and nginx. Nginx accepts requests and, in the case of a static file (image, css, js or xml file), immediately delivers its contents, and in the case of a PHP script, sends it to the Apache server, which already knows how to process PHP. Here nginx – is the frontend, and Apache – is the backend. Of course, high-load systems have a complex infrastructure, and sometimes represent many servers distributed across different continents, but you get the general idea.
Frontend - open data, backend - admin
Also, when talking about CMS, the administrative part is called back-end, and the "front" part of the site - front-end. I have encountered this interpretation of the term the least often, but many people use it everywhere.
So what is frontend and backend?
If you are not deprived of logical thinking, then you will understand the nuance: in one area, the same term has 3 (!) different meanings:
- Browser / server part (the most popular option);
- Server part that returns statics / server part that executes code (highload);
- Part of the site for users / part of the site for administrators and moderators.
And this is not counting all sorts of marketers (they also have such terms). Of course, what term is being discussed only becomes clear from the context, and sometimes it is not clear at all, so people get confused in such a variety. I hope this note will help you understand all the subtleties of terminology and lead you on the right path :-).
COMMENTS
Хорошая статья!
HTML5 и CSS3 - это "часть фронтенда", если так можно выразиться.
Twitter использует и Java и Scala (и ещё маленький зоопарк
Adding comments is temporarily disabled for unregistered users.