Вирішення проблем продуктивності за допомогою асинхронних методiв в JavaScript

dc.contributor.authorЗаковоротний, Олександр Юрійович
dc.contributor.authorСапальський, Олександр Андрійович
dc.date.accessioned2026-01-22T08:04:04Z
dc.date.issued2025
dc.description.abstractСучасні веб-додатки часто стикаються з викликами продуктивності, пов’язаними з блокуванням інтерфейсу користувача та повільною обробкою даних. Оскільки JavaScript є однопотоковою мовою програмування, браузер не здатен одночасно виконувати обчислення та оновлювати інтерфейс. Це може спричиняти "лаги" — ситуації, коли додаток зависає, і користувач не може взаємодіяти з інтерфейсом. Асинхронне програмування в JavaScript надає інструменти для вирішення цих проблем, що дозволяє підвищити відгукливість додатків і ефективність виконання завдань. Мета цієї роботи полягає у дослідженні можливостей підвищення продуктивності веб-додатків за допомогою асинхронного програмування в JavaScript. Це включає аналіз ефективності обробки завдань та відгукливості інтерфейсу користувача, а також оцінку доцільності використання асинхронних підходів для вирішення проблем блокування інтерфейсу та запобігання "лагам", що часто виникають у сучасних однопотокових середовищах. Отримані наступні результати: використання асинхронного програмування в JavaScript значно підвищило продуктивність веб-додатків. Відгукливість інтерфейсу покращилася за рахунок зменшення кількості випадків блокування UI під час обробки важких завдань. У місцях, де раніше спостерігалися відчутні лаги, додаток тепер працює безперервно, забезпечуючи плавну взаємодію з користувачем. Висновки. Було доведено доцільність використання асинхронного програмування в JavaScript для підвищення продуктивності веб-додатків. Це дозволяє значно покращити відгукливість інтерфейсу та уникнути блокування під час виконання складних операцій, забезпечуючи плавний досвід взаємодії для користувача. Визначено перспективи подальших досліджень у напрямку оптимізації асинхронних процесів для різних типів завдань та інтеграції з багатопотоковими рішеннями.
dc.description.abstractThe subject of study in the article are the performance issues in modern web applications caused by the single-threaded nature of JavaScript. Specifically, it investigates how blocking operations, like synchronous XMLHttpRequests (XHR), can negatively impact the responsiveness of user interfaces. The study explores how asynchronous program ming can improve the user experience by preventing interface lag and optimizing task handling. The task is to explore and demonstrate how various asynchronous techniques, including callbacks, promises, asyn c/await, and methods such as set-Timeout, queueMicrotask, requestAnimationFrame, and requestIdleCallback, can be employed to address performance bottlenecks in a web-based smart home application. Additionally, the use of Web Workers to offload intensive cal culations to background threads is examined. The following results were obtained: The study shows that transitioning from synchronous XHR to asynchronous methods significantly reduces the occurrence of interface freezing. Callbacks and promises provide basic improvements in responsiveness, while async/await makes the code more readable and easier to manage. Methods like setTimeout and requestAnimationFrame allow deferring non-critical tasks, improving performance during active user interaction. Web Workers were effectively used to handle complex computations, preventing the main thread from being blocked and allowing the application to remain responsive even during intensive processing. Conclusions: Asyn chronous programming techniques are essential for optimizing the performance of JavaScript-based web applications. By adopting these methods, developers can prevent interface blocking and enhance the overall user experience. The use of Web Workers for background processing further improves performance, making these approaches highly applicable to complex applications like smart home systems. Future research could focus on refining these techniques for specific use cases and exploring additional strategies for performance optimization.
dc.identifier.citationЗаковоротний О. Ю. Вирішення проблем продуктивності за допомогою асинхронних методiв в JavaScript / О. Ю. Заковоротний, О. А. Сапальський // Системи управління, навігації та зв'язку = Control, navigation and communication systems : зб. наук. пр. / гол. ред. В. В. Косенко ; Полт. нац. техн. ун-т ім. Юрія Кондратюка. – Полтава : ПНТУ, 2025. – Вип. 1 (79). – С. 83-86.
dc.identifier.doihttps://doi.org/10.26906/SUNZ.2025.1.83-86
dc.identifier.orcidhttps://orcid.org/0000-0003-4415-838X
dc.identifier.urihttps://repository.kpi.kharkov.ua/handle/KhPI-Press/97791
dc.language.isouk
dc.publisherНаціональний університет “Полтавська політехніка імені Юрія Кондратюка”
dc.subjectасинхронне програмування,
dc.subjectJavaScript
dc.subjectпродуктивність веб-додатків
dc.subjectasynchronous programming
dc.subjectJavaScript
dc.subjectweb application performance
dc.titleВирішення проблем продуктивності за допомогою асинхронних методiв в JavaScript
dc.title.alternativeSolving productivity problems using asynchronous methods in JavaScript
dc.typeArticle

Файли

Контейнер файлів

Зараз показуємо 1 - 1 з 1
Вантажиться...
Ескіз
Назва:
SUNZ_2025_1_Zakovorotnyi_Vyrishennia_problem.pdf
Розмір:
416.68 KB
Формат:
Adobe Portable Document Format

Ліцензійна угода

Зараз показуємо 1 - 1 з 1
Вантажиться...
Ескіз
Назва:
license.txt
Розмір:
11.15 KB
Формат:
Item-specific license agreed upon to submission
Опис: