АЛГОРИТМ ПІДБОРУ ОПТИМАЛЬНОГО ВЕБ ФРЕЙМВОРКА ЗА КРИТЕРІЯМИ
07.12.2023 18:50
[1. Информационные системы и технологии]
Автор: Мовчан Олексій Васильович, здобувач другого (магістерського) рівня вищої освіти, Західноукраїнський Національний Університет, м. Тернопіль;
Биковий Павло Євгенович, кандидат технічних наук, доцент кафедри інформаційно-обчислювальних систем і управління, Західноукраїнський Національний Університет, м. Тернопіль
Створення сучасних сайтів та веб додатків майже неможливо уявити без залучення таких потужних інструментів розробки як бібліотка або веб фреймворк. Так, прості статичні веб-сайти, цільові сторінки (landing pages) або веб-сайти малого бізнесу можуть бути створені вручну за допомогою тільки базових технологій як HTML, CSS і JavaScript, не покладаючись на бібліотеки, але додавання інтерактивних елементів на ці сторінки стане непростою та часозатратною задачею.
Використання фреймворків є поширеним явищем у сучасній веб-розробці через їхні переваги з точки зору ефективності, продуктивності та дотримання кращих практик програмування. За останнє десятиріччя вони сильно еволюціонували і тепер дають змогу використовувати готові структури, бібліотеки вбудованих функцій та різноманітних інтерфейсів, чим значно полегшують і допомагають уникнути “дитячих” помилок процесу розробки веб продуктів.
Однак, маючи таке різноманіття веб фреймворків, для інженера-розробника часто важко зробити вибір на користь одного з них. Це дійсно важливий і відповідальний етап проектування майбутнього продукту і неправильний вибір фреймворка може обернутись в довгий і складний процес розробки та підтримки проекту, що з часом може призвети навіть до потреби переробити або перенести продукт на інший фреймворк. Необхідність розуміння за якими критеріями обрати той чи інший веб фреймворк для майбутнього продукту підкреслює актуальність теми вибору оптимального веб фреймворка для реалізації проекту.
Алгоритм підбору оптимального веб фреймворка базується на аналізу його основних характеристик та вхідних даних майбутнього проекту; отже можна сформулювати наступні кроки в визначенні наскільки підходить даний фреймворк для розробки веб додатку або сайту:
- Визначення вимог до проекту: на основі інформації від зацікавлених сторін (замовника) сформувати цілі проекту, вимоги до масштабованості, функції та очікувану продуктивність [1].
- Визначення основних технологій: виходячи з потреб проекту, визначити основні технології (мову програмування, тип бази даних), які повинен підтримувати фреймворк [2].
- Оцінка спільноти та екосистеми: ознайомитись з проектами на GitHub, рейтингом фреймворку на GitHub, динамікою завантажень на npm, опитуваннями розробників на Stack Overflow і форумами спільноти розробників.
- Огляд офіційної документації та легкісті її засвоєння: переглянути офіційну документацію для кожного фреймворку, онлайн-підручники та навчальні платформи. Оцінити наскільки вона структурована та доступна для розуміння.
- Оцінка гнучкості і розширюваності: переглянути документацію фреймворку та обговорення спільноти на GitHub або форумах.
- Оцінка підтримки фреймворка розробниками: переглянути примітки до випуску, історію версій і обговорення спільноти на GitHub або офіційних форумах.
- Оглляд можливостей інтеграцій та сумісності: перевірити документацію щодо можливих інтеграцій, переглянути обговорення спільноти та приклади реальних проектів[2].
- Оцінка підтримки мобільної розробки: перевірити документацію щодо структури та наявних інструментів для мобільної розробки та тематичні дослідження мобільних проектів.
- Ознайомлення з тематичними дослідженнями та реальними прикладами проектів: відвідати офіційні веб-сайти фреймворків та форуми спільноти розробників щоб отримати дані практичних досліджень та приклади реальних проектів.
Виходячи з того що рівні впливу кожної з характеристик на кінцевий продукт можуть суттєво відрізнятися, необхідно сформувати механізм порівняння цих характеристик між собою. Для цього пропонується ввести поняття “критерія оптимальності”. Кожному з критеріїв присвоїти відосно обернені значення показників впливу на проект (тобто найбільше значення матиме найменш впливовий критерій), які можна розрахувати за формулою:
Де Fi– критерій впливу характеристики і-того фреймворка в вибірці; Fmax – максимальне значення показника для фреймворка.
Таким чином описана вище методика оптимального вибору веб фреймворка дає змогу оцінити наскільки оптимально той чи інший веб фреймворк, з певної кількості обраних, підходить для реалізації поставленої задачі.
Література:
1. Ghezzi C., Jazayeri M., Mandrioli D. Fundamental of Software Engineering. Prentice-Hall, NJ, USA, 1991, 543 p.
2. Sharma A., Kumar R., Grover P.S. Estimation of Quality for Software Components: An empirical approach. ACM SIGSOFT Software Engineering Notes, 2008, vol. 33, iss. 6.
3. Detailed Web Framework Comparison With Pros And Cons, 2023, https://www.monocubed.com/blog/web-development-framework-comparison/