Часто мені доводилося чути обидва ці терміни, причому люди, котрі ними оперували, часом навіть близько не розуміли їхньої суті. Front-end (фронтенд) та back-end (бекенд) використовуються в багатьох сферах та галузях, проте ми поговоримо саме про IT, або, навіть конкретніше, про Web-розробку.
Фронтненд– браузер, бекенд– сервер
Говорячи про фронтенд та бекенд, програмісти зазвичай мають на увазі поділ інтерфейсної частини користувача від програмної логіки. У цьому випадку front-end – це інтерфейсна частина, яка виконується, наприклад, у браузері, а back-end – це серверна частина.
У Web-розробці, наприклад, як фронтенд виступають HTML-верстка, стилі CSS та JavaScript, а у якості бекенду–– серверна частина, яку зазвичай програмують на PHP чи ASP.net. Грубо кажучи, все те, що виконується на стороні клієнта – front-end, а те, що на стороні сервера – back-end. До речі, оскільки користувачі не бачать бекенд, то програмісти можуть поміняти його «нишком». Twitter, наприклад, як бекенд деякий час використовував Ruby on Rails, але у 2011 році перейшов на Java (Scala). Готовий посперечатися, більшість користувачів навіть не помітила цього!
Фронтненд – статика, бекенд – програмний код
У середовищі розробників високонавантажених систем (highload-розробників) терміном front-end називають ту програмну частину, яка безпосередньо «віддає» контент. Наприклад, на великих проектах часто програмну серверну частину представляють 2 веб-сервери – Apache та nginx. Nginx приймає запити та, у разі статичного файлу (зображення, файл css, js або xml) одразу ж віддає його вміст, а у випадку якоїсь логіки чи скрипта (наприклад, PHP), відправляє його до сервера Apache, який вже вміє обробляти PHP. Тут nginx – це фронтенд, а Apache – бекенд. Звичайно, високонавантажені системи мають складну інфраструктуру, та часом є багато серверів, рознесених між континентами, але загальну суть ви вловили.
Фронтненд – відкриті дані, бекенд – адмінка
Також, коли говорять про CMS, адміністративну частину називають back-end, а «лицьову» частину сайту – front-end. З таким трактуванням терміну я стикався найрідше, проте багато хто його використовує.
Так що ж таке фронтенд і бекенд?
Якщо ви не позбавлені логічного мислення, то зрозумієте в чому нюанс: в одній сфері той самий термін має 3 (!) різних значення:
- Браузерна/серверна частина (найпопулярніший варіант);
- Серверна частина, що віддає статику / серверна частина, що виконує код (highload);
- Частина сайту для користувачів / частина сайту для адміністраторів та модераторів.
І це не рахуючи різних маркетологів (у них теж є такі терміни). Звичайно, про який саме термін йде мова, стає ясно тільки з контексту, а часом й зовсім не зрозуміло. Ось люди і плутаються в такому розмаїтті. Сподіваюся, цей пост допоможе вам розібратися у всіх тонкощах термінології та виведе вас на шлях праведний :).
Коментарі
Хорошая статья!
HTML5 и CSS3 - это "часть фронтенда", если так можно выразиться.
Twitter использует и Java и Scala (и ещё маленький зоопарк
Adding comments is temporarily disabled for unregistered users.