Alustariippumaton arkkitehtuuri web- ja mobiilisovelluksille
Kunnamo, Tuomas (2018)
Kunnamo, Tuomas
2018
Tietotekniikka
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2018-06-06
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201805241853
https://urn.fi/URN:NBN:fi:tty-201805241853
Tiivistelmä
Alustariippumaton ohjelmistokehitys on houkuttelevaa ohjelmistoyrityksille ja niiden asiakkaille, koska sillä on mahdollista toteuttaa sama sovellus usealle eri alustalle pienemmillä kustannuksilla. Alustariippumattomuuden haasteita ovat alustojen erot ja yhden sovelluksen mukauttaminen eri alustoille.
Tässä työssä tutkittiin alustariippumatonta ohjelmistoarkkitehtuuria, jolla olisi mahdollista kehittää sovelluksia selain- ja älypuhelinalustoille yhtäaikaa. Tutkimus suoritettiin konstruktiivisena tutkimuksena toteuttamalla prototyyppisovellus käyttäen analysoitavaa alustariippumatonta arkkitehtuuria. Arkkitehtuurin soveltuvuuden arviointiin määritettiin seitsemän vaatimusta, joiden toteutumista pyrittiin todistamaan prototyyppisovelluksella. Tärkeimmät vaatimukset ovat selain- Android- ja iOS-alustojen tuki, koodin jakamisen maksimointi eri alustojen välillä ja käytettävyyden räätälöinti alustakohtaisesti.
Arkkitehtuurin, sekä sillä toteutetun prototyyppisovelluksen perustana ovat React Native-ohjelmistokehys ja React- ja Redux-kirjastot. Arkkitehtuurin rakenteen tärkeimmät osat ovat Reactin tarjoama käyttöliittymän komponenttimalli, sekä Reduxin tilanhallintamalli.
Toteutettu prototyyppisovellus osoitti, että arkkitehtuurilla on mahdollista toteuttaa alustariippumattomia sovelluksia. Asetetuista vaatimuksista toteutui neljä seitsemästä. Arkkitehtuuri on sovelias pienikokoisiin sovelluksiin, joiden käyttöliittymä halutaan räätälöidä eri alustoille. Arkkitehtuurin skaalautuminen suuriin projekteihin on vielä kyseenalainen. Arkkitehtuurin heikkouksina on sen riippuvaisuus käytetyistä teknologioista ja ulkoisten kirjastojen käytön pirstaloituminen eri alustoille.
Tässä työssä tutkittiin alustariippumatonta ohjelmistoarkkitehtuuria, jolla olisi mahdollista kehittää sovelluksia selain- ja älypuhelinalustoille yhtäaikaa. Tutkimus suoritettiin konstruktiivisena tutkimuksena toteuttamalla prototyyppisovellus käyttäen analysoitavaa alustariippumatonta arkkitehtuuria. Arkkitehtuurin soveltuvuuden arviointiin määritettiin seitsemän vaatimusta, joiden toteutumista pyrittiin todistamaan prototyyppisovelluksella. Tärkeimmät vaatimukset ovat selain- Android- ja iOS-alustojen tuki, koodin jakamisen maksimointi eri alustojen välillä ja käytettävyyden räätälöinti alustakohtaisesti.
Arkkitehtuurin, sekä sillä toteutetun prototyyppisovelluksen perustana ovat React Native-ohjelmistokehys ja React- ja Redux-kirjastot. Arkkitehtuurin rakenteen tärkeimmät osat ovat Reactin tarjoama käyttöliittymän komponenttimalli, sekä Reduxin tilanhallintamalli.
Toteutettu prototyyppisovellus osoitti, että arkkitehtuurilla on mahdollista toteuttaa alustariippumattomia sovelluksia. Asetetuista vaatimuksista toteutui neljä seitsemästä. Arkkitehtuuri on sovelias pienikokoisiin sovelluksiin, joiden käyttöliittymä halutaan räätälöidä eri alustoille. Arkkitehtuurin skaalautuminen suuriin projekteihin on vielä kyseenalainen. Arkkitehtuurin heikkouksina on sen riippuvaisuus käytetyistä teknologioista ja ulkoisten kirjastojen käytön pirstaloituminen eri alustoille.