Чому так багато фреймворків JavaScript?

pic

  • Що таке фреймворки Javascript і чому їх так багато?
  • Який з них мені слід використовувати?
  • Чому на вебсайтах більше Javascript, ніж HTML?

На початкових етапах розробки вебсайтів, вони були статичними: вони просто містили текст та кілька зображень.

Тепер у нас є Figma та VS Code в браузерах. Вебсайти стали набагато потужнішими, ніж ми могли собі уявити раніше, тому довелося впровадити більш ефективні методи для створення складних вебсайтів.

Використання чистого Javascript

Припустимо, ви створюєте лічильник з кнопками "збільшити" і "зменшити". За допомогою чистого Javascript вам доведеться знаходити цей елемент у DOM і змінювати його вміст щоразу, коли натискаються кнопки.

pic

Зміна лічильника в чистому Javascript

Основна проблема тут полягає в тому, що цей код занадто низькорівневий. Ми більше фокусуємося на зміні інтерфейсу користувача, ніж на роботі з даними. У цьому прикладі ми просто змінюємо число, але уявіть собі додаток, як Figma, де тисячі значень змінюються. Більше того, одне значення відображається в кількох місцях (ширина прямокутника показується в інспекторі, меню розробника та на полотні). Уявіть, що вам потрібно використовувати кілька операторів вибору для кожного значення, щоб підтримувати синхронізацію всіх цих елементів!!

Фреймворки Javascript усувають цю складність і дозволяють розробникам фокусуватися на даних, поки бібліотека/фреймворк займається ефективним відображенням цих даних.

Але чому їх так багато?

  • По-перше, на відміну від мобільних та десктопних систем, веб дуже відкритий у тому, як створюються вебсайти, і надає багато свободи розробникам. Ось чому ми маємо таке розмаїття інструментів і фреймворків, кожен з яких намагається зробити веб-розробку ефективнішою.
  • По-друге, кожен фреймворк/бібліотека намагається вирішити різні проблеми. Наприклад, фреймворк Gatsby, побудований на React, був створений для статичних вебсайтів, таких як блоги, щоб зробити їх швидшими і ефективнішими.

Який з них мені слід використовувати?

Особисто я використовував лише ReactJs і NextJs (React — це лише бібліотека для рендерингу. З її допомогою неможливо створити повноцінні веб-додатки, тому я використовую NextJs, який є повним фреймворком).

Fireship має чудове відео, в якому порівнюються найпопулярніші фреймворки Javascript, і ви можете подивитися його тут

Я починаю серію про важливі, але іноді плутані концепції веб-розробки. Якщо це було корисно, підпишіться, щоб дізнатися більше. До зустрічі завтра ✌️

Перекладено з: Why so many Javascript frameworks

Leave a Reply

Your email address will not be published. Required fields are marked *