Mobiilisovelluksen ylläpidosta

Tällä kertaa turistaan mobiilikehitykseen liittyviä asioita.

Sovellus-ekosysteemien kehitys

Mobiilikehityksen maailmassa asiat menevät eteenpäin melkoista vauhtia, vaikka se ei välttämättä tavalliselle sovellusten käyttäjälle niin erityisesti näkyisikään. Sovelluskehittäjän on oltava jatkuvasti ajan tasalla, sillä Google ja Apple tuovat omalta osaltaan jatkuvasti uusia vaatimuksia ja toisaalta myös mahdollisuuksia sovelluskehittäjille. Esimerkkeinä viime vuosilta mainittakoon mm.

  • Androidin Google Playn kautta tehtävä sovelluspaketin allekirjoittaminen
  • Android 64 bittisen paketin vaatimus sovelluskaupan julkaisuille
  • Androidin sovelluspaketin uusi bundle formaatti .apk formaatin tilalle
  • Apple on tiukentanut katselmointikäytäntöjä. Esimerkiksi pelkkä videoesittely sovelluksesta ei enään riitä, vaikka vielä muuutama vuosi se katsottiin riittäväksi. On pakko antaa Applelle tunnukset sovellukseen kirjautumiseen, jotta Apple voi tutustua sovellukseen ennen julkaisua
  • Sovellusten käyttöoikeuksiin liittyvät käytännöt elävät koko ajan. Androidilla käyttöoikeuksien tarkastelu riippuu osittain Andoid-versiosta, Apple vaatii silloin tällöin uusia selitetekstejä erilaisille käyttöoikeuksille.
  • Tietyt käytännöt ja tekniikat vanhentuvat ja ne pitää poistaa käytöstä ja korvata uusilla. Vanhentuneen käytännön tai komponentin käyttäjä saattaa yllättyä siitä, että sovellukselle ei voikaan enään julkaista uutta versiota jos käyttää vanhentunutta käytäntöä tai teknologiaa. Esimerkiksi iOS -puolella WebView komponentin käyttö on vanhentumassa lähiaikoina ja se on korvattava sovelluksessa UIWebView komponentilla
  • Google lopetti suoran Google Analytics -yhteyden tukemisen mobiilista 31.10.2019. Sen jälkeen sovellus, joka kirjaa analytiikkaa Google Analytics -integraatiolla, ei enää kerää analytiikkaa vaan sovelluksen on siirryttävä käyttämään esim. Googlen Firebase -integraatiota analytiikan lähettämiseen.

Mobiililaitteiden käyttöjärjestelmien kehitys

Mobiilikäyttöjärjestelmät itsessään päivittyvät säännöllisesti ja uudet versiot tuovat uudenlaisia ominaisuuksia, joista kehittäjän on hyvä olla ajan tasalla. Sovelluksen kehittäjän pitää tehdä päätös, kuinka vanhoja käyttöjärjestelmän versioita sovellus tukee. Esimerkiksi Android 4.0 käyttäjät alkavat olla jo niin harvinaisia että tuen voi pudottaa pois mutta Android 5.0 käyttäjiä puolestaan on vielä jonkin verran.

Laitteiden kehittyminen

Myös laitteiden fyysiset ominaisuudet kehittyvät. Kukapa olisi vuosia sitten voinut aavistaa, että joskus puhelimen näytön yläosassa voisi olla ns. notch, joka peittää osan näytöstä. Näyttöjen koot ovat kasvaneet. Kehittäjän tehtävä on varmistaa, että sovellus näyttää hyvältä kaikilla laitteilla.

Sääntely ja lainsäädäntö

Omat haasteensa sovelluksen elinkaareen tuovat varsinkin erilaiset maksamiseen liittyvät sääntelyn muutokset. Esimerkiksi TUPAS -pankkikirjautuminen vanhentui periaatteessa 1.10.2019 ja se pitää korvata uudella tunnistautumisratkaisulla. PSD2 standardi puolestaan vaatii, että jatkossa mobiilisovellus ei enää voi tehdä veloituksia luottokortilta ilman että vahva tunnistautuminen on tuettuna.

Tekninen kehitys ohjelmointiympäristöissä

Myös itse ohjelmointiympäristöt kehittyvät koko ajan. Sovelluksen ylläpitoon liittyy oleellisena osana sovelluksen koodipohjan pitäminen riittävän tuoreena myös siltä osin.

React Native -hydridisovelluksen päivittämisessä on joskus haasteena löytää oikea yhdistelmä sovelluksen komponenteista, jotka toimivat hyvin yhteen. Kunkin komponentin osalta on varmistettava erikseen, toimiiko se varmasti juuri tämän React Native -version kanssa, jota sovelluksessa käytetään. Käytännössä siis React Native -version nosto tarkoittaa sitä että sovellus on testattava kokonaisuutena huolellisesti ennen päivitysversion julkaisua.

Muuta

Toimintaympäristössä saattaa tapahtua myös jotain odottamatonta, johon sovelluksen kehittäjä joutuu reagoimaan.

Onpa tänä vuonna 2019 ollut ilmassa sellaistakin, että Huawei-merkkisiin Android-puhelimiin ei voisikaan enää jatkossa jaella sovellusta Googlen sovelluskaupan kautta. Sovelluksen julkaisija joutuu siis pohtimaan, haluaako nähdä vaivaa ja julkaista sovelluksensa myös Huawein omassa sovelluskaupassa.

Yhteenveto

Kaikki edellä mainitut asiat vaikuttavat siten, että mobiilisovelluksen ylläpidossa on pysyttävä hereillä. Mitä kauemmin antaa teknistä velkaa syntyä, sitä haastavampia päivityksiä voi joutua tekemään ja joskus tiukallakin aikataululla.

Päivitykset voivat olla haastaviakin. Esimerkiksi PSD2-tuen eli maksamisen vahvan tunnistamisen toteuttaminen sovellukseen voi tarkoittaa sovelluksen maksamisen uudistamista ihan täysin.

Yhteenvetona voidaan todeta, että mobiilikehittäjän on seurattava tarkasti Android- ja iOS-käyttöjärjestelmien ympärillä tapahtuvaa teknistä kehitystä: kansallisen maksusääntelyn, mobiililaitteiden, mobiilikäyttöjärjestelmien ja koko mobiiliekosysteemin tapahtumista on syytä olla perillä.