top of page

8 міфів про фронтенд. Спростовує Front-end Developer в OBRIO



Фронтенд — це легкий вхід в ІТ чи один з найскладніших напрямів розробки? Щоб розвиватися, потрібно вивчати якомога більше бібліотек, заглиблюватися в дизайн чи в патерни програмування? Чи завжди нативні застосунки кращі за веб? Мікрофронтенд вирішить усі проблеми вебзастосунку чи додасть нових? Найрозповсюдженіші міфи спростовує Микола Носенко, Front-end Developer в OBRIO з екосистеми Genesis.





МІФ №1

Фронтенд — це легкий старт в ІТ.


Історично склалося, що початківцям легше вивчати фронтенд, аніж бекенд чи інші види розробки. Але це зовсім не означає, що цей напрям — простий. Раніше вивчення HTML та CSS було достатньо, щоби почати реалізовувати якісь проєкти. Загалом робота фронтенд-девелопера потребувала значно менше знань у програмуванні.

Але щороку цей напрям ускладнюється: як інтерфейси, так і самі рішення. Джуніор уже навряд зможе знайти роботу та бути корисним на проєкті, якщо не знає JavaScript та як мінімум один із фреймворків.


Бекенд — не легший і не складніший, а просто має свою специфіку. Робота з інтерфейсом командного рядка, терміналами, базами даних може здаватися занадто складною та незвичною для світчерів. Також тут неможливо отримати фідбек та побачити результат своїх зусиль так швидко, як у фронтенді, де більшість твоїх дій повʼязана зі взаємодією з користувачем.




МІФ №2

Робота на фронтенді складається з однотипних задач.


Насправді у фронтенд-розробника різноманітні задачі. Це не тільки створення інтерфейсів окремих компонентів або сторінок, а ще й робота з анімацією, написання автотестів, бізнес-логіки, налаштування аналітики, інтеграція нових технологій та багато чого іншого. Також це постійна комунікація з багатьма командами: дизайну, бекенду, QA, SEO, менеджерами, замовниками та іншими.




МІФ №3

Для розвитку потрібно вивчати більше сучасних фреймворків та бібліотек.


Часто розробники переконані, що шлях розвитку в цій сфері полягає у вивченні якомога більшої кількості бібліотек: чим більше їх знаєш, тим краще. При цьому в них залишаються прогалини у фундаментальних знаннях, без яких складно уявити подальший розвиток девелопера. Йдеться про основи та принципи програмування, парадигми, патерни — на будь-якому складному проєкті без цих основ буде дуже важко працювати ефективно.



Принципи програмування допомагають краще організовувати код, робити його зрозумілим для інших розробників. Патерни — це підходи до вирішення абстрактних проблем. Більшість із них не пов'язані з конкретним доменом або сферою знань, але допомагають розуміти програмування загалом. Вміння їх використовувати допомагає позбавитися багатьох проблем, які можуть виникати в процесі розробки, та забезпечують якість коду.


Маючи ці знання, фронтенд-девелопер може швидше розвиватися вертикально або ж опановувати бекенд, фулстек чи інші сфери розробки. Крім того, такі навички допомагають розробнику обирати найефективніші інструменти та бібліотеки для його потреб.




МІФ №4

HTML, CSS та JavaScript — це технології, які не розвиваються та не змінюються.


Це твердження абсолютно невірне. Щороку в CSS, HTML та JavaScript виправляються недоліки та додаються нові можливості.


Наприклад, з найцікавішого, що з'явилося в CSS за останній час, можна виділити:

  • @layer — нарешті дозволяє вирішити одну з найскладніших проблем в CSS, а саме контроль над каскадом та конфліктами між селекторами.

  • :has() — дає перевірити, чи містить батьківський елемент хоча б один із вказаних елементів. Цього дуже не вистачає в роботі.

  • Умовні конструкції when/else — цікавий напрям розвитку, який ймовірно може стати стандартом.

З останніх помітних нововведень у JavaScript — private fields та розширення синтаксису static, що наближають JS до класичних мов ООП, таких як Java, C# тощо.




МІФ №5

Нативні застосунки завжди будуть зручнішими за веб.


Дійсно, нативні застосунки можуть бути зручнішими для користувача ніж вебзастосунки, якщо дають доступ до певних функцій пристрою, яких не має браузер. Одна з їхніх переваг — швидкість. Однак це змінилося з появою прогресивних вебзастосунків (Progressive Web Apps) та зростанням їхньої популярності. Вони можуть працювати в режимі офлайн та мати багато функцій, які раніше були доступні лише в нативних застосунках. Після встановлення на головний екран, вони працюють швидше, ніж у браузері. Крім того, PWA значно дешевші та простіші у розробці та підтримці. Наразі їх можна публікувати в Google Play та Microsoft Store серед інших продуктів.





Водночас існує багато інструментів, які дозволяють фронтенд-розробникам створювати гібридні застосунки на JavaScript для різних платформ. Наприклад, Electron можна використовувати для створення продуктів для десктопу, а React Native — для мобільних пристроїв. Цей напрям розробки також активно розвивається, постійно з'являються нові технології. Наприклад, фреймворк Tauri, що поєднує швидкість Go з легкістю розробки за допомогою HTML, CSS та JavaScript для створення десктопних застосунків.


Але PWA та гібридні застосунки не є ідеальним рішенням, яке може повністю замінити нативні. Все як завжди залежить від складності застосунку та потреб бізнесу.




МІФ №6

Фронтенд-девелопер має обовʼязково добре розумітися в дизайні.


Фронтенд-розробник має вміти взаємодіяти з дизайном. Особливо на ранніх етапах проєкту, коли треба закласти дизайн-систему в коді для подальшого успішного розвитку продукту.


Але з іншого боку, одна з цінностей фронтенд-девелопера полягає в тому, що він може поставити себе на місце користувача. Він — та людина, яка першою буде взаємодіяти з інтерфейсом. Дизайнерський досвід та фокус на правилах прийняття тих чи інших рішень можуть обмежувати його у судженнях.




МІФ №7

Сторінки та вебзастосунки стають занадто складними.


З одного боку, вебзастосунки з кожним роком стають все складнішими, що призводить до проблем з продуктивністю. З іншого боку, стандарти швидкості від Google надають жорсткі критерії, яким мають відповідати сайти для успішного SEO-просування. У відповідь на це зʼявляються технології, що вирішують проблеми оптимізації, які вже не можна ігнорувати в Single-page Application (SPA).


З новими фреймворками можна не витрачати багато зусиль на самостійне вирішення проблем перформансу. Серед них, наприклад, Next.js, який вже став майже стандартом для створення нових продуктів на React, або новачки, такі як Astro, що пропонують поглянути на створення сайтів під новим (старим) кутом Multiple-page Application, розробляючи їх на улюблених SPA-фреймворках.




МІФ №8

Мікрофронтенд — універсальне рішення, за яким майбутнє та яке підходить усім.


Проблеми, для вирішення яких підходить мікрофронтенд, зʼявляються, коли вебзастосунок стрімко зростає разом з командою. Або ж йому вже стільки років, що його надто складно підтримувати та треба ітеративно покращувати.


Мікрофронтенд — це підхід, що дозволяє працювати з певними частинами проєкту, незалежно від інших. Наприклад, одна команда може створювати логіку пошуку, а інша сфокусована на профілі користувача. Вони не перетинаються у виборі технологій і не залежать одна від одної. З одного боку цей підхід призводить до «зоопарку технологій», а з іншого — додає гнучкості у формуванні команд, наймі, підходах, які використовуються на проєктах.


Чи ефективний такий підхід? Так, але підходить він не всім. Не варто використовувати його без потреби та конкретної проблеми, яку треба вирішити.


Comments


Підписуйся на нашу розсилку та отримуй корисні матеріали першим!

Надаючи вашу електронну адресу, ви погоджуєтесь з нашою Політикою приватності.

Дякуємо, що підписалися.

image-from-rawpixel-id-5996033-png.png
bottom of page