<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">bsuir</journal-id><journal-title-group><journal-title xml:lang="ru">Доклады БГУИР</journal-title><trans-title-group xml:lang="en"><trans-title>Doklady BGUIR</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1729-7648</issn><issn pub-type="epub">2708-0382</issn><publisher><publisher-name>БГУИР</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.35596/1729-7648-2026-24-1-68-74</article-id><article-id custom-type="elpub" pub-id-type="custom">bsuir-4300</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Статьи</subject></subj-group></article-categories><title-group><article-title>Алгоритм взаимодействия компонентов на стороне клиента</article-title><trans-title-group xml:lang="en"><trans-title>Algorithm of Components Interaction on the Client Side</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Струкова</surname><given-names>А. А.</given-names></name><name name-style="western" xml:lang="en"><surname>Strukova</surname><given-names>A.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Струкова Алина Александровна - магистрант, ассист. каф. информационных технологий автоматизированных систем</p><p>220013, Минск, ул. Платонова, 39</p><p>Тел.: +375 44 747-22-03 </p></bio><bio xml:lang="en"><p>Alina Strukova - Master’s Student, Assistant at the Depart­ment of Information Technologies of Automated Systems</p><p>220013, Minsk, Platonova St., 39</p><p>Тel.: +375 44 747-22-03 </p></bio><email xlink:type="simple">al-strukova@mail.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Шилин</surname><given-names>Л. Ю.</given-names></name><name name-style="western" xml:lang="en"><surname>Shilin</surname><given-names>L.</given-names></name></name-alternatives><bio xml:lang="ru"><p>д-р техн. наук, проф. каф. информационных технологий автоматизированных систем</p><p>Минск</p></bio><bio xml:lang="en"><p>Leonid Shilin - Dr. Sci. (Tech.), Professor at the Department of Information Technology of Automated Systems</p><p>Minsk </p></bio><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Белорусский государственный университет информатики и радиоэлектроники</institution></aff><aff xml:lang="en"><institution>Belarusian State University of Informatics and Radioelectronics</institution></aff></aff-alternatives><pub-date pub-type="collection"><year>2026</year></pub-date><pub-date pub-type="epub"><day>04</day><month>03</month><year>2026</year></pub-date><volume>24</volume><issue>1</issue><fpage>68</fpage><lpage>74</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Струкова А.А., Шилин Л.Ю., 2026</copyright-statement><copyright-year>2026</copyright-year><copyright-holder xml:lang="ru">Струкова А.А., Шилин Л.Ю.</copyright-holder><copyright-holder xml:lang="en">Strukova A., Shilin L.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://doklady.bsuir.by/jour/article/view/4300">https://doklady.bsuir.by/jour/article/view/4300</self-uri><abstract><p>В статье рассматривается проблема организации эффективного взаимодействия компонентов в клиентских веб-приложениях, построенных на основе компонентных архитектур. Показано, что при увеличении масштаба интерфейсных систем традиционные подходы к обмену данными между компонентами приводят к избыточным вычислениям, усложнению поддержки и снижению производительности. На примере фреймворков проанализированы существующие механизмы синхронизации состояния и обновления пользовательского интерфейса, выявлены их ограничения, связанные с глобальным отслеживанием изменений и отсутствием встроенной поддержки двусторонней передачи данных между компонентами. Предложена двухсвязная модель взаимодействия компонентов (BCLM), основанная на прямом обмене релевантными изменениями состояния между логически связанными компонентами. Формализован механизм синхронизации через отображения публикации и применение данных, обеспечивающий адаптивное обновление интерфейса без участия централизованных хранилищ. Показано, что предложенный подход позволяет уменьшить количество перерендерингов и упростить архитектуру приложения при сохранении реактивности.</p></abstract><trans-abstract xml:lang="en"><p>The article discusses the problem of organizing effective component interaction in client web applications based on component architectures. It is shown that as the scale of interface systems increases, traditio­ nal approaches to data exchange between components lead to redundant calculations, more complicated support, and lower performance. Using the example of frameworks, the existing mechanisms for synchronizing the state and updating the user interface are analyzed, their limitations related to global change tracking and the lack of builtin support for two-way data transfer between components are identified. A Bidirectional Component Linking Model (BCLM) is proposed, based on the direct exchange of relevant state changes between logically connected components. A synchronization mechanism has been formalized through the display of publication and application of data, providing adaptive interface updates without the involvement of centralized repositories. It is shown that the proposed approach makes it possible to reduce the number of re-renderings and simplify the application architecture while maintaining reactivity.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>веб-приложения</kwd><kwd>состояние компонента</kwd><kwd>синхронизация данных</kwd><kwd>реактивность</kwd><kwd>Angular</kwd><kwd>React</kwd><kwd>виртуальный DOM</kwd><kwd>модель BCLM</kwd><kwd>оптимизация производительности</kwd></kwd-group><kwd-group xml:lang="en"><kwd>web applications</kwd><kwd>component state</kwd><kwd>data synchronization</kwd><kwd>reactivity</kwd><kwd>Angular</kwd><kwd>React</kwd><kwd>virtual DOM</kwd><kwd>BCLM model</kwd><kwd>performance optimization</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Herman, D. Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript / D. Herman. Boston: Addison-Wesley, 2013</mixed-citation><mixed-citation xml:lang="en">Herman D. (2013) Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript. Boston, Addison-Wesley Publ.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Флэнаган, Д. JavaScript. Подробное руководство / Д. Флэнаган. СПб.: Символ‑Плюс, 2021.</mixed-citation><mixed-citation xml:lang="en">Flanagan D. (2021) JavaScript. The Definitive Guide. Saint Petersburg, Simvol‑Plyus Publ. (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Bampakos, A. Learning Angular: A No-Nonsense Guide to Building Web Applications with Angular 15 / A. Bampakos, P. Deeleman. Birmingham: Packt Publishing, 2023.</mixed-citation><mixed-citation xml:lang="en">Bampakos A. (2023) Learning Angular: A No-Nonsense Guide to Building Web Applications with Angular 15. Birmingham, Packt Publishing.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Freeman, A. Pro React 16 / A. Freeman. Berkeley, California: Apress, 2019</mixed-citation><mixed-citation xml:lang="en">Freeman A. (2019) Pro React 16. Berkeley, California, Apress Publ.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Elliott, E. Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Modern JS Libraries / E. Elliott. Sebastopol: O’Reilly Media, 2014.</mixed-citation><mixed-citation xml:lang="en">Elliott E. (2014) Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Modern JS Libraries. Sebastopol, O’Reilly Media Publ.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Blokdyk, G. Comparison of JavaScript Frameworks: Standard Requirements / G. Blokdyk. Canada: 5STARCooks, 2021.</mixed-citation><mixed-citation xml:lang="en">Blokdyk G. (2021) Comparison of JavaScript Frameworks: Standard Requirements. Canada, 5STARCooks Publ.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
