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
_version_ 1826225753229885440
author Pimiä, Lauri
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_facet Pimiä, Lauri Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä Pimiä, Lauri Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_sort Pimiä, Lauri
datasource_str_mv jyx
description Ä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.
first_indexed 2021-05-06T20:01:17Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Lappalainen, Vesa", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.advisor", "value": "Viinikainen, Ari", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Pimi\u00e4, Lauri", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2021-05-06T05:24:51Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2021-05-06T05:24:51Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2021", "language": "", "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/75322", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "\u00c4lypuhelimien jatkuva yleistyminen ohjaa yh\u00e4 enemm\u00e4n resursseja erilaisten mobiilisovellusten kehitt\u00e4miseen. Mobiilisovelluksia kehitet\u00e4\u00e4n perinteisesti kohdealustan mukaisilla natiiveilla tekniikoilla, mutta t\u00e4m\u00e4 voi aiheuttaa merkitt\u00e4v\u00e4\u00e4 ep\u00e4tehokkuutta, jos sovelluksen kohteena on useampi alusta. T\u00e4m\u00e4n ep\u00e4tehokkuuden ratkaisemiseksi on kehitetty niin sanottuja alustariippumattomia tekniikoita, joiden tarkoituksena on mahdollistaa saman koodin hy\u00f6dynt\u00e4minen useammalla kohdealustalla. Eri alustariippumattomia tekniikoita on kuitenkin valtava m\u00e4\u00e4r\u00e4, jonka lis\u00e4ksi ne tarjoavat hyvin eri tasoisia lopputuloksia. T\u00e4ss\u00e4 tutkielmassa tutkitaan kahden uuden alustariippumattoman tekniikan: Flutterin ja React-Nativen soveltuvuutta yleiseen mobiilikehitykseen. Erityist\u00e4 tarkkuutta kiinnitet\u00e4\u00e4n siihen, kuinka edell\u00e4 mainitut tekniikat toimivat natiiveja tekniikoita vastaan ja mit\u00e4 kompromisseja ne vaativat. Tutkimus toteutettiin vertailututkimuksena, johon kuului kokeellisena tutkimuksena eri tekniikoilla tuotettu testisovellus. T\u00e4m\u00e4n testisovelluksen tuloksia ja kirjallisuuskatsauksessa esiin tullutta tiet\u00e4myst\u00e4 hy\u00f6dynnettiin sitten viitekehyksen luomiseen, joka antaa selke\u00e4n kuvan Flutterin ja React-Nativen heikkouksista ja vahvuuksista sek\u00e4 sovelluskehitt\u00e4j\u00e4n ett\u00e4 loppuk\u00e4ytt\u00e4j\u00e4n n\u00e4k\u00f6kulmasta. Tutkielmassa kehitetyt testisovellukset tarjoavat my\u00f6s lis\u00e4arvoa mahdollistamalla tutkielman tulosten uusimisen, mik\u00e4li jokin tutkielmassa tutkituista tekniikoista kokisi merkitt\u00e4vi\u00e4 uudistuksia.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "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.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2021-05-06T05:24:51Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2021-05-06T05:24:51Z (GMT). No. of bitstreams: 0\n Previous issue date: 2021", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "120", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "alustariippumaton", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "mobiilikehitys", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "React-Native", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Flutter", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Kotlin", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Swift", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Alustariippumattomien tekniikoiden haasteet mobiilikehityksess\u00e4", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202105062634", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Mathematical Information Technology", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "602", "language": "", "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "mobiilisovellukset", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "haasteet (ongelmat)", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "Android", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "iOS", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
id jyx.123456789_75322
language fin
last_indexed 2025-02-18T10:55:04Z
main_date 2021-01-01T00:00:00Z
main_date_str 2021
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/d53ff0f3-410c-495b-8d53-25d1ca27dd4a\/download","text":"URN:NBN:fi:jyu-202105062634.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2021
record_format qdc
source_str_mv jyx
spellingShingle Pimiä, Lauri Alustariippumattomien tekniikoiden haasteet mobiilikehityksessä alustariippumaton mobiilikehitys React-Native Flutter Kotlin Swift Tietotekniikka Mathematical Information Technology 602 mobiilisovellukset haasteet (ongelmat) Android iOS
title Alustariippumattomien tekniikoiden haasteet mobiilikehityksessä
title_full Alustariippumattomien tekniikoiden haasteet mobiilikehityksessä
title_fullStr Alustariippumattomien tekniikoiden haasteet mobiilikehityksessä Alustariippumattomien tekniikoiden haasteet mobiilikehityksessä
title_full_unstemmed Alustariippumattomien tekniikoiden haasteet mobiilikehityksessä Alustariippumattomien tekniikoiden haasteet mobiilikehityksessä
title_short Alustariippumattomien tekniikoiden haasteet mobiilikehityksessä
title_sort alustariippumattomien tekniikoiden haasteet mobiilikehityksessä
title_txtP Alustariippumattomien tekniikoiden haasteet mobiilikehityksessä
topic alustariippumaton mobiilikehitys React-Native Flutter Kotlin Swift Tietotekniikka Mathematical Information Technology 602 mobiilisovellukset haasteet (ongelmat) Android iOS
topic_facet 602 Android Flutter Kotlin Mathematical Information Technology React-Native Swift Tietotekniikka alustariippumaton haasteet (ongelmat) iOS mobiilikehitys mobiilisovellukset
url https://jyx.jyu.fi/handle/123456789/75322 http://www.urn.fi/URN:NBN:fi:jyu-202105062634
work_keys_str_mv AT pimiälauri alustariippumattomientekniikoidenhaasteetmobiilikehityksessä