Уявімо водія. Коли він сідає до автомобіля, він бачить кермо, панель управління, педалі тощо. Це - “користувацький інтерфейс”. При натисканні педалі газу машина починає рухатись вперед. Водій не бачить, як заводиться двигун та, імовірно, не знає, як він працює. Але він знає, що станеться, якщо натиснути на педаль. Педалі, з якими взаємодіє водій — це фронтенд, а внутрішні процеси, що відбуваються в автомобілі після натискання — бекенд.
Аби краще зрозуміти різницю, розглянемо кожен вид окремо.
Фронтенд розробка — це створення користувацького інтерфейсу. Це все, що бачить користувач після відкриття вебсторінки й з чим він взаємодіє: кнопки, банери, анімації тощо. Клієнтська частина постійно “спілкується” з серверною, яку створюють вже бекенд-програмісти. В процесі роботи фронтендер взаємодіє з дизайнерами, UX-аналітиками та бекенд-розробниками.
Відкрийте сторінку будь-якого сайту — ви побачите інтерфейс. Після натискання правою кнопкою миші по сторінці, оберіть “Вихідний код сторінки” і побачите приклад роботи фронтенд-розробника.
Браузер активує код, що описує кольори, шрифти, верстку сайту, а ми бачимо готовий результат.
Фронтенд сайту аби веб-застосунку можна поділити на три великі частини: HTML, CSS та JavaScript.
HTML (HyperText Markup Language) - це мова розмітки документів, якою створюють структуру сторінки: абзаци, заголовки, списки тощо.
CSS (Cascading Style Sheets) - мова для стилізації та опису зовнішнього вигляду документа. Вона задає кольори шрифтів, визначає, як будуть розташовані певні блоки сайту. CSS також дозволяє відкривати документ в різних форматах: для друку (звичайного аби шрифтом Брайля), виведення на екран або для читання скрінрідером.
JavaScript реагує на дії користувача - обробляє кліки миші, переміщення курсору, натискання клавіш. Він також надсилає запити на сервер й обробляє дані без перенавантаження сторінки, дозволяє друкувати повідомлення тощо.
Бекенд відповідає за взаємодію користувача з внутрішніми даними, які потім відображає фронтенд. Це те, що приховано від очей звичайного користувача і відбувається за межами його компьютера.
Після того, як користувач друкує запит на сторінці пошукача і тисне Enter, він переходить з області фронтенду в бекенд. Запит надсилається на сервер Google чи іншої пошукової системи, де знаходяться алгоритми пошуку, - там і відбувається вся “магія”. Щойно на моніторі з'являється результат пошуку, користувач повертається в область фронтенду.
Залежно від конкретного проекту і мети замовника, бекенд-розробник може обрати одну з універсальних мов програмування — наприклад, Java, Ruby, Python.
Для бекенд-розробки також використовують системи управління базами даних: MySQL, SQLite, MongoDB, PostgreSQL.
Бекенд — це не лише написання коду, а і створення архітектури застосунку, яка визначає структуру і порядок використовування баз даних. Важливо, аби вона коректно взаємодіяла з кодом застосунку і безперервно спроваджувалась на сервер.
Тож як взаємодіють фронтенд і бекенд?
Взаємодія фронтенду і бекенду відбувається по колу:
Попри те, що фронтендом і бекендом займаються різні спеціалісти, кожному з них необхідно розуміти алгоритми, за якими працюють їх колеги. Навіть дизайнеру інтерфейсів корисно знати, як влаштований бекенд проекту, яким він займається.
Врешті, існує кілька варіантів взаємодії фронтенду і бекенду:
Наприклад, ви друкуєте текст в Google Документах і одразу отримуєте зворотній зв'язок від сервера: програма виділяє синтаксичні помилки і пропонує виправлення без оновлення сторінки.
Обов'язки фронтенд- і бекенд-розробників зазвичай розділені, але іноді програміст вирішує проблеми як на боці сервера, так і в клієнтській частині. Таких спеціалістів називають фулстек-розробниками.
Уміння проводити дослідження - важлива навичка в роботі продакт менеджера. З їх допомогою можна перевірити гіпотезу про продукт, прийняти рішення про запуск нових функцій і краще зрозуміти потреби та проблеми користувачів. Ми склали добірку ключових методів дослідження, порівняли їх і описала ситуації, коли їх слід застосовувати.
Чим займаються веброзробники, які сфери існують в професії та чим вони відрізняються одна від одної
Помилки, які часто допускають новачки, та способи їх уникнення