Kotlin integráció meglévő Android alkalmazásokban

OData támogatás
Konzulens:
Dr. Forstner Bertalan
Automatizálási és Alkalmazott Informatikai Tanszék

Az Android alkalmazásfejlesztés számos olyan nehézséggel bír, amelyek minden fejlesztőt és projektet érintenek. Ezek egy része adottságként kezelendő (korlátozott teljesítményű hardver, sokféle képernyőméret), más problémák megoldása viszont a programnyelv képességein múlik (párhuzamos programozás, memóriakezelés). A megfelelő programnyelv használatával nem csak a hibák száma csökkenhet, hanem a fejlesztői produktivitás is nőhet.

A szakdolgozat megvizsgálja a natív Android fejlesztésben eddig egyedüliként használt Java, és egy új programnyelv, a Kotlin kapcsolatát, illetve az új programnyelv előnyeit és hátrányait. A vizsgálat alapja három Javaban írt Android projekt, amelyek fokozatosan átírásra kerülnek Kotlin nyelvre.

A vizsgálat először a Java nyelv utóbbi verzióinak újdonságaival foglalkozik, és ezek támogatottságával Android platformon. Ezután bemutatásra kerül a Kotlin programnyelv, amely a Java virtuális gép bytekódjára fordul, ezért ideális választásnak tűnik Android platformra. A Kotlin ígérete a fejlesztői produktivitás és a tisztább, biztonságosabb kód modern nyelvi elemek által. Az állítások vizsgálata különböző szempontok és szoftver metrikák mentén történt, például fordítási idő, forráskód csökkenés, és kód komplexitás.

A projektek fokozatos Kotlin nyelvre átírásával sikerült megvizsgálni a nyelv ígéreteit, és összemérni több szempontból a Kotlinra átírt kódbázist az eredeti Java alapúval. Az új nyelvi elemek valóban rövidebb és tisztább kódot eredményeznek, a forráskód sorok száma 7-21%-kal csökkent a projektekben. A két nyelv képes együttműködni egy projekten belül is, azonban tisztában kell lenni az együttműködés pontos szabályaival a fejlesztőnek. A Kotlin újraírással mindössze 54 KB-tal nőtt az alkalmazás végső mérete, és a metódusszám növekedés is egy közepes méretű könyvtár hozzáadásának felel meg. A projektek fordítási ideje 30-60%-kal növekedett az újraírt kód mértéke és egyéb tényezők függvényében, azonban fokozatos javulás figyelhető meg az utóbbi Kotlin fordító verziókban.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.