Flutter-ohjelmistokehyksen soveltuvuus uudelleenkäytettävän koodin kirjoitukseen
Ruonala, Mikael (2022)
Ruonala, Mikael
2022
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202205179890
https://urn.fi/URN:NBN:fi:amk-202205179890
Tiivistelmä
Insinöörityön tavoitteena oli edistää yrityksen sovelluskehitysprosessia vähentämällä saman koodin kirjoittamista toistuvasti tutkimalla uudelleenkäytettävän koodin kirjoitusta, sen hyötyjä ja ongelmia sekä Flutter-ohjelmistokehyksen soveltuvuutta uudelleenkäytettävän koodin kirjoitukseen. Työssä toteutettiin kokeellinen uudelleenkäytettävä sovelluskomponentti viestintää varten mobiililaitteille yrityksen olemassa olevaan komponenttikirjastoon. Sovelluskomponentin suunnittelu perustuu ajattelulle, jossa keskipisteenä ovat viestin ominaisuudet. Olipa kyseessä reaalimaailma tai sovellus, viestin ominaisuudet ovat hyvin samanlaisia. Viestintä päätettiin toteuttaa yleispätevän viestiluokan avulla, jolloin minkä tahansa sovelluksen viestiobjektit voitaisiin kääntää yleismallisen luokan objekteiksi. Näin viestintäkomponenttia voisi käyttää lähtökohtaisesti missä tahansa sovelluksessa. Haasteeksi komponentin kehittämisessä tuli se, miten sovelluksen ja komponentin vastuut jaettaisiin. Komponenttiin haluttiin mahdollisimman paljon valmista uudelleenkäytettävää koodia, niin että se olisi mahdollisimman pitkälle valmis käyttöönotettaessa. Kehitysvaiheessa komponentin vastuut jaettiin niin, että komponentissa olisi valmiina yleismalliset viesti- ja kontaktiluokat sekä valmis käyttöliittymä viestintää varten. Sovelluksen vastuulle jätettiin toimintalogiikka, jonka tarkoituksena on hyödyntää yleismallisia luokkia datan muodostamisessa ja välittää tarvittava data ja funktiot käyttöliittymälle. Työn perusteella huomattiin, että uudelleenkäytettävän koodin kirjoittaminen on haasteellisempaa ja hitaampaa kuin sovelluskohtaisen koodin kirjoitus. Komponentti oli vaikeampi ottaa käyttöön kuin alun perin ajateltiin. Se oli kuitenkin siinä määrin onnistunut, että se on helpompaa ottaa käyttöön kuin rakentaa uusi komponentti.