Jetpack Compose ja XML kehitystyökaluina
Wiiala, Oskar (2023)
Wiiala, Oskar
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023052513989
https://urn.fi/URN:NBN:fi:amk-2023052513989
Tiivistelmä
Insinöörityön tarkoituksena oli tutkia Jetpack Compose -työkalupaketin ja XML-pohjaisen kehityksen eroja Android-mobiilisovelluskehityksessä. Tavoitteena oli selvittää niiden väliset peruserot ja tutkia eroavaisuuksia tiedostojen määrän, koodin helppolukuisuuden, koodin määrän, APK-koon ja suorituskyvyn kannalta. Insinöörityössä kehitettiin kaksi identtistä Android-mobiilisovellusta, joista ensimmäinen kehitettiin käyttäen Jetpack Composea ja toinen XML:ää. Lopuksi suoritettiin useita testejä molemmille sovelluksille ja mitattiin tuloksia.
Tuloksien testaamiseen käytettiin Android Studion Macrobenchmark-kirjastoa, jolla suoritettiin erilaisia toimintoja sovelluksessa, kuten listan ja tilastojen lataaminen ja ajastimen käynnistäminen. Molempien sovellusten APK-koot mitattiin debug-tilassa ja tuotantotilassa. Koodin ja tiedostojen määrät laskettiin yhteen sovelluksen valmistuttua. Koodin helppolukuisuutta oli vaikeaa testata objektiivisesti, joten päädyttiin mielipidesuuntaiseen testaamiseen.
Jetpack Compose -pohjainen sovellus oli hieman hitaampi suorituskyvyltään verrattuna XML-pohjaiseen sovellukseen, mutta vaati noin 22 % vähemmän koodia ja 60 % vähemmän tiedostoja. APK-koko oli debug-tilassa hieman suurempi Jetpack Composessa verrattuna XML:ään, mutta tuotantotilassa ero oli vain satoja kilobittejä. Koodin helppolukuisuus oli Jetpack Composen kannalta hieman parempi verrattuna XML:ään. Johtopäätöksenä Jetpack Compose on helppokäyttöisempi verrattuna XML-pohjaiseen kehitykseen.
Tuloksien testaamiseen käytettiin Android Studion Macrobenchmark-kirjastoa, jolla suoritettiin erilaisia toimintoja sovelluksessa, kuten listan ja tilastojen lataaminen ja ajastimen käynnistäminen. Molempien sovellusten APK-koot mitattiin debug-tilassa ja tuotantotilassa. Koodin ja tiedostojen määrät laskettiin yhteen sovelluksen valmistuttua. Koodin helppolukuisuutta oli vaikeaa testata objektiivisesti, joten päädyttiin mielipidesuuntaiseen testaamiseen.
Jetpack Compose -pohjainen sovellus oli hieman hitaampi suorituskyvyltään verrattuna XML-pohjaiseen sovellukseen, mutta vaati noin 22 % vähemmän koodia ja 60 % vähemmän tiedostoja. APK-koko oli debug-tilassa hieman suurempi Jetpack Composessa verrattuna XML:ään, mutta tuotantotilassa ero oli vain satoja kilobittejä. Koodin helppolukuisuus oli Jetpack Composen kannalta hieman parempi verrattuna XML:ään. Johtopäätöksenä Jetpack Compose on helppokäyttöisempi verrattuna XML-pohjaiseen kehitykseen.
