Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CCIII Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 26 декабря 2024 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Струнин Р.А. ИСПОЛЬЗОВАНИЕ МЕНЕДЖЕРОВ СОСТОЯНИЙ В ВЕБ-ПРИЛОЖЕНИИ // Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ: сб. ст. по мат. CCIII междунар. студ. науч.-практ. конф. № 24(202). URL: https://sibac.info/archive/meghdis/24(202).pdf (дата обращения: 03.01.2025)
Проголосовать за статью
Идет голосование
Эта статья набрала 0 голосов (обновление каждые 15 минут)
Дипломы участников
У данной статьи нет
дипломов

ИСПОЛЬЗОВАНИЕ МЕНЕДЖЕРОВ СОСТОЯНИЙ В ВЕБ-ПРИЛОЖЕНИИ

Струнин Роман Артёмович

студент, кафедра системное моделирование и автоматизированное проектирование, Московский авиационной институт,

РФ, г. Москва

Семенов Григорий Евгеньевич

научный руководитель,

канд. технических наук, доц., Московский авиационный институт,

РФ, г. Москва

USING STATE MANAGERS IN A WEB APPLICATION

 

Roman Strunin

student, department of system modeling and computer-aided design, Moscow Aviation Institute,

Russia, Moscow

Grigory Semenov

scientific supervisor, Ph.D. technical sciences, associate professor, Moscow Aviation Institute,

Russia, Moscow

 

АННОТАЦИЯ

Статья рассматривает использование менеджеров состояний в веб-приложениях с архитектурной точки зрения. Анализируются преимущества и недостатки применения таких инструментов, как Redux, MobX, а также обсуждаются ситуации, когда использование менеджеров состояний оправдано, и случаи, когда они могут усложнять проект.

ABSTRACT

The article examines the use of state management tools in web applications from an architectural perspective. It analyzes the advantages and disadvantages of using such tools as Redux, MobX and discusses situations where the use of state managers is justified and cases where they can complicate a project. Special attention is paid to issues of performance, testability, and development convenience.

 

Ключевые слова: менеджеры состояний, веб-приложение, архитектура, Redux, MobX, производительность, тестирование, разработка.

Keywords: state managers, web application, architecture, Redux, MobX, performance, testing, development.

 

Redux и MobX — два популярных стейт-менеджера, используемых в разработке фронтенд-приложений, особенно в экосистеме React. Оба инструмента имеют свои особенности, преимущества и недостатки, которые делают их подходящими для разных типов проектов.

Redux: Императивный подход с централизованным хранилищем и строгим контролем изменений через действия и редьюсеры. Подходит для больших проектов с высокой степенью контроля над состоянием. Требует большего объема кода и сложной настройки.

MobX: Декларативный подход с распределённым хранилищем и автоматической реакцией на изменения данных. Проще в освоении и использовании, удобен для малых и средних проектов. Оптимален для быстрой разработки и автоматизации обновлений.

Использование менеджеров состояний в веб-приложениях может иметь как положительные, так и отрицательные стороны с архитектурной точки зрения. Всё зависит от контекста проекта, требований к производительности, масштабируемости и сложности приложения. Рассмотрим несколько аспектов:

Централизованное управление состоянием:

Менеджеры состояния позволяют хранить данные в одном месте, что упрощает их доступ и обновление. Это особенно полезно для больших приложений, где множество компонентов могут зависеть от одних и тех же данных.

Упрощение тестирования и отладки:

Состояние хранится отдельно от представления, что облегчает тестирование логики работы с данными без необходимости рендеринга интерфейса. Также легче отслеживать изменения состояния и находить ошибки.

Удобство при работе с асинхронными операциями:

При использовании менеджеров состояний проще управлять асинхронным кодом, таким как запросы к API, поскольку состояние обновляется централизованно и синхронно.

Поддержка реактивного программирования:

Многие менеджеры состояний, такие как Redux, MobX или Vuex, поддерживают реактивный подход, который позволяет автоматически обновлять компоненты при изменении данных. Это делает интерфейс более отзывчивым и удобным для пользователей.

Усложнение архитектуры:

Введение менеджера состояний добавляет дополнительный уровень абстракции, что может усложнить архитектуру приложения. Особенно это заметно в небольших проектах, где использование менеджера состояний может оказаться избыточным.

Производительность:

Если менеджер состояний используется неправильно, он может привести к снижению производительности. Например, излишние обновления состояния могут вызывать ненужную перерисовку компонентов, что негативно скажется на скорости работы приложения.

Избыточность в простых приложениях:

Для маленьких проектов использование менеджера состояний может быть излишним. Простые задачи часто лучше решаются через локальное состояние компонента или использование хуков React (например, useState).

Трудоемкость поддержки:

Поддержание и развитие кода с использованием менеджера состояний требует дополнительных усилий. Необходимо следить за правильностью использования диспетчеров действий, селекторов и других элементов системы управления состоянием.

В целом, использование менеджеров состояний является хорошим решением для крупных и сложных веб-приложений, где важно централизовать управление данными и обеспечить удобство разработки и тестирования. Однако в небольших проектах оно может оказаться избыточным и даже вредным, усложняя архитектуру и снижая производительность.

 

Список литературы:

  1. Алексеев А.. Введение в Web-дизайн. Учебное пособие. — М.: ДМК Пресс, 2019 — 184 c.
  2. Дакетт Д. HTML и CSS. Разработка и дизайн веб-сайтов. — М.: Эксмо, 2019. — 480 c.
  3. Диков А. В. Клиентские технологии веб-дизайна. HTML5 и CSS3. Учебное пособие. — М.: Лань, 2019. — 188 c.
  4. Дэвид Макфарланд. Новая большая книга CSS. — М.: Питер, 2018. — 720 c.
  5. Киселев С.В. Веб-дизайн / С.В. Киселев. — М.: Academia, 2019. — 285 c.
Проголосовать за статью
Идет голосование
Эта статья набрала 0 голосов (обновление каждые 15 минут)
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий