Mobiilikehitys : eri alustat ja niiden erot
Hetekivi, Santeri (2017)
Hetekivi, Santeri
Tampereen ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201704124693
https://urn.fi/URN:NBN:fi:amk-201704124693
Tiivistelmä
Tämän opinnäytetyön aiheena oli mobiilikehitys kaikilla yleisimmillä alustoilla ja niiden erot. Työn tarkoituksena oli selvittää lukijalle millä ohjelmointitapa ja -alusta yhdistelmällä hänen kannattaisi ruveta ohjelmoimaan mobiilisovellustaan. Työssä käytiin läpi Android, iOS, ja Windows Phone / UWP käyttöjärjestelmät ja näille käyttöjärjestelmille kehitetyt mobiililaitteet.
Työssä selvitettiin ero natiiveilla- ja hybridikehitystavoilla. Käytiin läpi myös yleisimpiä ohjelmointikieliä mobiilikehitykseen, joihin lukeutuvat Java, Swift, Objective-C, C# ja JavaScript.
Kehitettiin kaksi mobiilisovellusta Epic Invoicing Oy:lle. Toinen täysin natiiveilla tavoilla, jokaiselle alustalle omansa ja näiden omilla työkaluilla ja toinen täysin hybridinä.
Nettilasku oli täysin natiivi mobiilisovellus, joka kehitettiin iOS alustalle Swift, Androidille Java ja Windows Phonelle C# ohjelmointikielellä. Projektissa käytettiin käyttöjärjestelmävalmistajien omia työkaluja. iOS-alustalla ohjelmoitiin Xcode-kehitysympäristössä, Androidille Android Studiolla ja Windows Phonelle Microsoftin Visual Studio - kehitysympäristössä.
Nettikuitti.fi oli hybridi mobiilisovellus, joka kehitettiin täysin Microsoftin Xamarin monialusta kehitysalustalla. Ohjelmointi kielenä käytettiin C# ohjelmointikieltä, jolloin voitiin käyttää osaa Nettilasku sovelluksen Windows Phone -koodikannasta.
Nettikuitti.fi projekti saatiin toteutettua täysin ilman laitekohtaisia kirjastoja. Tämä auttaa tulevaisuudessa, kun tehdään toimintoja ja korjauksia, koska tarvitsee muuttaa vain yhtä koodikantaa. Nettilasku projektissa joutui tekemään kaikki muutokset kolmella eri kielellä kolmelle eri alustalle, joka vei aikaa ja näin myös yrityksen rahoja.
Lopputuloksena todetaan, että mobiilikehitys kannattaa tehdä hybridi kehitys tavalla. Kehittäessäsi vain mobiilisovelluksen Xamarin on hyvä työkalu, web-sovelluksen muuttamisessa mobiilisovellukseksi ja React tai Angular kehyksien React Native ja NativeScript ovat vahvoja työkaluja. Näin jokainen muutos voidaan tehdä vain kerran ja taataan että kaikilla alustoilla sovelluksesi sisältää samat ominaisuudet.
Työssä selvitettiin ero natiiveilla- ja hybridikehitystavoilla. Käytiin läpi myös yleisimpiä ohjelmointikieliä mobiilikehitykseen, joihin lukeutuvat Java, Swift, Objective-C, C# ja JavaScript.
Kehitettiin kaksi mobiilisovellusta Epic Invoicing Oy:lle. Toinen täysin natiiveilla tavoilla, jokaiselle alustalle omansa ja näiden omilla työkaluilla ja toinen täysin hybridinä.
Nettilasku oli täysin natiivi mobiilisovellus, joka kehitettiin iOS alustalle Swift, Androidille Java ja Windows Phonelle C# ohjelmointikielellä. Projektissa käytettiin käyttöjärjestelmävalmistajien omia työkaluja. iOS-alustalla ohjelmoitiin Xcode-kehitysympäristössä, Androidille Android Studiolla ja Windows Phonelle Microsoftin Visual Studio - kehitysympäristössä.
Nettikuitti.fi oli hybridi mobiilisovellus, joka kehitettiin täysin Microsoftin Xamarin monialusta kehitysalustalla. Ohjelmointi kielenä käytettiin C# ohjelmointikieltä, jolloin voitiin käyttää osaa Nettilasku sovelluksen Windows Phone -koodikannasta.
Nettikuitti.fi projekti saatiin toteutettua täysin ilman laitekohtaisia kirjastoja. Tämä auttaa tulevaisuudessa, kun tehdään toimintoja ja korjauksia, koska tarvitsee muuttaa vain yhtä koodikantaa. Nettilasku projektissa joutui tekemään kaikki muutokset kolmella eri kielellä kolmelle eri alustalle, joka vei aikaa ja näin myös yrityksen rahoja.
Lopputuloksena todetaan, että mobiilikehitys kannattaa tehdä hybridi kehitys tavalla. Kehittäessäsi vain mobiilisovelluksen Xamarin on hyvä työkalu, web-sovelluksen muuttamisessa mobiilisovellukseksi ja React tai Angular kehyksien React Native ja NativeScript ovat vahvoja työkaluja. Näin jokainen muutos voidaan tehdä vain kerran ja taataan että kaikilla alustoilla sovelluksesi sisältää samat ominaisuudet.