Mobiilisovelluksen kehitys Xamarin.Forms-ympäristössä

01.06.2022

Kehitysprosessin alkaessa mobiilikehittäjällä on edessään valinta: Android vai iOS, kumpi ensin? Sovelluksen tarkoitusta ja sen käyttöympäristöä puntaroiden valinta voi kääntyä kumpaan tahansa, mutta Xamarin.Forms tarjoaa kolmannen vaihtoehdon: Molemmat samaan aikaan.

Mikä on Xamarin.Forms?

Xamarin.Forms on Microsoftin kehittämä mobiilikehitykseen suunniteltu ohjelmistokehys. Se toimii runkona toteutettavalle mobiilisovellukselle ja tarjoaa työkaluja kehitysprosessin helpottamiseksi. Xamarin.Forms on alustariippumaton, ja tukee tällä hetkellä Android-, iOS- ja Windows-käyttöjärjestelmiä.

Xamarin.Forms-sovellusta luodessa kehittäjältä vaaditaan osaamista C#-ohjelmointikielestä, XAML-merkintäkielestä sekä olio-ohjelmoinnin pääkäsitteistä. Kehittäjän on myös hyvä olla perillä asynkronisen ohjelmoinnin perusteista, sillä käyttömukavuuden takaamiseksi sovelluksen täytyy toimia sulavasti.

Xamarin käyttää .NET-rajapintoja kääntääkseen sovelluksen kohdealustalle, mutta koska nämä alustat ovat hieman erilaisia, on mahdollista että saadakseen saman toiminnon toimimaan useilla alustoilla, kehittäjän täytyy tehdä ylimääräisiä säätöjä ohjelmiston koodiin.

Sovelluksen rakenne

Laajat sovellukset, joissa on paljon ominaisuuksia, kannattaa Microsoftin mukaan rakentaa käyttäen MVVM-arkkitehtuuria. MVVM-arkkitehtuuri jakaa ohjelman kolmeen pääkomponenttiin: Malli (Model), Näkymä (View) ja Näkymämalli (Viewmodel). Malli pitää sisällään ohjelmassa käytettävän datan ja näkymä määrittää käyttäjälle näkyvät elementit. Näkymämalli puolestaan sitoo datan mallista näkymään sekä määrittää toiminnot, jotka suoritetaan kun käyttäjä toimii näkymän kanssa. MVVM-arkkitehtuurin komponentit ovat liitettyinä toisiinsa kevyesti (light coupling). Tämän ansiosta sovelluksen eri osat ovat helposti testattavissa, sekä uusien osien luominen ei riko olemassa olevia toimintoja.

Hyödyllisiä kirjastoja

Mobiilisovelluksissa voi tulla tarve käyttää käyttöjärjestelmän omia toimintoja, kuten esimerkiksi kameraa, GPS:ää, Bluetoothia, tiedostoja tai kalenteria. Xamarin.Forms pääsee käsiksi näihin ominaisuuksiin käyttämällä Xamarin.Essentials-kirjastoa. Tämä kirjasto tarjoaa alustariippumattoman ohjelmistorajapinnan mobiililaitteen lukuisiin ominaisuuksiin.

Helpottaakseen kehitystyötä, mobiilikehittäjä voi myös asentaa avukseen Xamarin Community Toolkit-kirjaston. Tämä kirjasto on kokoelma erilaisia toimintoja ja elementtejä, kuten animaatioita, efektejä, tekstin validointia ja datan muuntajia. Se yksinkertaistaa modernin ja hyvännäköisen mobiilisovelluksen kehitystä.

Useita väyliä käyttäjän laitteeseen

Kehitysprosessin lähestyessä loppua on hyvä alkaa miettiä sovelluksen julkaisua. Xamarin tarjoaa kehittäjälle useamman eri keinon sovelluksen julkaisemiseksi. Androidille suunnattu sovellus voidaan julkaista käyttäen Google Play-kauppaa, Amazon App Storea, yksityistä web-palvelinta tai sähköpostia. iOS-sovellukset voidaan julkaista Applen App Storeen, Ad Hoc-palveluun tai yrityksen sisäiseen levittämiseen käyttäen Apple Enterprise Developer-ohjelmaa.

Kun mobiilisovellus on julkisesti saatavilla, kehittäjä voi alkaa suunnittelemaan strategiaa seuraavalle sovellukselle. Xamarin.Formsin seuraava iteraatio .NET MAUI on suunniteltu julkaistavaksi vuoden 2022 aikana, mikä avaa lisää mahdollisuuksia mobiilikehityksen maailmaan.

Lähteet

Microsoft, Xamarin.Forms, viitattu 19.5.2022 https://dotnet.microsoft.com/en-us/apps/xamarin/xamarin-forms.

Microsoft, The MVVM Pattern, viitattu 19.5.2022, https://docs.microsoft.com/en-us/xamarin/xamarin-forms/enterprise-application-patterns/mvvm.

Microsoft, Xamarin.Essentials, viitattu 19.5.2022, https://docs.microsoft.com/en-us/xamarin/essentials/.

Microsoft, Xamarin Community Toolkit, viitattu 19.5.2022, https://docs.microsoft.com/en-us/xamarin/community-toolkit/.

Opinnäytetyö Hannula, Eerik, 2022: Mobiilisovelluksen kehittäminen kiinteistöhuollon tarpeisiin. Opinnäytetyö (AMK), tieto- ja viestintätekniikka, Turun ammattikorkeakoulu.