Xamarin Cross Platform : Mobiilisovelluksen kehitys Windows- ja Android-alustoille
Peräkorpi, Niko (2015)
Peräkorpi, Niko
Vaasan ammattikorkeakoulu
2015
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2015061013050
https://urn.fi/URN:NBN:fi:amk-2015061013050
Tiivistelmä
Opinnäytetyössä luodaan mobiilisovellus Windows- ja Android-käyttöliittymille. Sovelluksesta on pois käytöstä otettu alkuperäinen Javascript versio, jonka pohjalta sovellus rakennetaan. Sovellus tehdään aluksi Windows-puhelimille, jonka jälkeen se portataan Androidille käyttäen Xamarin-kehitystyökalua, joka on laajalti käytetty maksullinen työkalu jolla porttaus Windows-, iOS- ja Androidkäyttöliittymien välillä onnistuu pienellä työmäärällä. Sovelluksen toteutuksessa tärkeimpänä osana on rakentaa Windows-versio sovelluksesta niin, että sen logiikka ei käytä kirjastoja, jotka ovat yksinomaisesti Windows-käyttöliittymälle. Logiikkakoodi, eli metodit, jotka hakevat dataa tietokannasta ja hallitsevat ohjelman datankulun ja logiikan, kirjoitetaan erilliseen projektiin. Tällöin Windows- ja Android-puhelimille tehdyillä projekteilla voidaan viitata logiikka-projektiin, ja käyttää sen metodeja. Kaikki logiikkakoodi tehdään C#-koodikielellä, joka on Windows-puhelimen natiivikieli, sillä Xamarinin avulla se pystytään kääntämään myös Android- ja iOS-alustoille. Kaikkein optimaalisimmassa tilanteessa Android-sovellukselle täytyy vain rakentaa ulkoasu joka kutsuu metodeja erillisestä, Windows sovelluksen luomisen yhteydessä tehdystä projektista. Opinnäytetyön tavoitteet saatiin Android-version loppuunsaattamista lukuunottamatta toteutettua.Vaikeimpia asioita työssä oli MVVM-rakenteen kehittäminen järkevästi, joka on myös sovelluksen tärkeimpiä osa-alueita. Sovellus saatiin rakennettua MVVM-mallisesti, vaikka rakennetta voisi varmasti parantaa. Kaiken kaikkiaan opinnäytetyö oli erittäin mielenkiintoinen ja haastava. Ensimmäistä kertaa monialustaisen mobiilisovelluksen luominen ei ole helppoa, mutta työ onnistui hyvin ja lopputulokseen voi olla tyytyväinen.