KPI Science News (Oct 2023)

АНАЛІЗ ПРОГРАМНИХ МЕТОДІВ ОПТИМІЗАЦІЇ КЕРУВАННЯ ЛОКАЛЬНИМ СТАНОМ ДАНИХ ВЕБЗАСТОСУНКІВ

  • Lyubov Оleshchenko,
  • Pavlo Burchak

DOI
https://doi.org/10.20535/kpisn.2022.1-2.260552
Journal volume & issue
Vol. 135, no. 1-2
pp. 65 – 75

Abstract

Read online

Проблематика. Використання різного роду бібліотек часто призводить до зниження швидкодії роботи вебзастосунку та ускладнення виконання програмного коду. Об’єктом даного дослідження є процес зберігання та керування даними клієнтської частини вебзастосунку, предметом дослідження є програмні методи керування локальним станом даних вебзастосунку. Мета дослідження. Метою даного дослідження є зменшення часу обробки даних вебзастосунків відносно існуючих програмних методів. Методика реалізації. Основна ідея запропонованого методу полягає у використанні атомарного підходу до стану даних вебзастосунку. Маючи довільну сутність, у загальному стані вебзастосунку створюється фрагмент стану, що відповідає тільки за цю сутність. Такий фрагмент є незалежним від інших фрагментів стану і може працювати лише з інкапсульованою сутністю. Використовуючи інкапсуляцію, в React Context API передається конфігурація сутності у вигляді об’єкта, що містить у собі дані, та функції, що їх змінюють. Результати дослідження. Розроблений прорамний метод був порівняний з популярними бібліотеками для керування локальним станом даних вебзастосунку Redux, MobXState-Tree та Recoil. Порівнюючи у відсотковому співвідношенні кожен з сценаріїв тестування, отримано в середньому зменшення часу виконання програми у середньому на 17%. Висновки. Для дослідження наявних програмних методів були обрані бібліотеки Redux, MobXState-Tree та Recoil. Аналіз методів виконано за допомогою утиліти SonarQube. Для оцінки результатів роботи програмних методів використано утиліту браузера Google Chrome DevTools. Запропонований оптимізований програмний метод дозволяє зменшити час обробки даних та оптимізувати керування станом вебзастосунків. Ключові слова: вебзастосунок, оптимізація, керування локальним станом даних, Redux, MobXState-Tree, Recoil.

Keywords