2018. november 7-én, a Step into Meetup csapatának szervezésében került megrendezésre a Debreceni Egyetem Informatika Karán a Step into Mobile meetup, amelyen ez alkalommal a mobilalkalmazás-fejlesztés volt terítéken.
Az eseményen három előadó három különböző technológiával, de közös specifikáció alapján ismertette egy egyszerű mobilalkalmazás létrehozásának folyamatát, illetve röviden összefoglalta az adott technológia jellegzetességeit, annak legfőbb előnyeit és hátrányait. A résztvevők így rövid betekintést nyerhettek a mobil fejlesztés világába, valamint megismerkedhettek a fejlesztés során használt legfontosabb technológiák alapjaival.
A választott technológiák között természetesen megjelent a natív iOS fejlesztés Swift nyelven, a natív Android fejlesztés Kotlin nyelven, valamint egy cross platform megoldás is, amely a Flutter segítségével került bemutatásra.
Az iOS alkalmazás fejlesztését Pete Zsolt ismertette, aki a CodeYard csapatát erősíti. Az alkalmazás Swift 4.2 segítségével, Xcode IDE-ben került megvalósításra. Zsolt ismertette, hogyan is zajlanak egy iOS alkalmazás létrehozásának főbb mozzanatai, kitért az Interface Builder használatának alapjaira, valamint live coding során bemutatta egy új funkció fejlesztésének menetét. Az alkalmazás függőségeinek kezelése a CocoaPods-t segítségével történt, a API-val történő kommunikációt és az adatok betöltését pedig az Alamofire + RxSwift + RxCocoa hármassal szemléltette.
A Simkó Szilárd Viktor által bemutatott alkalmazás Flutter-rel készült, amely cross-platform technológia révén Androidon és iOS-en is egyaránt futtatható. Az alkalmazás Dart nyelven íródott, míg a felhasználói felület a Flutter környezetben megszokott módon deklaratív UI elvén készült, amely egy új, feltörekvő szemlélet a mobil fejlesztésben.
Natív alkalmazásfejlesztés Androidon
Csapatunk Android vonalon képviselte magát a rendezvényen: előadónk egy 45 perces prezentáció keretében beszélt a natív Android alkalmazás-fejlesztésről, az alkalmazások általános felépítéséről, valamint a legszembetűnőbb eltérésekről más platformokhoz, pl. az iOS-hez vagy a webhez képest.
A bemutatott alkalmazás egy egyszerű vékony kliens, amely a GitHub publikus API-ját használva listáz repókat, megmutatja egy kiválasztott repó alapvető információit, illetve lehetőséget biztosít azok csillagozására. Az alkalmazás tartalmazza azokat az elemeket, amelyekre egy mobilalkalmazás fejlesztése esetén legelőször szükség van: lista és detail képernyőkre, keresésre, mindezt rendszerint valamilyen REST API segítségével megvalósítva, igényes felhasználói felülettel.
Az app a Google legújabb ajánlásainak megfelelően került megvalósításra, központjában az OkHttp + Retrofit + GSON hármasra épülő szolgáltatás réteg áll, míg a felhasználó felület a tavalyi Google I/O-n bemutatott Lifecycle komponensekre és a ViewModel-re épít. Az előadás során igyekeztünk szemléltetni a Kotlin programozási nyelv előnyeit, így a Synthetic Binding és a kotlinx.coroutines is megjelenik a kódban.
Az előadás zárásaként megemlítésre kerültek az Android fejlesztés legfőbb nehézségei más platformokhoz képest: az alkalmazások bonyolult életciklusa, a képernyők közötti kommunikáció nehézségei, és az állapot mentésének szükségessége, hangsúlyozva a fizikai eszközön történő tesztelés fontosságát. Természetesen nem maradhatott ki a fragmentáció sem, amely az elmúlt évek fejlesztéseinek köszönhetően szerencsére már nem okoz akkora nehézséget a fejlesztők számára, mint korábban.
Ezúton is köszönjük a meghívást a Step into Meetup csapatának. Az előadáshoz kapcsolódó kód elérhető a GitHub-on.