Андрій Марценюк
2КН-22б
Student:
VNTU

Phone:
+380632862072

Location:
Vinnytsia

Що таке Framework?

Фреймворк (англ. framework – каркас) – це програмне середовище, яке спрощує та прискорює створення програмного забезпечення. За використання фреймворків ви пишете лише код, який реалізує логіку, специфічну для вашого продукту. Вам не доводиться самостійно забезпечувати роботу з базою даних, автентифікацію, підтримку сеансів тощо. Все це реалізовано у фреймворках.

Навіщо потрібні Фреймворки?

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

  • позбавляють необхідності писати код щоразу заново;
  • прискорюють процес розробки;
  • спрощують роботу над веб-програмою;
  • дозволяють сконцентруватися на логіці, специфічній для веб-програми;
  • відокремлюють логіку від уявлення;
  • реалізують базову функціональність веб-продукту.

Які є Фреймворки?

Це фреймворк, який знайшов баланс між обмеженнями та гнучкістю. Його ядро вирішує передусім задачі представлення даних, тому він легко інтегрується в наявні проєкти поступово. Проте підходить для створення повноцінних SPA (Single-Page-Application) застосунків, адже має повний набір функціоналу. Завдяки хорошій документації, низькому рівню входу та невеликому розміру досить активно завойовує серця розробників Він має CLI, маршрутизацію, як Angular, використовує Virtual DOM і має досить швидкий час розробки, як React. Та все ж таки він має менш гнучкий компонентний підхід, ніж React, а керування життєвим циклом, що відбувається «під капотом» у великих проєктах, може стати проблемою через неочевидність і важкість відлагодження. З цього можна зробити висновок, що Vue.js круто підходить для розробки більшості вебзастосунків, але якщо треба робити надто складне відображення, звернутися варто до React.

Angular — це повноцінний MVC-фреймворк від Google з підтримкою Typescript та Web Workers з коробки, а також з прекрасним CLI, за допомогою якого ви можете згенерувати шаблони для компонентів, маршрутів, сервісів за допомогою простих команд командного рядка. Завдяки чіткій і жорсткій структурі цей фреймворк є стабільним і надійним, але потребує досить багато ресурсів для написання застосунку, тому рідко використовується для маленьких проєктів, але прекрасно себе почуває в Enterprise-рішеннях.

Це дітище Facebook 2013 року, а також мій основний інструмент, який я використовую на фронтенд-частині. Варто зауважити, що React — це не фреймворк, а бібліотека візуалізації, якщо взяти патерн MVC (Model-View-Controller), то React — це лише частина View. Це перший продукт, що почав використовувати Virtual DOM для оптимізації оновлення DOM дерева (document object model — моделі, що згодом перетворюється в HTML і витрачає для цього велику кількість ресурсів). Суть оптимізації в тому, щоб оновлювати лише ті дані, які дійсно змінились, а для пошуку відмінностей використовувати полегшену віртуальну структуру. Однак це йому не заважає бути найпопулярнішою бібліотекою серед фреймворків.