A specializáció tárgyai

 1. félév

Mobilszoftver-platformok (BMEVIAUMA25)

Az előadás és gyakorlat során átfogó képet kaphatunk a modern mobilplatformok fejlesztési lehetőségeiről és kihívásairól. Az első lépésekben a különböző platformok – Android, iOS és keresztplatformos megoldások – alapelveit és sajátosságait ismerjük meg. Emellett részletesen áttekintjük a platformfüggetlenség és a keresztplatformos fejlesztés koncepcióját, amely lehetővé teszi az alkalmazások hatékonyabb fejlesztését és karbantartását.

Az Android platformhoz kapcsolódóan részletesen bemutatjuk az alkalmazások felépítését, a komponensek kommunikációját, valamint az instant alkalmazások lehetőségeit. Foglalkozunk a bonyolultabb felhasználói felületek tervezésével, érintve a különböző eszköztípusok támogatását és a modern komponensek működését, Compose alapokon. Az előadások kitérnek a hálózati kommunikációra, a Google Play szolgáltatásokra és a helyalapú funkciók integrálására is.

Az iOS platform alapjainak megismerése során betekintést nyerünk a Swift nyelv alapvető koncepcióiba, a felhasználói felületek tervezésébe, valamint az iOS alkalmazások életciklusába. Bemutatásra kerülnek az Apple által biztosított fejlesztői szolgáltatások, az értesítések és a rendszerintegráció lehetőségei. A biztonsági mechanizmusok, mint a sandboxing és az adattárolási megoldások, szintén az oktatási anyag részét képezik.

A keresztplatformos fejlesztési megoldások közül kiemelten foglalkozunk a Kotlin Multiplatform, Xamarin és Flutter keretrendszerekkel. A Xamarin segítségével megvizsgáljuk az MVVM és DI tervezési minták alkalmazását, valamint a platformfüggetlen felhasználói felületek programozását XAML nyelven. A Flutter keretrendszerrel kapcsolatos előadások a Widgetek működésére, a Dart nyelv érdekességeire és a Material Design elemek használatára fókuszálnak. A gyakorlatokon az elméleti tudást konkrét példákon keresztül mélyítjük el, egyszerűbb alkalmazások fejlesztésével.

2. félév

Mobilszoftver-rendszerek fejlesztése (BMEVIAUMA26) 

Ez az átfogó tantárgy végigkalauzolja a hallgatókat a mobilalkalmazások tervezésének és fejlesztésének legfontosabb lépésein. Kezdve a platformválasztás és a formális specifikáció alapjain, a tananyag betekintést nyújt a mobilfejlesztés kihívásaiba, például a platformfüggetlenség, a hordozhatóság, és a felhasználói élmény szempontjainak kidolgozásába. A felülettervezés során megismerheted, hogyan lehet a képernyőfragmentációra felkészülni, a különböző eszközök közötti eltéréseket kezelni, és miként alkothatsz igazán felhasználóbarát alkalmazásokat.

A tantárgy a mobilalkalmazások fejlesztésének technikai mélységeibe is elvezet, nem kihagyva az adatréteg és a kommunikációs réteg tervezését korszerű eszközökkel. Megtudhatod, hogyan tervezhetsz egyedi kommunikációs protokollokat, alkalmazhatsz modern technológiákat, például REST-et vagy push üzeneteket, és hogyan integrálhatod alkalmazásod a közösségi platformokkal. Emellett a tananyag bemutatja a "Backend as a Service" koncepcióját, a csapatmunkát támogató eszközöket, valamint a külső eszközök integrálásának legjobb gyakorlatait – legyen szó akár hordható okoseszközökről, orvosi eszközökről, vagy vezeték nélküli technológiákról. Végigvesszük a mobil környezetre jellemző CI és CD eszközöket és folyamatokat.

A képzés részeként külön figyelmet kapnak a tesztelési technikák, az automatizált UI-tesztek, valamint az analitikai megoldások, amelyek segítenek az alkalmazás teljesítményének és felhasználói élményének optimalizálásában. A hallgatók betekintést nyerhetnek a mobilalkalmazások piacra lépési stratégiáiba, a különböző finanszírozási modellekbe, és az alkalmazások életciklusának kezelésébe. A kurzus elvégzése után a résztvevők képesek lesznek az összes kulcsfontosságú lépést végrehajtani egy sikeres mobilalkalmazás-tervezési és fejlesztési projektben.

Mobilszoftver laboratórium (BMEVIAUMB02) 

A laboratórium célja a Mobilszoftver-platformok, illetve Mobilszoftver-fejlesztés tárgyakon tanultak személyes kipróbálása és alkalmazása.

A vezetett méréseken hét fő témakört körüljárva készülnek önálló alkalmazás-prototípusok a következő ismeretek elmélyítésére: Szoftverfejlesztés Android platformra, Szoftverfejlesztés iOS platformra, Multiplatform mobilalkalmazás készítése, Kliens-szerver architektúrába illeszkedő mobilalkalmazás kialakítása, Ergonomikus felhasználói felület tervezése és megvalósítása, Mobilalkalmazások tesztelése különböző szinteken.