Androidin imperatiivisen ja deklaratiivisen käyttöliittymäsuunnittelun perusteet
Yliluoma, Matias (2023)
Yliluoma, Matias
2023
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023121135900
https://urn.fi/URN:NBN:fi:amk-2023121135900
Tiivistelmä
Opinnäytetyön tarkoituksena oli vertailla Androidin imperatiivista lähestymistapaa, toisin sanoen XML-pohjaista käyttöliittymän rakentamista uuteen, deklaratiiviseen tapaan eli Jetpack Composeen. Tässä työssä esitellään yleisiä käyttöliittymän rakentamiseen liittyviä asioita, kuten elementtien ja komponenttien rakentamista. Tässä työssä sivutaan myös XML:ään upottamisen Composella tehtyjä elementtejä sekä XML-näkymien upottamisen Compose-sovellukseen. Composen upottaminen XML:ään myös sivuaa tapaa kirjoittaa XML-pohjainen sovellus uudelleen Composella.
Androidin käyttöliittymän suunnitteluun tarkoitetut työkalut jakautuvat kahteen kategoriaan; imperatiivinen ja deklaratiivinen lähestymistapa. Imperatiivinen tapa on ollut olemassa koko Android-käyttöjärjestelmän ajan. Ongelmat käyttöliittymien suhteen alkoivat, kun sovellusten ja laitevalmistajien määrät kasvoivat voimakkaasti. Tämä tarkoitti sitä, että samojen sovellusten piti sopia erilaisille laitteille. Suurimmaksi ongelmaksi kehkeytyivät laitteiden näyttöjen kokoerot. Ratkaisu ongelmaan oli Googlen kehittämä Jetpack Compose, joka noudattaa deklaratiivista lähestymistapaa käyttöliittymien suunnittelussa.
Opinnäytetyön tuloksena havaittiin, että deklaratiivinen lähestymistapa on huomattavasti nopeampi ja yksinkertaisempi, kun luodaan käyttöliittymää ja rakennetaan elementtejä. Elementtien ulkoasun muokkaaminen on myös paljon nopeampaa sekä yksinkertaisempaa verrattuna imperatiiviseen lähestymistapaan.
Androidin käyttöliittymän suunnitteluun tarkoitetut työkalut jakautuvat kahteen kategoriaan; imperatiivinen ja deklaratiivinen lähestymistapa. Imperatiivinen tapa on ollut olemassa koko Android-käyttöjärjestelmän ajan. Ongelmat käyttöliittymien suhteen alkoivat, kun sovellusten ja laitevalmistajien määrät kasvoivat voimakkaasti. Tämä tarkoitti sitä, että samojen sovellusten piti sopia erilaisille laitteille. Suurimmaksi ongelmaksi kehkeytyivät laitteiden näyttöjen kokoerot. Ratkaisu ongelmaan oli Googlen kehittämä Jetpack Compose, joka noudattaa deklaratiivista lähestymistapaa käyttöliittymien suunnittelussa.
Opinnäytetyön tuloksena havaittiin, että deklaratiivinen lähestymistapa on huomattavasti nopeampi ja yksinkertaisempi, kun luodaan käyttöliittymää ja rakennetaan elementtejä. Elementtien ulkoasun muokkaaminen on myös paljon nopeampaa sekä yksinkertaisempaa verrattuna imperatiiviseen lähestymistapaan.