Що таке front-end та back-end?

    Фронтент і бекенд

    Часто мені доводилося чути обидва ці терміни, причому люди, котрі ними оперували, часом навіть близько не розуміли їхньої суті. 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);
    • Частина сайту для користувачів / частина сайту для адміністраторів та модераторів.

    І це не рахуючи різних маркетологів (у них теж є такі терміни). Звичайно, про який саме термін йде мова, стає ясно тільки з контексту, а часом й зовсім не зрозуміло. Ось люди і плутаються в такому розмаїтті. Сподіваюся, цей пост допоможе вам розібратися у всіх тонкощах термінології та виведе вас на шлях праведний :).

    Коментарі

    24.12.2013 10:20:11
    Avatar of Юра ГалинЮра Галин
    Да, точность здесь не помешает, особенно, если ты разрабатываешь highload проект на CMS :)
    Хорошая статья!
    16.08.2014 10:15:54
    Avatar of 202202
    Спасибо за статью. Если вам не трудно - загружайте, пожалуйста, как можно больше статей по програмированию.
    04.04.2015 12:14:45
    Avatar of Константин Абрамов ( Та самая, кожаная флейта)Константин Абрамов ( Та самая, кожаная флейта)
    Да. Так и есть. Всё правильно описал.
    10.04.2015 02:46:31
    Avatar of ЮляЮля
    Скажите, пожалуйста, если название курса звучит "HTML5 и CSS3" . Это подразумевает фронтенд? http://www.basic.com.ua/course.php?course=159
    23.04.2015 03:34:16
    Avatar of КонсервКонсерв
    @Юля
    HTML5 и CSS3 - это "часть фронтенда", если так можно выразиться.
    06.12.2015 03:26:15
    Avatar of Martin OderskyMartin Odersky
    Twitter перешел не на Java, а на Scala.
    10.12.2015 01:28:30
    Avatar of КонсервКонсерв
    @Martin Odersky
    Twitter использует и Java и Scala (и ещё маленький зоопарк :-)). Вот небольшая заметка 2011 года о их миграции: http://readwrite.com/2011/07/06/twitter-java-scala
    16.05.2016 10:14:37
    Avatar of AndreyAndrey
    Спасибо за статью, как раз то что искал, разжевано и объяснено.
    23.05.2016 10:58:00
    Avatar of webdesolwebdesol
    Благодарю за статью!
    26.07.2016 03:40:52
    Avatar of rockyourockyou
    Статья, конечно, из 2013, но уже вовсю развиваются backend as a service платформы, а везде про них молчок. Даже пришлось самим запускать в России :) Для тех, кто хочет разобраться - <реклама сервиса>.
    30.09.2016 06:01:43
    Avatar of ВикторияВиктория
    Класс, спасибо. Четко и понятно
    28.03.2017 01:25:42
    Avatar of AlexAlex
    Спасиб! Коротко и понятно
    28.03.2017 02:07:14
    Avatar of ПиуПиу
    Збс, четко!
    01.05.2018 03:54:44
    Avatar of MatthewAlivyMatthewAlivy
    Hello. And Bye.

    Adding comments is temporarily disabled for unregistered users.

    Go Top