Managing application state and control flow using Redux and Redux-Saga in a web application
Kuparinen, Esa (2019)
Diplomityö
Kuparinen, Esa
2019
School of Engineering Science, Tietotekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2019102234257
https://urn.fi/URN:NBN:fi-fe2019102234257
Tiivistelmä
Redux is a JavaScript library for application state management. Redux-Saga is a Redux middleware library that aims to make application side effects easier to manage and test. The goal of this thesis is to design and implement a scalable software architecture solution using these two libraries. The architectural model describes the control flow in the system. Separation of concerns is achieved through a modular structure. Modeling the use cases of the system as sagas makes them more readable and supports automated testing. The practical implementation of the architecture is described through code listings. Redux on JavaScript-kirjasto sovelluksen tilan hallintaan. Redux-Saga on Redux-väliohjelmakirjasto, jonka tarkoituksena on tehdä sovelluksen sivuvaikutusten hallinnasta ja testaamisesta helpompaa. Tämän työn tavoitteena on suunnitella ja toteuttaa skaalautuva arkkitehtuuriratkaisu käyttäen näitä kahta kirjastoa. Arkkitehtuurimalli kuvaa kontrollin virtauksen järjestelmässä. Modulaarisen rakenteen avulla saavutetaan eri huolenaiheiden erottelu. Järjestelmän käyttötapausten mallintaminen sagoina tekee niistä luettavampia ja tukee automaattista testaamista. Arkkitehtuurin käytännön toteutus kuvataan koodikatkelmien avulla.