Details

Title: Исследование Flux-подхода к управлению состоянием клиентской части приложения: выпускная квалификационная работа бакалавра: направление 09.03.03 «Прикладная информатика» ; образовательная программа 09.03.03_03 «Прикладная информатика в области информационных ресурсов»
Creators: Русаков Владислав Ильич
Scientific adviser: Резединова Евгения Юрьевна
Other creators: Пархоменко Владимир Андреевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2020
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: flux; управление состоянием; frontend; веб-приложение; state management; web-application
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.03
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-3327
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: ru\spstu\vkr\8563

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Тема выпускной квалификационной работы: «Исследование Flux-подхода к управлению состоянием клиентской части приложения». Данная работа посвящена исследованию Flux-подхода к управлению клиентской частью приложения. В работе рассмотрены и проанализированы существующие архитектурные подходы к разработке клиента. Проведено исследование Flux-архитектуры. Спроектировано и реализовано веб-приложение, на примере которого рассмотрены преимущества реализации клиентской части с использованием Flux. Протестированы и проанализированы две различные реализации одного и того же frontend-приложения, различающиеся использованием Flux-подобных библиотек.

The subject of the graduate qualification work is «Research of Flux approach for state-managing client-side application». This work is devoted to the study of the Flux approach for state-managing of the client side of the application. Existing architectural approaches to client app development are discussed and analyzed in this work. The study of the Flux architecture has been conducted. A web-application has been designed and implemented, based on which the advantages of implementing the client part using Flux are considered. We have tested and analyzed two different implementations of the same frontend application which differ in the use of Flux libraries.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users SPbPU Read Print Download
-> Internet Anonymous

Table of Contents

  • ВВЕДЕНИЕ
  • ГЛАВА 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
    • 1.1. Современные способы построения клиентской части веб-приложений
    • 1.2. Основы архитектуры Flux
      • 1.2.1. Структура и поток данных
      • 1.2.2. Actions (Действия)
      • 1.2.3. Dispatcher (Диспетчер)
      • 1.2.4. Stores (Хранилища)
      • 1.2.5. View (Представление) и Controller view (Контроллер представления)
    • 1.3. Выводы
  • ГЛАВА 2. ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ
    • 2.1. Фреймворки для разработки клиентских приложений
      • 2.1.1. Фреймворк React
      • 2.1.2. Фреймворк Angular
    • 2.2. Обзор существующих библиотек для реализации Flux-архитектуры
      • 2.2.1. Библиотека Redux (React)
      • 2.2.2. Библиотеки Ng-redux, NGXS/store, NgRx и Akita (Angular)
        • 2.2.2.1. Ng-redux
        • 2.2.2.2. NGXS
        • 2.2.2.3. NgRx
        • 2.2.2.4. Akita
    • 2.3. Сравнительный анализ библиотек, реализующих Flux
      • 2.3.1. Количество доступных инструментов
      • 2.3.2. Файловая структура
      • 2.3.3. Порог вхождения
      • 2.3.4. Поддержка сообщества
      • 2.3.5. Зависимости и размер
      • 2.3.6. Итоги сравнительного анализа
    • 2.4. Выводы
  • ГЛАВА 3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
    • 3.1. Описание приложения
    • 3.2. Архитектура приложения
    • 3.3. Базовая реализация приложения
      • 3.3.1. Сервисы приложения
      • 3.3.2. Структурные модули приложения
      • 3.3.3. Функциональные модули приложения
    • 3.4. Реализация приложения с библиотекой Akita
      • 3.4.1. Создание хранилища
      • 3.4.2. Получение данных из хранилища компонентами
    • 3.5. Выводы
  • ГЛАВА 4. ТЕСТИРОВАНИЕ И АНАЛИЗ РЕАЛИЗАЦИЙ
    • 4.1. Анализ кода
    • 4.2. Сравнение производительности
      • 4.2.1. Сценарий для тестирования
      • 4.2.2. Производительность стандартной реализации
      • 4.2.3. Производительность реализации с Akita
    • 4.3. Выводы
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ
  • СПИСОК ТЕРМИНОВ
  • СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
  • Приложение 1
  • Приложение 2
  • Приложение 3
  • Приложение 4
  • Приложение 5
  • Приложение 6
  • Приложение 7
  • Приложение 8
  • Приложение 9
  • Приложение 10

Usage statistics

stat Access count: 90
Last 30 days: 0
Detailed usage statistics