Progressiivisten web-sovellusten soveltuvuus korvaamaan mobiilisovellukset
Jarsma, Minna (2021)
Jarsma, Minna
2021
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
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-04-28
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202103082449
https://urn.fi/URN:NBN:fi:tuni-202103082449
Tiivistelmä
Mobiilisovellusten etuina ovat olleet asennettavuus mobiililaitteelle sekä pääsy sen laitteistoon, kuten kameraan. Tavanomaisesti on toteutettu erikseen web-sovellus selaimia varten ja mobiilisovellus mobiilikäyttöä varten. Web-selainten rajapintojen kehittymisen myötä web-sovelluksien mahdollisuudet ovat lähestyneet natiivisovelluksia: selaimet voivat hyödyntää muun muassa laitteen kameraa ja mikrofonia sekä lukea käyttäjän sijainnin. Progressiivisten web-sovellusten ansiosta yhdellä koodipohjalla voidaan toteuttaa sovellus, joka toimii saumattomasti sekä perinteisessä selainnäkymässä että laitteelle asennettuna. Asennettuna versiona web-sovellus vastaa käyttökokemukseltaan natiivisovellusta.
Tämän työn tavoitteena oli tutkia, voidaanko mobiilisovellus korvata progressiivisella web-sovelluksella. Ensin määriteltiin vaatimukset, jotka täyttämällä progressiivinen web-sovellus olisi varteenotettava vaihtoehto mobiilisovellukselle. Vaatimukset koostuivat kuvitteellisen kohdeyrityksen asettamista vaatimuksista sekä progressiivisia web-sovelluksia koskevista vaatimuksista. Kohdeyrityksen vaatimusten perusteella oli tarpeen toteuttaa sovellus, jonka avulla voitiin hallinnoida huoltokäyntejä. Vaatimusten perusteella määriteltiin toteutettava web-sovellus sekä sen tarvitsema palvelinpuolen sovellus ja tietokanta.
Määrittelyn perusteella työssä toteutettiin progressiivinen web-sovellus Reactilla. Palvelinpuolella hallinnoitiin web-sovelluksen tarvitsemia tietoja sekä lähetettiin push-ilmoituksia. Toteutettu prototyyppisovellus täytti kaikki progressiivisia web-sovelluksia koskevat vaatimukset sekä lähes kaikki kohdeyrityksen asettamista vaatimuksista. Yksi täyttämättä jääneistä vaatimuksista olivat push-ilmoitukset, joita mobiiliselain Safari ei tue. Safarin markkinaosuus sekä puuttuvien push-ilmoitusten merkittävyys osoitti, että mobiilisovellusta ei voida korvata progressiivisella web-sovelluksella. Jatkokehitystä varten tulisi selvittää, onko Safaria varten olemassa vaihtoehtoa push-ilmoituksille. Lisäksi mobiiliselainten lukumäärä ja tuettujen rajapintojen vaihtelevuus tuottaa haasteita web-sovellusten kehityksessä.
Tämän työn tavoitteena oli tutkia, voidaanko mobiilisovellus korvata progressiivisella web-sovelluksella. Ensin määriteltiin vaatimukset, jotka täyttämällä progressiivinen web-sovellus olisi varteenotettava vaihtoehto mobiilisovellukselle. Vaatimukset koostuivat kuvitteellisen kohdeyrityksen asettamista vaatimuksista sekä progressiivisia web-sovelluksia koskevista vaatimuksista. Kohdeyrityksen vaatimusten perusteella oli tarpeen toteuttaa sovellus, jonka avulla voitiin hallinnoida huoltokäyntejä. Vaatimusten perusteella määriteltiin toteutettava web-sovellus sekä sen tarvitsema palvelinpuolen sovellus ja tietokanta.
Määrittelyn perusteella työssä toteutettiin progressiivinen web-sovellus Reactilla. Palvelinpuolella hallinnoitiin web-sovelluksen tarvitsemia tietoja sekä lähetettiin push-ilmoituksia. Toteutettu prototyyppisovellus täytti kaikki progressiivisia web-sovelluksia koskevat vaatimukset sekä lähes kaikki kohdeyrityksen asettamista vaatimuksista. Yksi täyttämättä jääneistä vaatimuksista olivat push-ilmoitukset, joita mobiiliselain Safari ei tue. Safarin markkinaosuus sekä puuttuvien push-ilmoitusten merkittävyys osoitti, että mobiilisovellusta ei voida korvata progressiivisella web-sovelluksella. Jatkokehitystä varten tulisi selvittää, onko Safaria varten olemassa vaihtoehtoa push-ilmoituksille. Lisäksi mobiiliselainten lukumäärä ja tuettujen rajapintojen vaihtelevuus tuottaa haasteita web-sovellusten kehityksessä.