Angular-sovelluksen keskitetty tilanhallinta NgRx-kirjastolla
Sarlin, Santtu (2021)
Sarlin, Santtu
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202103193587
https://urn.fi/URN:NBN:fi:amk-202103193587
Tiivistelmä
Modernit verkkosovellukset ovat ajan kanssa kasvaneet yhä monipuolisemmiksi niiden korvatessa vanhat työpöytäsovellukset. Tutkimuksen toimeksiantaja Skillwell Oy kehittää asiakkailleen monipuolisia web-käyttöliittymiä sisältäviä SaaS-palveluita, käyttäen Angular- sovelluskehystä sekä NgRx-kirjastoa. NgRx-kirjasto ei ole ollut toimeksiantajalla käytössä pitkään, joten toimeksiantaja halusi lisää oppia ja ymmärrystä sen käytöstä.
Tutkimuksen tavoitteena oli tutkia verkkosovellusten tilanhallintaa yleisellä tasolla, sekä keskitetyn tilanhallinnan toteuttamista Angular-verkkosovelluksiin NgRx-kirjastoa hyödyntäen, sekä saavuttaa syvempää ymmärtämistä aihetta kohtaan. Tutkimuksessa tutkittiin toimeksiantajan kehittämiä verkkosovelluksia ja analysoitiin, kuinka niissä on NgRx:llä ratkaistu erilaisia tilanhallinnallisia ongelmia. Analysoitavat sovellukset ja kohteet päätettiin yhdessä toimeksiantajan kanssa.
Tutkimus toteutettiin kvalitatiivisena tutkimuksena. Siinä pyrittiin selvittämään, mistä Angular-verkkosovelluksen tila kokonaisuudessaan koostuu, sekä pyrittiin tutkimaan oikeita menetelmiä ja käytänteitä keskitetyn tilanhallinnan toteuttamisessa NgRx- kirjastolla.
Tutkimuksen tuloksena syntyi paljon tietoa verkkosovellusten tilanhallinnasta, sekä varmennus siitä että toimeksiantajan kehitysympäristössä on noudatettu oikeita käytänteitä tilanhallinnan kehityksessä.
Johtopäätös tutkimuksesta on, että globaali keskitetty tilanhallinta on laajoihin ja monimutkaisiin verkkosovelluskokonaisuuksiin hyvä ratkaisu. Sillä voidaan välttää kehitykseen liittyviä ongelmia ja helpottaa monipuolisten sovellusten kehitystä ja ylläpitoa. As time has gone by, modern web applications have grown to be complicated entities as they are replacing old desktop applications. Skillwell Oy, which is the assignor of this research develops diverse SaaS-services that contain web interfaces for web applications, using Angular framework and NgRx library. The assignor wanted to deepen the knowledge of NgRx and get a better understanding on the usage of the technology.
The goal of this research is to study state management in web applications on a general level and research the development of a centralized global state management store in Angular web applications utilizing the NgRx library, and also to achieve a deeper understanding and better knowledge on the subject. This research analyzed solutions of handling several state management problems and used web applications developed by the assignor as it’s analyzation material. Subjects to be analyzed was selected together with the assignor.
The research was completed as a qualitative research. The goal was to study, what makes up the web application state in an Angular web application, and to study the correct methods in developing a central state management with the NgRx library.
The outcome from this research developed a lot of new understanding and knowledge regarding state management in web applications, and a confirmation that the assignor has been following correct methods in development with NgRx.
The conclusion of the research is that for diverse and scaled projects a centralized global state management is a good solution. It can help avoid a lot of problems in web application development and make it easier to develop and maintain complicated applications.
Tutkimuksen tavoitteena oli tutkia verkkosovellusten tilanhallintaa yleisellä tasolla, sekä keskitetyn tilanhallinnan toteuttamista Angular-verkkosovelluksiin NgRx-kirjastoa hyödyntäen, sekä saavuttaa syvempää ymmärtämistä aihetta kohtaan. Tutkimuksessa tutkittiin toimeksiantajan kehittämiä verkkosovelluksia ja analysoitiin, kuinka niissä on NgRx:llä ratkaistu erilaisia tilanhallinnallisia ongelmia. Analysoitavat sovellukset ja kohteet päätettiin yhdessä toimeksiantajan kanssa.
Tutkimus toteutettiin kvalitatiivisena tutkimuksena. Siinä pyrittiin selvittämään, mistä Angular-verkkosovelluksen tila kokonaisuudessaan koostuu, sekä pyrittiin tutkimaan oikeita menetelmiä ja käytänteitä keskitetyn tilanhallinnan toteuttamisessa NgRx- kirjastolla.
Tutkimuksen tuloksena syntyi paljon tietoa verkkosovellusten tilanhallinnasta, sekä varmennus siitä että toimeksiantajan kehitysympäristössä on noudatettu oikeita käytänteitä tilanhallinnan kehityksessä.
Johtopäätös tutkimuksesta on, että globaali keskitetty tilanhallinta on laajoihin ja monimutkaisiin verkkosovelluskokonaisuuksiin hyvä ratkaisu. Sillä voidaan välttää kehitykseen liittyviä ongelmia ja helpottaa monipuolisten sovellusten kehitystä ja ylläpitoa.
The goal of this research is to study state management in web applications on a general level and research the development of a centralized global state management store in Angular web applications utilizing the NgRx library, and also to achieve a deeper understanding and better knowledge on the subject. This research analyzed solutions of handling several state management problems and used web applications developed by the assignor as it’s analyzation material. Subjects to be analyzed was selected together with the assignor.
The research was completed as a qualitative research. The goal was to study, what makes up the web application state in an Angular web application, and to study the correct methods in developing a central state management with the NgRx library.
The outcome from this research developed a lot of new understanding and knowledge regarding state management in web applications, and a confirmation that the assignor has been following correct methods in development with NgRx.
The conclusion of the research is that for diverse and scaled projects a centralized global state management is a good solution. It can help avoid a lot of problems in web application development and make it easier to develop and maintain complicated applications.