{"id":1979,"date":"2019-04-24T07:36:20","date_gmt":"2019-04-24T04:36:20","guid":{"rendered":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/?p=1979"},"modified":"2019-04-24T07:36:20","modified_gmt":"2019-04-24T04:36:20","slug":"digitaalista-etaisyyksien-hallintaa-kokemuksia-mobiilisovellusten-kehittamisesta-lapin-amkn-projekteissa","status":"publish","type":"post","link":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/2019\/04\/24\/digitaalista-etaisyyksien-hallintaa-kokemuksia-mobiilisovellusten-kehittamisesta-lapin-amkn-projekteissa\/","title":{"rendered":"Digitaalista et\u00e4isyyksien hallintaa: Kokemuksia mobiilisovellusten kehitt\u00e4misest\u00e4 Lapin AMK:n projekteissa"},"content":{"rendered":"<p style=\"text-align: right\"><a href=\"http:\/\/www.lapinamk.fi\/loader.aspx?id=5a247e53-cbf9-41ce-8d61-e63a36b99e22\">Lataa PDF-tiedosto<\/a><\/p>\n<p><em>Tuomas Valtanen, insin\u00f6\u00f6ri (ylempi AMK), projektip\u00e4\u00e4llikk\u00f6, Arktiset luonnonvarat ja talous, Digitaaliset ratkaisut, ohjelmistotekniikan laboratorio pLAB, Lapin ammattikorkeakoulu<\/em><\/p>\n<p><em>Juhani Kuru, insin\u00f6\u00f6ri (AMK), projekti-insin\u00f6\u00f6ri, Arktiset luonnonvarat ja talous, Digitaaliset ratkaisut, ohjelmistotekniikan laboratorio pLAB, Lapin ammattikorkeakoulu<\/em><\/p>\n<p><em>Mikko Pallas, insin\u00f6\u00f6ri (AMK), projekti-insin\u00f6\u00f6ri, Arktiset luonnonvarat ja talous, Digitaaliset ratkaisut, ohjelmistotekniikan laboratorio pLAB, Lapin ammattikorkeakoulu<\/em><\/p>\n<p><em>Mikko Pajula, tieto- ja viestint\u00e4tekniikan opiskelija, projektity\u00f6ntekij\u00e4, Arktiset luonnonvarat ja talous, Digitaaliset ratkaisut, ohjelmistotekniikan laboratorio pLAB, Lapin ammattikorkeakoulu<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>Mobiilisovellusten m\u00e4\u00e4r\u00e4 ja kysynt\u00e4 on ollut jatkuvassa kasvussa jo useiden vuosien ajan (MindSea 2018). Samasta syyst\u00e4 niiden kysynt\u00e4 on kasvanut tasaisesti my\u00f6s Lapin AMK:ssa ohjelmistotekniikan laboratorio pLABin projekteissa. T\u00e4llaisia projekteja ovat olleet esimerkiksi Mets\u00e4inen Innostaa, MTI Match, LuontoRovaniemi, Hilumi 3D, ArkTori, Dwell sek\u00e4 Yrityst\u00e4 peliss\u00e4 -hankkeet. Kehitetyt mobiilisovellukset ovat sis\u00e4lt\u00e4neet mm. mobiililuontopolkuja, osaamisen kehitt\u00e4misen ty\u00f6kaluja, yhteis\u00f6llisyytt\u00e4 edist\u00e4vi\u00e4 ominaisuuksia sek\u00e4 visualisointeja. Yleens\u00e4 lopputuloksena on Android-sovellus, koska Androidin markkinaosuus \u00e4lylaitteissa on yli 85% (IDC 2018).\u00a0 Joissain tapauksissa vastaava mobiilisovellus on tehty my\u00f6s iOS:lle (iPhone\/iPad).<\/p>\n<p>Mobiilisovellustarpeiden lis\u00e4\u00e4ntyess\u00e4 on hyv\u00e4 tiet\u00e4\u00e4, miten mobiilisovelluksen kehitt\u00e4minen eroaa tyypillisen web-sovelluksen kehitt\u00e4misest\u00e4. Mobiilisovelluksen budjetti suunnitellaan projekteissa usein samalla kaavalla kuin tavanomaisissa web-sovelluksissa, mik\u00e4 voi tuoda suuria haasteita hankkeen toteutuksessa. T\u00e4ss\u00e4 artikkelissa viitataan p\u00e4\u00e4s\u00e4\u00e4nt\u00f6isesti Mobiilisti mets\u00e4\u00e4n- ja Mets\u00e4inen innostaa\u2013hankkeissa kehitettyyn Mets\u00e4inen\u2013mobiilisovellukseen, sek\u00e4 sen kehitysty\u00f6ss\u00e4 esille nousseisiin haasteisiin. Pohdimme samalla my\u00f6s sit\u00e4, mit\u00e4 tulisi ottaa huomioon uusia mobiilisovellusprojekteja suunnitellessa.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1957\" src=\"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/files\/2019\/04\/Kuva-1-Vatanen-T-600x252.jpg\" alt=\"\" width=\"600\" height=\"252\" srcset=\"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/files\/2019\/04\/Kuva-1-Vatanen-T-600x252.jpg 600w, https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/files\/2019\/04\/Kuva-1-Vatanen-T-110x46.jpg 110w, https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/files\/2019\/04\/Kuva-1-Vatanen-T.jpg 1050w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Kuva 1. Kuvakaappauksia Mets\u00e4inen \u2013mobiilisovelluksesta (Android)<\/p>\n<p>&nbsp;<\/p>\n<h2>Vertailukohteena web-sovellukset<\/h2>\n<p>Lapin AMK:n projekteissa mobiilisovelluksen rooli on usein toimia er\u00e4\u00e4nlaisena modernina vaihtoehtona web-sovellukselle. Mobiilisovelluksen etu on sen mobiiliudessa \u2013 \u00e4lypuhelin on l\u00e4hes aina k\u00e4ytt\u00e4j\u00e4n mukana, ja esimerkiksi k\u00e4ytt\u00e4j\u00e4n sijaintia ja kameraa voidaan hy\u00f6dynt\u00e4\u00e4 mobiilisovelluksessa luovemmin kuin perinteisess\u00e4 web-sovelluksessa (Summerfield 2019). Vaikka k\u00e4ytt\u00f6tarkoitus voi molemmissa olla sama, on mobiilikehitys monelta osin erilaista web-kehitykseen verrattuna.<\/p>\n<p>Web-sovellusten taustalla olevat tekniikat ovat vanhempia ja kypsempi\u00e4 kuin mobiilisovelluksissa. Web-sovellusten nousukautena voitaneen pit\u00e4\u00e4 90-luvun loppupuolta, kun taas modernit \u00e4lypuhelimet ovat yleistyneet vasta 2010-luvulla. Mm. t\u00e4m\u00e4n vuoksi mobiilitekniikat kehittyv\u00e4t t\u00e4ll\u00e4 hetkell\u00e4 nopeammin kuin web-tekniikat. Osaamisen n\u00e4k\u00f6kulmasta t\u00e4m\u00e4 on haastavaa, sill\u00e4 mobiiliosaaminen vanhenee nopeasti ja valmiita mobiilisovelluksia pit\u00e4\u00e4 yleens\u00e4 s\u00e4\u00e4nn\u00f6llisesti korjata. Web-sovelluksetkin vaativat s\u00e4\u00e4nn\u00f6llist\u00e4 yll\u00e4pitoa, mutta ne voivat pysy\u00e4 k\u00e4ytt\u00f6kunnossa vuosiakin vain pienell\u00e4 yll\u00e4pidolla. (DDI Development 2015; Bouwkamp 2016; de Looper 2018; Khan 2018a; Saeed 2018; Costello 2019; Goel 2019.)<\/p>\n<p>Lapin AMK:n projekteissa toteutetaan yleens\u00e4 joko perinteinen tietokoneella k\u00e4ytett\u00e4v\u00e4 web-sovellus tai erillinen mobiilisovellus. Toisaalta projektien web-sovelluksissa on vain harvoin erityisvaatimuksena mobiiliyhteensopiva k\u00e4ytt\u00f6liittym\u00e4. Mobiiliyhteensopivan web-sovelluksen toteuttaminen ei tyypillisiss\u00e4 projekteissa vaadi yleens\u00e4 suurta lis\u00e4resurssia, vaan se voi olla teht\u00e4viss\u00e4 jopa reilun viikon ty\u00f6panoksella. Jos projektissa on tarkoituksena ensisijaisesti vain jakaa k\u00e4tev\u00e4sti tietoa, voi mobiiliyhteensopiva web-sovellus olla kustannustehokkaampi vaihtoehto mobiilisovellukselle. \u00a0Poikkeuksena t\u00e4h\u00e4n on mobiili- ja ty\u00f6p\u00f6yt\u00e4sovellusta matkivat web-sovellukset, joiden kehitt\u00e4minen vaatii yleens\u00e4 suuremman ty\u00f6panoksen verrattuna pelkk\u00e4\u00e4n mobiiliyhteensopivuuteen. (LinkAssistant 2019.)<\/p>\n<p>&nbsp;<\/p>\n<h2>Mobiilisovellusten kehitt\u00e4minen projekteissa<\/h2>\n<p>Viimeaikaisten projektien perusteella mobiilisovellusten kehitt\u00e4minen vaatii enemm\u00e4n ty\u00f6aikaa kuin ominaisuuksiltaan vastaava web-sovellus. Ty\u00f6aikaa kuluu erityisesti kehitett\u00e4v\u00e4n \u00a0mobiilisovelluksen testaamiseen. Esimerkiksi Androidissa on eritt\u00e4in suuri ja vaihteleva aktiivinen laitekanta, jossa eri valmistajia, malleja sek\u00e4 ohjelmistoversioita on k\u00e4yt\u00f6ss\u00e4 useita erilaisia. Erot eri laitteiden v\u00e4lill\u00e4 voi olla suuriakin, joista osa k\u00e4sittelee puhelimen kameraa, antureita, virrank\u00e4ytt\u00f6\u00e4 sek\u00e4 k\u00e4ytt\u00f6liittym\u00e4\u00e4 eri tavoilla. Pahimmissa tapauksissa osa mobiilisovelluksen ominaisuuksista pit\u00e4\u00e4 ohjelmoida ja testata useaan kertaan, jotta toimivuus eri puhelimissa voidaan taata. (ks. Gilmore 2018)<\/p>\n<p>iOS\u2013sovelluksissa laitekanta on pieni, koska niiden ainut valmistaja on Apple. Toisaalta pieni markkinaosuus tuo mukanaan my\u00f6s sen, ett\u00e4 erikoisemmat ominaisuudet ja visuaaliset efektit voivat olla ty\u00f6l\u00e4it\u00e4 toteuttaa, koska niihin ei l\u00f6ydy aina valmiita ratkaisuja. Androidissa valmiin avun l\u00f6ytyminen on todenn\u00e4k\u00f6isemp\u00e4\u00e4 suuremman markkinaosuuden ja kehitt\u00e4j\u00e4yhteis\u00f6n vuoksi. (ks. Averyanov 2017; MindSea 2018.)<\/p>\n<p>Mit\u00e4 vanhempia mobiililaitteita halutaan tukea, sit\u00e4 enemm\u00e4n ohjelmoitavaa ja testattavaa kehitysvaiheessa on.\u00a0 Jopa pelkk\u00e4 n\u00e4yt\u00f6n k\u00e4\u00e4nt\u00e4minen mobiilisovelluksessa voi aiheuttaa korjaustarpeita johtuen tavasta, jolla \u00e4lylaitteet k\u00e4sittelev\u00e4t sovellusten tuottamaa kuormitusta. Erityisesti puhelimen sijaintia (GPS) hy\u00f6dynt\u00e4v\u00e4t sovellukset ovat ty\u00f6l\u00e4it\u00e4 toteuttaa, koska niiden testaaminen pit\u00e4\u00e4 suurilta osin tehd\u00e4 ulkotiloissa, mik\u00e4 kuluttaa ty\u00f6resurssia ongelmatilanteissa runsaasti. \u00a0Pahimmassa tapauksessa korjaamattomat ongelmat aiheuttavat sen, ett\u00e4 mobiilisovellus hidastaa jatkuvasti puhelinta k\u00e4ytt\u00e4j\u00e4n tiet\u00e4m\u00e4tt\u00e4. \u00a0Kaiken kaikkiaan mobiilisovelluksen tarvitsema testausty\u00f6panos on yleens\u00e4 moninkertainen verrattuna web-sovellukseen. (ks. Gilmore 2018; Roy 2019).<\/p>\n<p>Toinen suuri haaste mobiilisovellusten kehitt\u00e4misess\u00e4 on mobiilitekniikoiden jatkuva kehittyminen. Esimerkiksi Mets\u00e4inen-mobiilisovellus julkaistiin kes\u00e4ll\u00e4 2017, jonka j\u00e4lkeen jo syksyll\u00e4 2018 piti toteuttaa ensimm\u00e4inen suuri muutosp\u00e4ivitys. Ilman t\u00e4t\u00e4 p\u00e4ivityst\u00e4 Mets\u00e4inen olisi automaattisesti poistettu Google Play-palvelusta muuttuneiden standardien vuoksi (ks. Google Developers 2019a). N\u00e4m\u00e4 muutosp\u00e4ivitykset ovat sellaisia, joita ei pystyt\u00e4 hankesuunnittelussa ennakoimaan. T\u00e4st\u00e4 syyst\u00e4 mobiilisovellusten jatkuvaan yll\u00e4pitoon pit\u00e4\u00e4 k\u00e4ytt\u00e4\u00e4 enemm\u00e4n ty\u00f6aikaa kuin vastaavaan web-sovellukseen.<\/p>\n<p>Mobiilisovelluksen p\u00e4ivitystarpeeseen vaikuttaa oleellisesti my\u00f6s sen sis\u00e4lt\u00e4m\u00e4t ominaisuudet. T\u00e4m\u00e4 johtuu siit\u00e4, ett\u00e4 mobiililaitteiden akkukestoa pyrit\u00e4\u00e4n jatkuvasti kehitt\u00e4m\u00e4\u00e4n, mik\u00e4 vaikuttaa mm. sijainti- ja ilmoituspalvelun hy\u00f6dynt\u00e4miseen mobiilisovelluksessa. Mik\u00e4li mobiilisovellus uudemmissa Android-puhelimissa tarvitsee reaaliaikaisia viestej\u00e4 vaikkapa sijainnista, vaatii se huomattavan paljon lis\u00e4ohjelmointia (Google Developers 2019b ; Google Developers 2019c.)<\/p>\n<p>Mobiilisovelluksen julkaisemiseen pit\u00e4\u00e4 my\u00f6s varata tarpeeksi aikaa. \u00a0Jos julkaistava mobiilisovellus ei l\u00e4p\u00e4ise Google Play:n ja Apple App Storen julkaisutestej\u00e4, pit\u00e4\u00e4 sovellusta korjata niin kauan, kunnes sovellus kelpaa julkaistavaksi. Varsinkin App Store on tarkka siit\u00e4, ett\u00e4 sovellus noudattaa tiettyj\u00e4 k\u00e4yt\u00e4nt\u00f6j\u00e4 ennen julkaisua. (Google Developers 2019d; Apple Developer 2019; Aleksandrova 2018.)<\/p>\n<p>My\u00f6s k\u00e4ytt\u00f6liittym\u00e4n rakentaminen mobiilisovelluksissa vie enemm\u00e4n aikaa kuin web-sovelluksissa. Eri kokoisille n\u00e4yt\u00f6ille pit\u00e4\u00e4 pahimmassa tapauksessa tehd\u00e4 Android-sovelluksissa useita lis\u00e4k\u00e4ytt\u00f6liitymi\u00e4. iOS-sovelluksissa sen sijaan k\u00e4ytt\u00f6liittym\u00e4n ohjelmointia varten on v\u00e4hemm\u00e4n ty\u00f6kaluja, mink\u00e4 vuoksi erikoisemmat k\u00e4ytt\u00f6liittym\u00e4t ovat hitaita toteuttaa.<\/p>\n<p>Jotkut ominaisuudet ovat taas ty\u00f6l\u00e4it\u00e4 toteuttaa siksi, ett\u00e4 Android- ja iOS-laitteet haluavat mobiilisovellusten toimivan tietyll\u00e4 tavalla. T\u00e4m\u00e4 n\u00e4kyy esimerkiksi monikielisiss\u00e4 sovelluksissa, joissa Android haluaa oletuksena k\u00e4ytt\u00e4\u00e4 puhelimen k\u00e4ytt\u00e4m\u00e4\u00e4 kielt\u00e4. Jos kieli halutaan vaihtaa ohjelmasta k\u00e4sin painikkeella, vaatii se huomattavasti enemm\u00e4n lis\u00e4ohjelmointia. Joitain vaikeita ominaisuuksia voidaan tehd\u00e4 ep\u00e4virallisten liit\u00e4nn\u00e4isten avulla, mutta niiden toimivuus tulevaisuudessa voi olla haaste. (ks. Berezanskyi 2017; Neuhaus 2017.)<\/p>\n<p>Koska mobiilisovellus toimii usein er\u00e4\u00e4nlaisena web-sovelluksen korvikkeena, tarvitsee se usein my\u00f6s taustalleen erillisen tietoj\u00e4rjestelm\u00e4sovelluksen, jossa mobiilisovelluksen tietoja varastoidaan ja k\u00e4sitell\u00e4\u00e4n. T\u00e4m\u00e4 tietovarasto on p\u00e4\u00e4s\u00e4\u00e4nt\u00f6isesti oma erillinen taustalla toimiva web-sovelluksensa, jota mobiilisovellus hy\u00f6dynt\u00e4\u00e4. T\u00e4m\u00e4 kasvattaa omalta osaltaan mobiilisovelluksen kehityskustannuksia. (Tea 2017.)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1958\" src=\"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/files\/2019\/04\/Kuva-2-Vatanen-T-600x369.jpg\" alt=\"\" width=\"600\" height=\"369\" srcset=\"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/files\/2019\/04\/Kuva-2-Vatanen-T-600x369.jpg 600w, https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/files\/2019\/04\/Kuva-2-Vatanen-T-110x68.jpg 110w, https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/files\/2019\/04\/Kuva-2-Vatanen-T.jpg 1223w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Kuva 2. Mobiilisovellukset ja tyypilliset taustaj\u00e4rjestelm\u00e4t<\/p>\n<h2>Vaihtoehtona monialustatekniikat<\/h2>\n<p>Yksi vaihtoehto mobiilisovellusten kehitt\u00e4miseen on k\u00e4ytt\u00e4\u00e4 monialustatekniikoita. T\u00e4llaisia monialustatekniikoita ovat mm. PhoneGap, Xamarin ja Flutter. Monialustatekniikoiden perusajatus on mahdollistaa sek\u00e4 Android- ett\u00e4 iOS-sovelluksen kehitt\u00e4minen samalla ohjelmakoodilla mahdollisimman pitk\u00e4lle. Toisaalta mobiilisovelluksen ulkoasuun liittyv\u00e4t ominaisuudet pit\u00e4\u00e4 silti yleens\u00e4 ohjelmoida molemmille alustoille erikseen. Jos ohjelmassa on monimutkainen k\u00e4ytt\u00f6liittym\u00e4, on monialustatekniikasta tuleva hy\u00f6ty yleens\u00e4 pienempi. Lis\u00e4ksi jotkut ominaisuudet voivat olla haastavia toteuttaa, kuten karttapalvelut ja kolmannen osapuolen tekniikat. Monialustatekniikat my\u00f6s p\u00e4ivittyv\u00e4t hitaammin, koska ne joutuvat odottamaan mobiilialustojen p\u00e4ivittymist\u00e4. (ks. Barnett 2017; Redbytes 2017; SteelKiwi Inc. 2018.)<\/p>\n<p>Mobiiliyhteensopivien verkkosivujen rinnalle on noussut viel\u00e4 toistaiseksi uusi tekniikka PWA (progressive web apps), joka vapaasti suomennettuna tarkoittaa edistyksellisi\u00e4 web-sovelluksia. K\u00e4yt\u00e4nn\u00f6ss\u00e4 PWA-sovellukset ovat tavanomaisia web-sovelluksia, mutta ne esiintyv\u00e4t k\u00e4ytt\u00e4j\u00e4n \u00e4lypuhelimessa mobiilisovellusten kaltaisesti. T\u00e4llaisia sovelluksia ovat esimerkiksi VR:n Junat kartalla -palvelu sek\u00e4 HSL:n reittiopaspalvelu. Kun k\u00e4ytt\u00e4j\u00e4 siirtyy mobiililaitteellaan ensimm\u00e4ist\u00e4 kertaa em. verkkosivuille, ehdottaa puhelin web-palvelun lis\u00e4\u00e4mist\u00e4 puhelimen sovellusvalikkoon. T\u00e4m\u00e4 ominaisuus tosin toimii vain uusimmissa \u00e4lylaitteissa, mink\u00e4 vuoksi sill\u00e4 ei viel\u00e4 t\u00e4ll\u00e4 hetkell\u00e4 voi korvata mobiilisovelluksia. PWA:lla ei my\u00f6sk\u00e4\u00e4n v\u00e4ltt\u00e4m\u00e4tt\u00e4 pysty aina k\u00e4ytt\u00e4m\u00e4\u00e4n kaikkia samoja ominaisuuksia joita varsinaisissa mobiilisovelluksissa on mahdollista k\u00e4ytt\u00e4\u00e4 (Khan 2018b).<\/p>\n<p>&nbsp;<\/p>\n<h2>Pohdinta<\/h2>\n<p>Mobiilisovelluksen kehitt\u00e4minen ei ole projektitoiminnassa aivan niin suoraviivaista kuin web-sovelluksen kehitt\u00e4minen. Karkeasti arvioituna esimerkiksi Android-mobiilisovelluksen kehitt\u00e4miseen pit\u00e4\u00e4 varata melkein kaksinkertainen ty\u00f6resurssi web-sovellukseen verrattuna. Toisaalta mobiilipalvelut ovat se tapa, mill\u00e4 palveluita halutaan t\u00e4n\u00e4 p\u00e4iv\u00e4n\u00e4 k\u00e4ytt\u00e4\u00e4, oli kyse sitten mobiilisovelluksesta tai mobiiliverkkosivusta (MindSea 2018). T\u00e4st\u00e4 syyst\u00e4 mobiilisovelluksen kehitt\u00e4minen on perusteltua silloin, kun tuotettavan palvelun k\u00e4ytett\u00e4vyys on t\u00e4rke\u00e4\u00e4.<\/p>\n<p>Web-sovelluksen ja mobiilisovelluksen ero ty\u00f6ajassa voidaan suuntaa antavasti arvioida seuraavalla taulukolla:<\/p>\n<p>Taulukko 1. Suuntaa antava ty\u00f6m\u00e4\u00e4r\u00e4arvio keskim\u00e4\u00e4r\u00e4isist\u00e4 mobiilisti k\u00e4ytett\u00e4vien sovellusten kehitt\u00e4misest\u00e4 ja yll\u00e4pidosta. Sovelluksen ominaisuudet ja laajuus vaikuttaa oleellisesti todelliseen ty\u00f6m\u00e4\u00e4r\u00e4arvioon.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"108\"><strong>Ty\u00f6n tarve (karkea arvio)<\/strong><\/td>\n<td width=\"153\"><strong>Mobiiliyhteensopiva web-sovellus<\/strong><\/td>\n<td width=\"141\"><strong>Android- ja iOS-sovellukset<\/strong><\/td>\n<td width=\"163\"><strong>Monialustasovellus (Android ja iOS)<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"108\">Sovelluksen kehitt\u00e4minen<\/td>\n<td width=\"153\">3-4kk<\/td>\n<td width=\"141\">5kk+4kk<\/p>\n<p>(voi tarvita lis\u00e4ksi web-tietoj\u00e4rjestelm\u00e4n,<br \/>\n+1kk)<\/td>\n<td width=\"163\">6-8kk<\/p>\n<p>(oletus, ett\u00e4 monialustatekniikka soveltuu projektiin<\/p>\n<p>(voi tarvita lis\u00e4ksi web-tietoj\u00e4rjestelm\u00e4n, +1kk)<\/td>\n<\/tr>\n<tr>\n<td width=\"108\">Yll\u00e4pidon tarve \/ vuosi<\/td>\n<td width=\"153\">0-3 ty\u00f6p\u00e4iv\u00e4\u00e4<\/td>\n<td width=\"141\">3-6 ty\u00f6p\u00e4iv\u00e4\u00e4<\/td>\n<td width=\"163\">2-4 ty\u00f6p\u00e4iv\u00e4\u00e4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Kaikki t\u00e4m\u00e4 ei kuitenkaan tarkoita sit\u00e4, etteik\u00f6 mobiilisovellusten kehitt\u00e4minen olisi projektitoiminnassa j\u00e4rkev\u00e4 vaihtoehto. Kyse on enemm\u00e4nkin siit\u00e4, miten projektien osapuolet sitoutuvat mobiilisovelluksen jatkokehitt\u00e4miseen, ja millaisia teknologisia ratkaisuja projektissa kannattaa toteutuksen valossa suosia. Mobiilisovelluksen kehitt\u00e4miseen tulee my\u00f6s varata realistinen budjetti, ettei projektin toteutus vaarannu. Mobiilisovelluksia on mahdollista kehitt\u00e4\u00e4 my\u00f6s kustannustehokkaasti, kunhan pahimmat sudenkuopat tiedostetaan, ja projektin mobiilisovellus kartoitetaan jo suunnitteluvaiheessa mahdollisimman tarkasti.<\/p>\n<p>Mets\u00e4inen on kehitetty Mets\u00e4keskuksen ja Lapin AMK:n yhteisty\u00f6n\u00e4. Mets\u00e4inen Innostaa \u2013hankkeen on rahoittanut Maaseuturahasto.<\/p>\n<p>Mets\u00e4inen \u2013mobiilisovelluksen voi ladata Google Play \u2013palvelusta:<br \/>\n<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.laplanduas.plab.metsainen\">https:\/\/play.google.com\/store\/apps\/details?id=com.laplanduas.plab.metsainen<\/a><\/p>\n<p><strong>Lapin AMK:n hankkeita, joissa on joko tuotettu tai kirjoitushetkell\u00e4 tuotetaan mobiilisovelluksia:<\/strong><\/p>\n<p>ArkTori:<\/p>\n<p><a href=\"https:\/\/www.lapinamk.fi\/fi\/Yrityksille-ja-yhteisoille\/Lapin-AMKin-hankkeet?RepoProject=521710\">https:\/\/www.lapinamk.fi\/fi\/Yrityksille-ja-yhteisoille\/Lapin-AMKin-hankkeet?RepoProject=521710<\/a><\/p>\n<p>Dwell:<\/p>\n<p><a href=\"https:\/\/www.lapinamk.fi\/fi\/Yrityksille-ja-yhteisoille\/Lapin-AMKin-hankkeet?RepoProject=521834\">https:\/\/www.lapinamk.fi\/fi\/Yrityksille-ja-yhteisoille\/Lapin-AMKin-hankkeet?RepoProject=521834<\/a><\/p>\n<p>LuontoRovaniemi:<\/p>\n<p><a href=\"https:\/\/www.lapinamk.fi\/fi\/Yrityksille-ja-yhteisoille\/Lapin-AMKin-hankkeet?RepoProject=521707\">https:\/\/www.lapinamk.fi\/fi\/Yrityksille-ja-yhteisoille\/Lapin-AMKin-hankkeet?RepoProject=521707<\/a><\/p>\n<p>Mets\u00e4inno:<\/p>\n<p><a href=\"https:\/\/www.lapinamk.fi\/fi\/Yrityksille-ja-yhteisoille\/Lapin-AMKin-hankkeet?RepoProject=521709\">https:\/\/www.lapinamk.fi\/fi\/Yrityksille-ja-yhteisoille\/Lapin-AMKin-hankkeet?RepoProject=521709<\/a><\/p>\n<p>Yrityst\u00e4 Peliss\u00e4:<\/p>\n<p><a href=\"https:\/\/www.lapinamk.fi\/fi\/Yrityksille-ja-yhteisoille\/Lapin-AMKin-hankkeet?RepoProject=521711\">https:\/\/www.lapinamk.fi\/fi\/Yrityksille-ja-yhteisoille\/Lapin-AMKin-hankkeet?RepoProject=521711<\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>L\u00e4hteet<\/h2>\n<p>Aleksandrova, M. 2018. How to Publish Your App on App Store and Google Play? A Comprehensive Go-to-Market Guide. Eastern Peak 3.1.2018. Viitattu 10.4.2019 https:\/\/easternpeak.com\/blog\/how-to-publish-your-app-on-app-store-and-google-play-comprehensive-go-to-market-guide\/.<\/p>\n<p>Apple Developer 2019. Submit your apps today. Viitattu 10.4.2019 https:\/\/developer.apple.com\/app-store\/submissions\/.<\/p>\n<p>Averyanov, K. 2017. Creating custom UI components in iOS with Swift. Medium 16.5.2017. Viitattu 10.4.2019 https:\/\/medium.com\/@Kirillzzy\/create-a-custom-button-for-ios-e81026bd6148.<\/p>\n<p>Barnett, J. 2017. Can PhoneGap Satisfy Your App Development Needs? Iflexion 10.6.2017. Viitattu 10.4.2019 https:\/\/www.iflexion.com\/blog\/can-phonegap-satisfy-app-development-needs.<\/p>\n<p>Berezanskyi, Y. 2017. How to change the language on Android at runtime and don\u2019t go mad. ProAndroidDev 6.8.2017. Viitattu 10.4.2019. https:\/\/proandroiddev.com\/change-language-programmatically-at-runtime-on-android-5e6bc15c758.<\/p>\n<p>Bouwkamp, K. 2016. The 9 Most In-Demand Programming Languages of 2016. Coding Dojo 27.1.2016. Viitattu 10.4.2019 https:\/\/www.codingdojo.com\/blog\/9-most-in-demand-programming-languages-of-2016<\/p>\n<p>Chandra, S. 2017. Top 6 Leading PHP Frameworks For 2017. SAMWebStudio 21.9.2017. Viitattu 10.4.2019 https:\/\/www.samwebstudio.com\/blog\/post\/top-6-leading-php-frameworks-for-2017.<\/p>\n<p>Costello, S. 2019. The History of iOS, from Version 1.0 to 12.0. Lifewire 25.2.2019. Viitattu 10.4.2019 https:\/\/www.lifewire.com\/ios-versions-4147730.<\/p>\n<p>de Looper, C. 2018. From Android 1.0 to Android 9.0, here\u2019s how Google\u2019s OS evolved over a decade. Digital Trends 23.10.2018. Viitattu 10.4.2019 https:\/\/www.digitaltrends.com\/mobile\/android-version-history\/.<\/p>\n<p>DDI Development 2015. Top 10 the best web development frameworks. Viitattu 10.4.2019 http:\/\/ddi-dev.com\/blog\/programming\/top-10-best-web-development-frameworks\/.<\/p>\n<p>Gilmore, L. 2018. Your step-by-step mobile application testing process. Testlio 17.9.2018. Viitattu 10.4.2019 https:\/\/testlio.com\/blog\/step-step-mobile-application-testing-process\/.<\/p>\n<p>Goel, A. 2019. Top 10 Web Development Frameworks in 2019. hackr.io 19.3.2019. Viitattu 10.4.2019 https:\/\/hackr.io\/blog\/top-10-web-development-frameworks-in-2019.<\/p>\n<p>Google Developers 2019a. Meet Google Play&#8217;s target API level requirement. Viitattu 10.4.2019 https:\/\/developer.android.com\/distribute\/best-practices\/develop\/target-sdk.<\/p>\n<p>Google Developers 2019b. Android 8.0 Behavior Changes. Viitattu 10.4.2019 https:\/\/developer.android.com\/about\/versions\/oreo\/android-8.0-changes.<\/p>\n<p>Google Developers 2019c. Create a Notification. Viitattu 10.4.2019 https:\/\/developer.android.com\/training\/notify-user\/build-notification.html.<\/p>\n<p>Google Developers 2019d. Publish your app. Viitattu 10.4.2019 https:\/\/developer.android.com\/studio\/publish.<\/p>\n<p>IDC 2018. Smartphone Rankings Shaken Up Once Again as Huawei Surpasses Apple, Moving into Second Position While Overall Market Declined 1.8% in Q2 2018, According to IDC. Viitattu 10.4.2019 https:\/\/www.idc.com\/getdoc.jsp?containerId=prUS44188018.<\/p>\n<p>Ionos 2019. Web programming languages: the best languages for web development. Ionos 11.3.2019. Viitattu 10.4.2019 https:\/\/www.ionos.com\/digitalguide\/websites\/web-development\/web-programming-languages\/.<\/p>\n<p>Khan, A. 2018a. Top 10 Web Development Frameworks for 2018-19. Appy Pie 25.8.2018. Viitattu 10.4.2019 https:\/\/www.appypie.com\/top-10-web-development-frameworks-for-2018-19.<\/p>\n<p>Khan, U. 2018b. The Pros and Cons of Progressive Web Apps. Clutch 26.6.2018. Viitattu 10.4.2019 https:\/\/clutch.co\/app-developers\/resources\/pros-cons-progressive-web-apps.<\/p>\n<p>LinkAssistant 2019. How to make your website mobile friendly? A 5-step Google mobile friendly optimization plan for your website! Viitattu 10.4.2019 https:\/\/www.link-assistant.com\/news\/mobile-seo.html.<\/p>\n<p>MindSea 2018. 25 Mobile App Usage Statistics To Know in 2019. Viitattu 10.4.2019 https:\/\/mindsea.com\/app-stats\/.<\/p>\n<p>Neuhaus, J. 2017. 9 Steps: Choosing a tech stack for your web application. Medium 22.8.2017. Viitattu 10.4.2019 https:\/\/medium.com\/unicorn-supplies\/9-steps-how-to-choose-a-technology-stack-for-your-web-application-a6e302398e55.<\/p>\n<p>Redbytes 2017. Pros and Cons of Xamarin App Development. Viitattu 10.4.2019 https:\/\/www.redbytes.in\/pros-cons-xamarin-app-development\/.<\/p>\n<p>Roy, A. 2019. What you need to know about Android app memory leaks. TechBeacon 2019. Viitattu 10.4.2019 https:\/\/techbeacon.com\/app-dev-testing\/what-you-need-know-about-android-app-memory-leaks.<\/p>\n<p>Saeed, A. 2018. Here Are The Ten Best Programming Languages to learn in 2019. Coding Infinite 22.12.2018. Viitattu 10.4.2019 https:\/\/codinginfinite.com\/best-programming-languages-to-learn-2019\/.<\/p>\n<p>SteelKiwi Inc. 2018. Flutter: Pros and Cons for Seamless Cross Platform Development. Hacker Noon 11.9.2018. Viitattu 10.4.2019 https:\/\/hackernoon.com\/flutter-pros-and-cons-for-seamless-cross-platform-development-c81bde5a4083.<\/p>\n<p>Summerfield, J. 2019. Mobile Website vs. Mobile App: Which is Best for Your Organization? Human Service Solutions 2019. Viitattu 10.4.2019 https:\/\/www.hswsolutions.com\/services\/mobile-web-development\/mobile-website-vs-apps\/.<\/p>\n<p>Tea, M. 2017. A Massive Guide to Building a RESTful API for Your Mobile App. Savvy Apps 19.6.2017. Viitattu 10.4.2019 https:\/\/savvyapps.com\/blog\/how-to-build-restful-api-mobile-app.<\/p>\n<p>&nbsp;<\/p>\n<p><em>\u00a0<\/em><\/p>\n<p>Asiasanat: tieto- ja viestint\u00e4tekniikka, ohjelmistotekniikka, mobiilisovellukset, web-sovellukset, projektisuunnittelu, projektity\u00f6<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mobiilisovelluksen kehitt\u00e4minen on perusteltua silloin, kun tuotettavan palvelun k\u00e4ytett\u00e4vyys on t\u00e4rke\u00e4\u00e4. Lapin AMKin ohjelmistotekniikan laboratorio pLAB on tehnyt mobliilisovelluksia my\u00f6s hankkeille kuten Mets\u00e4inen Innostaa, MTI Match, LuontoRovaniemi, Hilumi 3D, ArkTori, Dwell sek\u00e4 Yrityst\u00e4 peliss\u00e4 -hankkeet.<\/p>\n","protected":false},"author":1658,"featured_media":2004,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[363445,4234],"tags":[101624,115192,94,34279,115200,110208,115177,110207],"class_list":["post-1979","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1-2019","category-artikkeli","tag-digitalisaatio","tag-etaisyyksien-hallinta","tag-koulutus","tag-oppimisymparisto","tag-palvelutuotanto","tag-pelillistaminen","tag-teollisuuspalvelut","tag-virtuaalisuus"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/files\/2019\/04\/Valtanen-Kuru-Pallas-Pajula-artikkeli-Lumen-lehti-1-2019.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7X4tP-vV","_links":{"self":[{"href":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/wp-json\/wp\/v2\/posts\/1979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/wp-json\/wp\/v2\/users\/1658"}],"replies":[{"embeddable":true,"href":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/wp-json\/wp\/v2\/comments?post=1979"}],"version-history":[{"count":2,"href":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/wp-json\/wp\/v2\/posts\/1979\/revisions"}],"predecessor-version":[{"id":2010,"href":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/wp-json\/wp\/v2\/posts\/1979\/revisions\/2010"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/wp-json\/wp\/v2\/media\/2004"}],"wp:attachment":[{"href":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/wp-json\/wp\/v2\/media?parent=1979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/wp-json\/wp\/v2\/categories?post=1979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogi.eoppimispalvelut.fi\/lumenlehti\/wp-json\/wp\/v2\/tags?post=1979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}