Alustariippumattomat sovelluskehykset Android-sovelluskehityksessä
Kaarakainen, Anton (2021)
Kaarakainen, Anton
2021
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
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ä
2021-05-14
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202105034259
https://urn.fi/URN:NBN:fi:tuni-202105034259
Tiivistelmä
Mobiilialustoille sovelluksia kehitettäessä on perinteisesti jouduttu toteuttamaan jokaisen alustan sovellus kunkin alustan natiiveilla teknologioilla. Alalla on kuitenkin pyrkimys siirtyä käyttämään alustariippumattomia ratkaisuja, joissa samaa ohjelmakoodia voidaan hyödyntää useamman alustan sovelluksessa. Yleensä eri alustojen käyttämät teknologiat poikkeavat toisistaan, jolloin yhden ohjelmiston kehittäminen usealle alustalle on hyvin resurssi-intensiivistä. Ratkaisuksi on kehitetty erilaisia sovelluskehyksiä (engl. frameworks) ja kirjastoja, joiden avulla yksi ohjelmistoprojekti voi tuottaa sovelluksen, joka toimii usealla eri järjestelmällä. Usein tuettuina järjestelminä ovat paitsi Android ja iOS, myös muut alustat, kuten erilaiset älytelevisiot. Web-teknologioita hyödyntämällä saadaan kehitettyä yksi sovellus käytännössä kaikille nykyaikaisia selainteknologioita hyödyntäville järjestelmille.
Tässä työssä tutustutaan Android-sovelluskehitykseen liittyviin sovelluskehyksiin, jaotellaan niitä kategorioihin ja verrataan niitä sekä natiivikehitykseen, että toisiinsa. Tarkoituksena on selvittää millaisia etuja ja haittoja sovelluskehysten hyödyntämiseen liittyy. Vertailtavia osa-alueita ovat sovelluskehityksen kustannukset, sovelluksen suorituskyky, käyttäjäkokemus, tietoturva ja sovelluksen jakeluun liittyvät seikat. Sovelluskehyksillä kehitettävät sovellustyypit on jaettu viiteen kategoriaan: perinteisiin web-sovelluksiin, hybridisovelluksiin, progressiivisiin web-sovelluksiin, tulkattuihin sovelluksiin ja käännettyihin sovelluksiin.
Työssä todetaan, että alustariippumattomia sovelluskehyksiä hyödyntävät sovellukset eivät yleisesti yllä samalle laatutasolle natiivisovellusten kanssa suorituskyvyn tai käyttäjäkokemuksen osalta. Myös laitteisto-ominaisuuksien tuki vaihtelee suuresti eri teknologioiden välillä. Alustariippumattomien ratkaisuiden suurimmat hyödyt liittyvät sovelluskehityksen nopeutumiseen ja ketteryysetuihin, sekä niiden kautta saavutettaviin kustannusetuihin. Uudet sovelluskehykset ovat myös jatkuvassa kehityksessä, mikä voi aiheuttaa odottamattomia ongelmia sovelluskehitysprosessissa. Sovelluskehysten käyttöä kannattaa harkita tapauskohtaisesti ja oikeiden teknologioiden valintaan on hyvä kiinnittää huomiota.
Tässä työssä tutustutaan Android-sovelluskehitykseen liittyviin sovelluskehyksiin, jaotellaan niitä kategorioihin ja verrataan niitä sekä natiivikehitykseen, että toisiinsa. Tarkoituksena on selvittää millaisia etuja ja haittoja sovelluskehysten hyödyntämiseen liittyy. Vertailtavia osa-alueita ovat sovelluskehityksen kustannukset, sovelluksen suorituskyky, käyttäjäkokemus, tietoturva ja sovelluksen jakeluun liittyvät seikat. Sovelluskehyksillä kehitettävät sovellustyypit on jaettu viiteen kategoriaan: perinteisiin web-sovelluksiin, hybridisovelluksiin, progressiivisiin web-sovelluksiin, tulkattuihin sovelluksiin ja käännettyihin sovelluksiin.
Työssä todetaan, että alustariippumattomia sovelluskehyksiä hyödyntävät sovellukset eivät yleisesti yllä samalle laatutasolle natiivisovellusten kanssa suorituskyvyn tai käyttäjäkokemuksen osalta. Myös laitteisto-ominaisuuksien tuki vaihtelee suuresti eri teknologioiden välillä. Alustariippumattomien ratkaisuiden suurimmat hyödyt liittyvät sovelluskehityksen nopeutumiseen ja ketteryysetuihin, sekä niiden kautta saavutettaviin kustannusetuihin. Uudet sovelluskehykset ovat myös jatkuvassa kehityksessä, mikä voi aiheuttaa odottamattomia ongelmia sovelluskehitysprosessissa. Sovelluskehysten käyttöä kannattaa harkita tapauskohtaisesti ja oikeiden teknologioiden valintaan on hyvä kiinnittää huomiota.
Kokoelmat
- Kandidaatintutkielmat [9203]