Tilan hallinta React.js-verkkosovelluksessa
Tanninen, Jonne (2017)
Tanninen, Jonne
Tampereen ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017121821794
https://urn.fi/URN:NBN:fi:amk-2017121821794
Tiivistelmä
Tämän opinnäytetyön aiheena oli tilan hallinta React.js-verkkosovelluksessa. Tarve opinnäytetyölle syntyi tarpeesta löytää parhaita toimintatapoja tilan hallintaan. Työssä sivutaan myös verkkosovelluksia ja tilan hallintaa yleisesti.
Opinnäytetyön tavoitteena oli tutkia, miten tilan hallinta tulisi ottaa huomioon React.js-pohjaisen verkkosovelluksen suunnitteluvaiheessa. Lisäksi tutkittiin yleisiä ja poikkeuksellisen haastavia tilanteita tilan hallinnassa ja kartoitettiin parhaita toimintatapoja näiden ongelmien välttämiseksi ja ratkaisemiseksi. Opinnäytetyön tarkoituksena oli tarjota nämä toimintatavat lukijalle tapaus- ja koodiesimerkkien avulla. Työn toteutuksessa käytettäviä tutkimustyyppejä olivat tapaustutkimus ja konstruktiivinen tutkimus.
Tilan hallintaan vaikuttavat loogiset rakenteet ja käytetyt työkalut, sekä näiden pohjalta kirjoitettu koodi. Tässä työssä etsittiin näitä rakenteita ja vertailtiin työkaluja. Todettiin, että kaksi yleisintä tilan hallintaan käytettävää kirjastoa ovat varteenotettavia vaihtoehtoja riippuen kehittäjien mieltymyksistä, kokemuksesta ja sovelluksen vaatimuksista. Ihanteelliseksi komponenttirakenteeksi todettiin rakenne, jossa ylimmän tason komponentti on tilallinen ja muut komponentit pyritään pitämään tilattomana. Kehittäminen tämän ihanteellisen rakenteen pohjalta, kunnes havaitaan sen muuttuvan vaikeaksi tai työlääksi, havaittiin parhaaksi toimintatavaksi. Lisäksi löydettiin tapausesimerkit siitä, kuinka reittiä voidaan käyttää tilana ja kuinka modaali-ikkunoiden tilaa kannattaa hallita.
Parhaita toimintatapoja löydettiin kohtalaisesti. Näiden toimintatapojen noudattaminen havaittiin erittäin merkittäväksi sovelluksen jatkokehityksen helppoudelle. Jos työtä olisi jatkettu, olisi ollut hyödyllistä haastatella muita kehittäjiä ja kehitystiimejä. Näin olisi saatu lisää tapausesimerkkejä ja olisi voitu arvioida niiden yleisyyttä ja toistuvuutta.
Opinnäytetyön tavoitteena oli tutkia, miten tilan hallinta tulisi ottaa huomioon React.js-pohjaisen verkkosovelluksen suunnitteluvaiheessa. Lisäksi tutkittiin yleisiä ja poikkeuksellisen haastavia tilanteita tilan hallinnassa ja kartoitettiin parhaita toimintatapoja näiden ongelmien välttämiseksi ja ratkaisemiseksi. Opinnäytetyön tarkoituksena oli tarjota nämä toimintatavat lukijalle tapaus- ja koodiesimerkkien avulla. Työn toteutuksessa käytettäviä tutkimustyyppejä olivat tapaustutkimus ja konstruktiivinen tutkimus.
Tilan hallintaan vaikuttavat loogiset rakenteet ja käytetyt työkalut, sekä näiden pohjalta kirjoitettu koodi. Tässä työssä etsittiin näitä rakenteita ja vertailtiin työkaluja. Todettiin, että kaksi yleisintä tilan hallintaan käytettävää kirjastoa ovat varteenotettavia vaihtoehtoja riippuen kehittäjien mieltymyksistä, kokemuksesta ja sovelluksen vaatimuksista. Ihanteelliseksi komponenttirakenteeksi todettiin rakenne, jossa ylimmän tason komponentti on tilallinen ja muut komponentit pyritään pitämään tilattomana. Kehittäminen tämän ihanteellisen rakenteen pohjalta, kunnes havaitaan sen muuttuvan vaikeaksi tai työlääksi, havaittiin parhaaksi toimintatavaksi. Lisäksi löydettiin tapausesimerkit siitä, kuinka reittiä voidaan käyttää tilana ja kuinka modaali-ikkunoiden tilaa kannattaa hallita.
Parhaita toimintatapoja löydettiin kohtalaisesti. Näiden toimintatapojen noudattaminen havaittiin erittäin merkittäväksi sovelluksen jatkokehityksen helppoudelle. Jos työtä olisi jatkettu, olisi ollut hyödyllistä haastatella muita kehittäjiä ja kehitystiimejä. Näin olisi saatu lisää tapausesimerkkejä ja olisi voitu arvioida niiden yleisyyttä ja toistuvuutta.