Reitityksen edellyttämät muutokset ohjelmistossa
Kiviranta, Taneli (2023)
Kiviranta, Taneli
2023
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-2023052212787
https://urn.fi/URN:NBN:fi:amk-2023052212787
Tiivistelmä
Opinnäytetyössä kehitettiin toimeksiantajayritys Pinja Operational Excellence Oy:n Gema-järjestelmää. Tavoitteena oli muuttaa järjestelmää React-routerin versiopäivityksen asettamien vaatimusten mukaiseksi. Kehitysprojekti sisälsi suunnittelu- ja toteutusvaiheet ja muutokset toteutettiin työssä määriteltyjen parhaiden käytäntöjen mukaisesti.
Työssä tehdyt muutokset jakautuivat luokkakomponenttien muuntamisiin funktionaalisiksi komponenteiksi sekä reititysmuutoksiin. Työmäärältään suurempi osa toteutusta oli komponenttimuunnokset, jotka tehtiin React-routerin funktionaalisuusvaatimusten vuoksi. Työssä kategorisoitiin komponenttimuunnoksissa esiintyneitä rakenteita sekä kartoitettiin hook-funktiot, jotka soveltuivat parhaiten käytettäviksi kunkin rakennetyypin yhteydessä. Reitityksen keskeisimmät muutokset olivat Route-komponenttien päivitykset sekä selaimelta reitin välityksellä saatujen propsien korvaamiset hook-funktioilla.
Työ osoitti, että funktionaalisten komponenttien ja hook-funktioiden käyttö tekee koodista pääosin luettavampaa, yhtenäisempää ja tiiviimpää kuin luokkakomponenteilla toteutettuna. Projektin tavoitteiden saavuttaminen sekä koodin määrän lasku useilla prosenteilla kannustavat jatkamaan Gema-järjestelmän funktionaalista modernisointityötä myös jatkossa. Lisäksi tutkimuksessa syntyneitä tuloksia, kokemuksia ja tuotoksia voidaan suositella hyödynnettäviksi muissakin reitityspäivityksiin tai funktionaalisuuden lisäämiseen tähtäävissä React-projekteissa.
Työssä tehdyt muutokset jakautuivat luokkakomponenttien muuntamisiin funktionaalisiksi komponenteiksi sekä reititysmuutoksiin. Työmäärältään suurempi osa toteutusta oli komponenttimuunnokset, jotka tehtiin React-routerin funktionaalisuusvaatimusten vuoksi. Työssä kategorisoitiin komponenttimuunnoksissa esiintyneitä rakenteita sekä kartoitettiin hook-funktiot, jotka soveltuivat parhaiten käytettäviksi kunkin rakennetyypin yhteydessä. Reitityksen keskeisimmät muutokset olivat Route-komponenttien päivitykset sekä selaimelta reitin välityksellä saatujen propsien korvaamiset hook-funktioilla.
Työ osoitti, että funktionaalisten komponenttien ja hook-funktioiden käyttö tekee koodista pääosin luettavampaa, yhtenäisempää ja tiiviimpää kuin luokkakomponenteilla toteutettuna. Projektin tavoitteiden saavuttaminen sekä koodin määrän lasku useilla prosenteilla kannustavat jatkamaan Gema-järjestelmän funktionaalista modernisointityötä myös jatkossa. Lisäksi tutkimuksessa syntyneitä tuloksia, kokemuksia ja tuotoksia voidaan suositella hyödynnettäviksi muissakin reitityspäivityksiin tai funktionaalisuuden lisäämiseen tähtäävissä React-projekteissa.
