Mobiilisovelluksen toteutus Android- ja iOS-alustoille : Xamarin vastaan natiivi
Ojala, Arttu (2019)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019122327852
https://urn.fi/URN:NBN:fi:amk-2019122327852
Tiivistelmä
Opinnäytetyön toimeksiantaja, GoodLife Technology Oy, käyttää Android- ja iOS-mobiilisovellusten toteutukseen Xamarin-kehitystyökaluja. Xamarin mahdollistaa ohjelmakoodin jakamisen Android- ja iOS-alustojen välillä, mikä nopeuttaa mobiilisovellusten kehitystä. Opinnäytetyön tavoitteena oli selvittää, voisiko toimeksiantaja hyötyä mobiilisovellusten toteutustavan vaihtamisesta natiiveihin työkaluihin.
Opinnäytetyön aikana suunniteltiin ja toteutettiin kaksi Android-sovellusta, kaksi iOS-sovellusta sekä Azure-pilvirajapinta. Android- ja iOS-mobiilisovellukset toteutettiin sekä Xamarin- että natiivityökaluja käyttäen. Mobiilisovelluksissa voi lukea käyttäjien kommentteja sekä lähettää uusia kommentteja. Mobiilisovelluksista tehtiin ulkonäöltään ja toiminnallisuudeltaan samanlaisia, jotta toteutusprosessien erot saataisiin selville. Azure-rajapintaan toteutettiin toiminnallisuudet kommenttien hakemiseen ja tallentamiseen. Kaikki mobiilisovellukset integroitiin käyttämään toteutettua Azure-rajapintaa.
Mobiilisovellusten toteutusprosessien tuloksena todettiin, että käyttöliittymien toteutus natiivityökalujen visuaalisilla editoreilla on helpompaa kuin Xamarin-sovellusten käyttöliittymien toteutus. Xamarin-sovelluksista saa kuitenkin tehtyä lähes identtisiä natiivisovellusten kanssa, vaikka se onkin hieman vaikeampaa. Natiivisovellukset pitää kuitenkin toteuttaa molemmille alustoille erikseen, eikä ohjelmakoodia voi jakaa alustojen kesken kuten Xamarin-sovelluksissa, minkä takia toimeksiantaja ei päätynyt vaihtamaan mobiilisovellusten toteutustapaa. The goal of this thesis was to research if the commissioner of the thesis, GoodLife Technology Oy, could benefit from switching from Xamarin mobile app development to native mobile app development. The thesis was conducted as a comparison between Xamarin, Android and iOS development processes.
The implementation process began with designing a mobile app which would be created in multiple different development environments. Microsoft Azure API was also designed, which all four mobile apps would be integrated with. The philosophy of the design process was to guarantee that there would be a parity between the mobile apps to ensure that the comparison between the implementation processes would be as fair as possible.
Two Android apps, two iOS apps and an Azure API were created during the implementation process. The mobile apps can send and receive comments via the API. The result of the research was that the native tools offer better visual UI-tools, slightly better performance and less bugs than the Xamarin framework, but in the end the native tools do not bring enough added value for the commissioner to switch their current mobile development methods.
Opinnäytetyön aikana suunniteltiin ja toteutettiin kaksi Android-sovellusta, kaksi iOS-sovellusta sekä Azure-pilvirajapinta. Android- ja iOS-mobiilisovellukset toteutettiin sekä Xamarin- että natiivityökaluja käyttäen. Mobiilisovelluksissa voi lukea käyttäjien kommentteja sekä lähettää uusia kommentteja. Mobiilisovelluksista tehtiin ulkonäöltään ja toiminnallisuudeltaan samanlaisia, jotta toteutusprosessien erot saataisiin selville. Azure-rajapintaan toteutettiin toiminnallisuudet kommenttien hakemiseen ja tallentamiseen. Kaikki mobiilisovellukset integroitiin käyttämään toteutettua Azure-rajapintaa.
Mobiilisovellusten toteutusprosessien tuloksena todettiin, että käyttöliittymien toteutus natiivityökalujen visuaalisilla editoreilla on helpompaa kuin Xamarin-sovellusten käyttöliittymien toteutus. Xamarin-sovelluksista saa kuitenkin tehtyä lähes identtisiä natiivisovellusten kanssa, vaikka se onkin hieman vaikeampaa. Natiivisovellukset pitää kuitenkin toteuttaa molemmille alustoille erikseen, eikä ohjelmakoodia voi jakaa alustojen kesken kuten Xamarin-sovelluksissa, minkä takia toimeksiantaja ei päätynyt vaihtamaan mobiilisovellusten toteutustapaa.
The implementation process began with designing a mobile app which would be created in multiple different development environments. Microsoft Azure API was also designed, which all four mobile apps would be integrated with. The philosophy of the design process was to guarantee that there would be a parity between the mobile apps to ensure that the comparison between the implementation processes would be as fair as possible.
Two Android apps, two iOS apps and an Azure API were created during the implementation process. The mobile apps can send and receive comments via the API. The result of the research was that the native tools offer better visual UI-tools, slightly better performance and less bugs than the Xamarin framework, but in the end the native tools do not bring enough added value for the commissioner to switch their current mobile development methods.