Alustariippumattomien tekniikoiden haasteet mobiilikehityksessä

Älypuhelimien jatkuva yleistyminen ohjaa yhä enemmän resursseja erilaisten mobiilisovellusten kehittämiseen. Mobiilisovelluksia kehitetään perinteisesti kohdealustan mukaisilla natiiveilla tekniikoilla, mutta tämä voi aiheuttaa merkittävää epätehokkuutta, jos sovelluksen kohteena on useampi alusta....

Full description

Bibliographic Details
Main Author: Pimiä, Lauri
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:fin
Published: 2021
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/75322
Description
Summary:Älypuhelimien jatkuva yleistyminen ohjaa yhä enemmän resursseja erilaisten mobiilisovellusten kehittämiseen. Mobiilisovelluksia kehitetään perinteisesti kohdealustan mukaisilla natiiveilla tekniikoilla, mutta tämä voi aiheuttaa merkittävää epätehokkuutta, jos sovelluksen kohteena on useampi alusta. Tämän epätehokkuuden ratkaisemiseksi on kehitetty niin sanottuja alustariippumattomia tekniikoita, joiden tarkoituksena on mahdollistaa saman koodin hyödyntäminen useammalla kohdealustalla. Eri alustariippumattomia tekniikoita on kuitenkin valtava määrä, jonka lisäksi ne tarjoavat hyvin eri tasoisia lopputuloksia. Tässä tutkielmassa tutkitaan kahden uuden alustariippumattoman tekniikan: Flutterin ja React-Nativen soveltuvuutta yleiseen mobiilikehitykseen. Erityistä tarkkuutta kiinnitetään siihen, kuinka edellä mainitut tekniikat toimivat natiiveja tekniikoita vastaan ja mitä kompromisseja ne vaativat. Tutkimus toteutettiin vertailututkimuksena, johon kuului kokeellisena tutkimuksena eri tekniikoilla tuotettu testisovellus. Tämän testisovelluksen tuloksia ja kirjallisuuskatsauksessa esiin tullutta tietämystä hyödynnettiin sitten viitekehyksen luomiseen, joka antaa selkeän kuvan Flutterin ja React-Nativen heikkouksista ja vahvuuksista sekä sovelluskehittäjän että loppukäyttäjän näkökulmasta. Tutkielmassa kehitetyt testisovellukset tarjoavat myös lisäarvoa mahdollistamalla tutkielman tulosten uusimisen, mikäli jokin tutkielmassa tutkituista tekniikoista kokisi merkittäviä uudistuksia. The ever-increasing proliferation of smartphones is directing more and more resources to the development of various mobile applications. Mobile applications are traditionally developed with native technologies based on the target platform, but this can cause significant inefficiencies if the application is targeting multiple different platforms. To address this inefficiency, so-called cross-platform techniques have been developed to enable the utilization of same code on multiple target platforms. However, there are a huge number of different cross-platform techniques, in addition to which they offer very different levels of results. This thesis investigates the applicability of two new cross-platform technologies: Flutter and React-Native to general mobile application development. Particular attention is paid to how the above techniques work compared to native techniques and what trade-offs they require. The study was carried out as a comparative study, which also included a test application produced with the different native and cross platform techniques as an experimental study. The results of this test application and the knowledge gathered in the literature review were then utilized to create a framework that provides a clear picture of the weaknesses and strengths of Flutter and React-Native from the perspective of both the application developer and the end user. The test applications developed in this thesis also provide added value by enabling the renewal of the results in the future, should any of the studied techniques experience significant innovations.