Theseus käyttökatko ma 22.4. klo 12 alkaen. Katko jatkuu 22.4. klo 15 asti ja on koko Theseuksen laajuinen. Lisäksi töiden käsittely ja syöttö on estetty ti 23.4. ainakin klo 12 asti. Theseus service break from Mon 22.4. at 12:00. The break will last until 15:00 on Mon 22.4. and is Theseus-wide. In addition, processing and uploading of work will be blocked until at least 12:00 on Tue 23.4.
Storybook osana komponenttilähtöistä kehitystä
Tanttu, Tero (2019)
Tanttu, Tero
2019
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-2019113023526
https://urn.fi/URN:NBN:fi:amk-2019113023526
Tiivistelmä
Tämän opinnäytetyön päämääränä on tutkia komponenttilähtöisen kehityksen ominaisuuksia ohjelmistokehityksessä Storybook-työkalua käyttäen React -projektissa. Työ on osa toimeksiantajan tavoitetta löytää uusia toimivia työskentelytapoja ja työkaluja omaan komponenttikehityksensä tueksi, erityisesti heidän omaan ObSAS 2.0 -projektiin, joka on käyttöliittymäluontityökalu. Tämä nopeuttaisi uusien komponenttien kehitystyötä säilyttäen komponenttien eheyden ja mahdollistaisi niiden paremman dokumentoimisen ja uudelleenkäytön.
Opinnäytetyöraportin teoriaosuudessa käydään läpi komponenttilähtöisen kehityksen perusperiaatteita ja toimintotapoja sekä, mikä komponentti on ohjelmistokehityksessä. Tämän lisäksi käydään läpi Reactin ja sen eri komponenttien ominaisuuksia sekä tapoja, miten komponentteja voidaan kehittää ja missä tilanteissa eri kehitystavat toimivat esimerkein. Viimeisenä esitellään Storybook ja sen toiminnallisuus teoreettisesti. Raportin käytännön osuudessa esitellään Storybookin toiminta tarkemmin. Siinä rakennetaan ja asennetaan halutunlaisilla lisäominaisuuksia Storybook-työskentely-ympäristö ObSAS 2.0 -projektiin. Lopulta käydään läpi projektin yhden esimerkkikomponentin avulla Storybookin haluttua toiminnallisuutta edellä mainitussa projektissa.
Työn erityisenä haasteena on löytää tapa, jolla yhdistetään ObSAS 2.0 -projektin ja sen komponenttien, joilla on erityisen vahva riippuvuus Redux-ympäristöön, osaksi Storybook-työskentely-ympäristöä. Myös halutunlaisen jäljittelytiedon saaminen Storybook-kehitystä varten sekä kehittäjien vaihtelevat kehitystavat komponenttien kehityksen ovat tuottaneet ongelmia projektissa.
Lopputuloksena saadaan kohtuu hyvin toimeksiantajan tarpeisiin sopiva kehitysympäristö, joka täyttää annetut tavoitteet, vaikkakin täydellinen se ei ole. Se tuo esiin erityisesti ne ongelmakohdat, jotka vaativat vielä jatkokehitystä ja jotka on otettu tämän takia osaksi toimeksiantajan kehitystavoitteita.
Opinnäytetyöraportin teoriaosuudessa käydään läpi komponenttilähtöisen kehityksen perusperiaatteita ja toimintotapoja sekä, mikä komponentti on ohjelmistokehityksessä. Tämän lisäksi käydään läpi Reactin ja sen eri komponenttien ominaisuuksia sekä tapoja, miten komponentteja voidaan kehittää ja missä tilanteissa eri kehitystavat toimivat esimerkein. Viimeisenä esitellään Storybook ja sen toiminnallisuus teoreettisesti. Raportin käytännön osuudessa esitellään Storybookin toiminta tarkemmin. Siinä rakennetaan ja asennetaan halutunlaisilla lisäominaisuuksia Storybook-työskentely-ympäristö ObSAS 2.0 -projektiin. Lopulta käydään läpi projektin yhden esimerkkikomponentin avulla Storybookin haluttua toiminnallisuutta edellä mainitussa projektissa.
Työn erityisenä haasteena on löytää tapa, jolla yhdistetään ObSAS 2.0 -projektin ja sen komponenttien, joilla on erityisen vahva riippuvuus Redux-ympäristöön, osaksi Storybook-työskentely-ympäristöä. Myös halutunlaisen jäljittelytiedon saaminen Storybook-kehitystä varten sekä kehittäjien vaihtelevat kehitystavat komponenttien kehityksen ovat tuottaneet ongelmia projektissa.
Lopputuloksena saadaan kohtuu hyvin toimeksiantajan tarpeisiin sopiva kehitysympäristö, joka täyttää annetut tavoitteet, vaikkakin täydellinen se ei ole. Se tuo esiin erityisesti ne ongelmakohdat, jotka vaativat vielä jatkokehitystä ja jotka on otettu tämän takia osaksi toimeksiantajan kehitystavoitteita.