- Що таке фреймворки Javascript і чому їх так багато?
- Який з них мені слід використовувати?
- Чому на вебсайтах більше Javascript, ніж HTML?
На початкових етапах розробки вебсайтів, вони були статичними: вони просто містили текст та кілька зображень.
Тепер у нас є Figma та VS Code в браузерах. Вебсайти стали набагато потужнішими, ніж ми могли собі уявити раніше, тому довелося впровадити більш ефективні методи для створення складних вебсайтів.
Використання чистого Javascript
Припустимо, ви створюєте лічильник з кнопками "збільшити" і "зменшити". За допомогою чистого Javascript вам доведеться знаходити цей елемент у DOM і змінювати його вміст щоразу, коли натискаються кнопки.
Зміна лічильника в чистому Javascript
Основна проблема тут полягає в тому, що цей код занадто низькорівневий. Ми більше фокусуємося на зміні інтерфейсу користувача, ніж на роботі з даними. У цьому прикладі ми просто змінюємо число, але уявіть собі додаток, як Figma, де тисячі значень змінюються. Більше того, одне значення відображається в кількох місцях (ширина прямокутника показується в інспекторі, меню розробника та на полотні). Уявіть, що вам потрібно використовувати кілька операторів вибору для кожного значення, щоб підтримувати синхронізацію всіх цих елементів!!
Фреймворки Javascript усувають цю складність і дозволяють розробникам фокусуватися на даних, поки бібліотека/фреймворк займається ефективним відображенням цих даних.
Але чому їх так багато?
- По-перше, на відміну від мобільних та десктопних систем, веб дуже відкритий у тому, як створюються вебсайти, і надає багато свободи розробникам. Ось чому ми маємо таке розмаїття інструментів і фреймворків, кожен з яких намагається зробити веб-розробку ефективнішою.
- По-друге, кожен фреймворк/бібліотека намагається вирішити різні проблеми. Наприклад, фреймворк Gatsby, побудований на React, був створений для статичних вебсайтів, таких як блоги, щоб зробити їх швидшими і ефективнішими.
Який з них мені слід використовувати?
Особисто я використовував лише ReactJs і NextJs (React — це лише бібліотека для рендерингу. З її допомогою неможливо створити повноцінні веб-додатки, тому я використовую NextJs, який є повним фреймворком).
Fireship має чудове відео, в якому порівнюються найпопулярніші фреймворки Javascript, і ви можете подивитися його тут
Я починаю серію про важливі, але іноді плутані концепції веб-розробки. Якщо це було корисно, підпишіться, щоб дізнатися більше. До зустрічі завтра ✌️
Перекладено з: Why so many Javascript frameworks