веб-розробка це не просто одне. Він охоплює кілька наборів навичок, і в просторі веб-розробки існують різні види кар’єр. Три часто використовувані терміни: «інтерфейс», «бек-енд» і «повний стек». Ось основні відмінності між цими трьома.
Фронтальна веб-розробка
Фронтальна розробка, хоча його компоненти постійно змінюються, по суті, стосується зовнішніх частин веб-сайту або веб-додатку. По суті, інтерфейсна розробка передбачає HTML, CSSі JavaScript:
- HTML: Мова розмітки гіпертексту, або HTML, є ключовим структурним компонентом усіх веб-сайтів в Інтернеті. Без нього веб-сторінки не можуть існувати.
- CSS: CSS додає стилю HTML. Мені подобається використовувати аналогію, що HTML схожий на обличчя, а CSS схожий на макіяж.
- JavaScript: JavaScript, або JS, розвивався протягом останніх кількох років. Стосовно інтерфейсної розробки JS важливий, оскільки він допомагає зробити веб-сторінки інтерактивними.
Інтерфейс асоціюється з макетом і принципами дизайну, але розробники інтерфейсу не обов’язково є дизайнерами. По суті, зовнішні розробники створюють зовнішній вигляд – сторінки веб-сайту, які бачать користувачі. Це означає, що інтерфейсний розробник повинен брати до уваги читабельність і зручність використання сайту та/або програми. Крім того, інтерфейс працює на клієнті, тобто на локальному комп’ютері користувача, у більшості випадків у веб-браузері. І інформація не зберігається на стороні клієнта.
Back-End веб-розробка
Бекенд веб-розробка це те, що відбувається за лаштунками. Зовнішній кінець забезпечує інтерфейс.
Щоб полегшити роботу, подумайте про передню частину як про частину айсберга над водою. Це те, що бачить користувач – стильний сайт. Задній кінець — залишок льоду; його не може побачити кінцевий користувач, але це найважливіший елемент веб-додатку. Бекенд працює на сервері, або, як його часто називають, «на стороні сервера».
На відміну від зовнішньої розробки (яка переважно використовує HTML, CSS і JavaScript), серверна веб-розробка може спиратися на низку мов і фреймворків.
Декілька популярні мови використовуються на задній частині включають:
- рубін (часто використовується в поєднанні з фреймворком Rails — AKA Ruby on Rails)
- Python (який часто використовується з фреймворком Django на задній частині)
- PHP (популярна CMS WordPress використовує PHP у своїй системі — PHP має кілька популярних фреймворків, одним з яких є Laravel)
- Node.js (стає все більш популярним - це серверне середовище для веб-програм, створених за допомогою JavaScript)
Для того, щоб великі веб-сайти та веб-додатки працювали, це більше, ніж базова мова та структура. Уся інформація на веб-сайті чи в додатку повинна десь зберігатися.
Тут на допомогу приходять бази даних. Розробники серверної частини також займаються цим.
До популярних баз даних належать:
- MySQL
- PostgreSQL
- MongoDB
- І інші
Як правило, певні серверні мови/фреймворки вимагають певної бази даних. Наприклад, структура повного стеку MEAN вимагає MongoDB.
Окрім знання базової мови/фреймворку та запуску баз даних, серверні розробники також повинні розуміти архітектуру сервера.
Правильне налаштування сервера дозволяє сайту працювати швидко, не виходити з ладу та не видавати помилок користувачам. Це підпадає під домен розробника бек-енду, оскільки більшість помилок виникає у бек-енді, а не в інтерфейсі.
Повний стек
Повний стек — це комбінація переднього та заднього кінця. Повноцінний розробник є майстром на всі руки. Вони відповідають за всі рівні розробки, від налаштування сервера до CSS, пов’язаного з дизайном.
Сьогодні у веб-розробку входить стільки всього, що практично неможливо впоратися з обома сторонами. Хоча багато людей можуть стверджувати, що мають повний стек, або насправді є такими, вони все одно зазвичай зосереджуються більше на одній стороні: клієнті чи сервері.
У невеликих компаніях/стартапах одна людина, швидше за все, відповідатиме за всі сторони спектру веб-розробки. Однак у великих компаніях люди працюють у командах і мають спеціалізовані ролі: один зосереджується виключно на архітектурі сервера, інший (або кілька людей) на інтерфейсі тощо.
Висновок
Веб-розробка має багато облич, і з кожним днем вона розвивається все більше. Вам потрібно багато чого навчитися, але не відчувайте тиску, щоб вивчити все відразу. Пам’ятайте, що на робочому місці ви зазвичай працюєте в команді з іншими. Зосередьтеся на вдосконаленні своїх навичок в одному аспекті веб-розробки за раз. Не перевтомлюйтеся, і ви станете професіоналом, перш ніж це помітите.