Alustariippumattoman mobiilisovelluskehityksen tekniikat
Raivio, Miikka (2013)
Raivio, Miikka
2013
Tietotekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2013-12-04
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201312181500
https://urn.fi/URN:NBN:fi:tty-201312181500
Tiivistelmä
Mobiilisovellusten kehitys mobiilikäyttöjärjestelmien virallisten kehitystyökalujen avulla muuttuu haastavaksi, kun sama sovellus on toteutettava useammalle kuin yhdelle kohdealustalle. Tällöin ohjelmistokehittäjän on useimmiten hallittava kullekin mobiilikäyttöjärjestelmälle ominaiset sovelluskehitys- ja suunnitteluperiaatteet, mikä tarkoittaa tuettavien alustojen määrään nähden yhtä usean sovelluskehitysprojektin läpikäymistä.
Tässä diplomityössä tutustuttiin alustariippumattoman mobiilisovelluskehityksen tekniikoihin ja työkaluihin, jotka väitetysti nopeuttavat usealle alustalle kohdistuvaa sovelluskehitystä hyödyntämällä mahdollisimman paljon samaa lähdekoodia tuettavien kohdealustojen välillä. Tämän diplomityön tavoitteena oli lisäksi löytää Metson Mining and Construction -segmentin alaisuudessa toimivan mobiilisovelluskehitystiimin käyttötarkoituksiin parhaiten soveltuva alustariippumaton kehitystyökalu. Tätä varten valittiin kolme lupaavinta kehitystyökalua, Appcelerator Titanium, PhoneGap ja Sencha Touch, joiden avulla rakennettiin esimerkkisovellus Android- ja iOS-kohdealustoille. Eri työkaluilla rakennettujen esimerkkisovellusten toteutusprosesseja ja lopputuloksia vertailtiin yhdeksän ennalta määritetyn arviointikriteerin avulla.
Tutkimuksessa saatujen tulosten perusteella voitiin todeta, että alustariippumattomat mobiilisovelluskehitystyökalut ovat varteenotettava vaihtoehto virallisille alustakohtaisille kehitystyökaluille. Niiden oppimiskynnystä pidettiin alustojen virallisia kehitystyökaluja matalampana ja kehitysvauhtia nopeampana usealle alustalle kohdistuvassa sovelluskehityksessä. Alustariippumattomien kehitystyökalujen suurimpina heikkouksina alustojen virallisiin kehitystyökaluihin nähden pidettiin niitä rajatumpia laiteominaisuuksille tarjottuja ohjelmointirajapintoja sekä myöhäisempää pääsyä alustojen uusiin toiminnallisuuksiin. Tämän tutkimuksen johtopäätöksissä esitettiin suuntaviivat oikean mobiilisovelluskehitystyökalun valintaan erityyppisissä mobiilisovelluskehitysprojekteissa. Developing mobile applications with the official platform specific software developments kits (SDKs) becomes challenging when the same application has to be created for multiple mobile operating systems. The application developer has to master application development and design practices specific to each mobile operating system, which often results to separate development projects for each supported platform.
This thesis studied the technologies and tools for mobile cross-platform application development. Cross-platform tools (CPTs) are advertised to speed up the application development targeting multiple mobile platforms by sharing the code base between the platforms. In addition, this thesis aimed to find the most suitable CPT for a mobile development team working for Mining and Construction segment of Metso. Three most promising tools, Appcelerator Titanium, PhoneGap and Sencha Touch, were selected and a test application was development with them for Android and iOS platforms. The development process and the outcome of the test application developed with the selected CPTs were compared with the help of nine predetermined evaluation criteria.
According to the results of this research, the mobile CPTs proved to be a viable alternative for the official platform specific SDKs. Their learning curve was considered steeper and application development speed higher when targeting multiple platforms. The most notable drawbacks of using CPTs were more limited application programming interfaces (APIs) to device features and delayed access to the latest functionality of the supported mobile operating systems. In the conclusions of this research, guidelines for selecting the right mobile application development tool for different types of mobile application development projects were proposed.
Tässä diplomityössä tutustuttiin alustariippumattoman mobiilisovelluskehityksen tekniikoihin ja työkaluihin, jotka väitetysti nopeuttavat usealle alustalle kohdistuvaa sovelluskehitystä hyödyntämällä mahdollisimman paljon samaa lähdekoodia tuettavien kohdealustojen välillä. Tämän diplomityön tavoitteena oli lisäksi löytää Metson Mining and Construction -segmentin alaisuudessa toimivan mobiilisovelluskehitystiimin käyttötarkoituksiin parhaiten soveltuva alustariippumaton kehitystyökalu. Tätä varten valittiin kolme lupaavinta kehitystyökalua, Appcelerator Titanium, PhoneGap ja Sencha Touch, joiden avulla rakennettiin esimerkkisovellus Android- ja iOS-kohdealustoille. Eri työkaluilla rakennettujen esimerkkisovellusten toteutusprosesseja ja lopputuloksia vertailtiin yhdeksän ennalta määritetyn arviointikriteerin avulla.
Tutkimuksessa saatujen tulosten perusteella voitiin todeta, että alustariippumattomat mobiilisovelluskehitystyökalut ovat varteenotettava vaihtoehto virallisille alustakohtaisille kehitystyökaluille. Niiden oppimiskynnystä pidettiin alustojen virallisia kehitystyökaluja matalampana ja kehitysvauhtia nopeampana usealle alustalle kohdistuvassa sovelluskehityksessä. Alustariippumattomien kehitystyökalujen suurimpina heikkouksina alustojen virallisiin kehitystyökaluihin nähden pidettiin niitä rajatumpia laiteominaisuuksille tarjottuja ohjelmointirajapintoja sekä myöhäisempää pääsyä alustojen uusiin toiminnallisuuksiin. Tämän tutkimuksen johtopäätöksissä esitettiin suuntaviivat oikean mobiilisovelluskehitystyökalun valintaan erityyppisissä mobiilisovelluskehitysprojekteissa.
This thesis studied the technologies and tools for mobile cross-platform application development. Cross-platform tools (CPTs) are advertised to speed up the application development targeting multiple mobile platforms by sharing the code base between the platforms. In addition, this thesis aimed to find the most suitable CPT for a mobile development team working for Mining and Construction segment of Metso. Three most promising tools, Appcelerator Titanium, PhoneGap and Sencha Touch, were selected and a test application was development with them for Android and iOS platforms. The development process and the outcome of the test application developed with the selected CPTs were compared with the help of nine predetermined evaluation criteria.
According to the results of this research, the mobile CPTs proved to be a viable alternative for the official platform specific SDKs. Their learning curve was considered steeper and application development speed higher when targeting multiple platforms. The most notable drawbacks of using CPTs were more limited application programming interfaces (APIs) to device features and delayed access to the latest functionality of the supported mobile operating systems. In the conclusions of this research, guidelines for selecting the right mobile application development tool for different types of mobile application development projects were proposed.