K-INFO
HU
EN
Belépés

Mobilszoftver-platformok

Mobile Software Platforms
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Mobilszoftver-platformok
Mobile Software Platforms
Tantárgykód BMEVIAUMA05
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 2 1 0
jelleg (kapcsolt/önálló) kapcsolt
Tanulmányi teljesítmény/értékelés típusa félévközi érdemjegy
Tantárgy kreditértéke 4
Tantárgyfelelős
DR. Forstner Bertalan
beosztás: egyetemi docens
Tantárgyat gondozó oktatási szervezeti egység
Automatizálási és Alkalmazott Informatikai Tanszék
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram

 

Előadás anyaga

1.

Ismertetésre kerülnek a mobilplatformokhoz kapcsolódó alapelvek. Áttekintjük az aktuálisan legelterjedtebb platformokat. Megismerkedünk a platformfüggetlenség és keresztplatformos fejlesztés fogalmaival.

2.

Áttekintjük az Android platform alapjait és a főbb alkalmazás komponenseket mélyebb szinten. Alkalmazások lazán csatolt architektúrája, komponensek kommunikációja. Az előadás részét képezi az instant (telepítés nélküli) alkalmazások bemutatása is.

3.

Az előadás témája az összetett felhasználói felülettervezés Android környezetben, layout-ok és vezérlők felhasználása, testreszabása, képernyő méret függetlenség, tablet, telefon, és egyéb eszköz egyidejű támogatása. Megvizsgáljuk a Fragmentek és a ConstraintLayout működését.

4.

Áttekintjük a hálózati kommunikáció lehetőségeit Android környezetben. Megvizsgáljuk, hogyan lehet elérni a beépített alkalmazásokat, feliratkozni rendszer eseményekre és felüldefiniálni az alapértelmezett viselkedést.

5.

Az előadáson egyrészt a  Google Play szolgáltatásaival, másrészt pedig a helyfüggő Android alkalmazások készítésével foglalkozunk (fused location, proximity alert stb.) Megismerkedünk a térképek és overlay megjelenítési technikák használatával.

6.

Az előadás fő témája az iOS platform alapjainak bemutatása. Megismerkedünk a platform jellegzetességeivel és a Swift programozási nyelv alapjaival.

7.

Az előadás témája a felhasználói felületek készítése iOS alkalmazásokhoz: Storyboard, Segue, View Controllerek bemutatása. Áttekintjük a platformra jellemző design alapelveket. Megismerkedünk a többnézetes iOS alkalmazások készítésének alapjaival (Navigation Controller, Tab Bar Controller).

8.

Az előadáson ismertetjük az egyik leggyakrabban használt iOS-es komponenst, a Table View-t.  Megismerjük az iOS alkalmazások életciklusát. Szó lesz az animációkról és az alkalmazások közti kommunikációs lehetőségekről. Áttekintjük az alkalmazások és a rendszer védelmi mechanizmusait (pl. sandboxing) és néhány adattárolási megoldást.

9.

Az előadás témája az Apple fejlesztői szolgáltatások ismertetése (pl. Push Notification, iCloud). Megvizsgáljuk a rendszeralkalmazások kibővítésének lehetőségeit, és az alkalmazások közötti integrációs lehetőségeket (pl. widgetek és dokumentumszolgáltatók).

10.

Bemutatjuk a keresztplatformos mobil alkalmazás fejlesztés koncepcióját. Megvizsgáljuk a .NET alapú Xamarin keretrendszert és fejlesztőkörnyezet és fejlesztési folyamatot. Ismertetjük a szorosan kapcsolódó szoftverfejlesztési technikákat, tervezési mintákat (DI, IoC).

11.

Platformfüggetlen felhasználói felület programozása Xamarin.Forms keretrendszerrel XAML nyelven. Áttekintjük a legfontosabb koncepciókat: vezérlők, erőforrások, stílusok, navigáció. Továbbá téma az MVVM tervezési minta alkalmazása Xamarin.Forms alkalmazások esetében.

12.

Áttekintjük a webes technológiák mobil fejlesztési aspektusait, webes keretrendszerek összehasonlítása, legfontosabb webes ismeretek átismétlése mobil alkalmazások szempontjából. Bevezetés a React keretrendszer használatában.

13.

Ismertetjük a React Native keresztplatformos mobil alkalmazás fejlesztési keretrendszer használatának legfontosabb elemeit, felületkészítés, natív funkciók elérése, (location, kamera stb.), tárhely- hálózatkezelés. Bemutatjuk és elemezzük a kapcsolódó tervezési mintákat (Flux, Redux)

14.

Kitekintés egyéb mobil fejlesztés szempontjából releváns webes keretrendszerek használatába, pl.: az Phonegap, Ionic, Titanium, Progressive Web Applications (PWA).

 

 

Gyakorlat anyaga

1.

A gyakorlat keretein belül megismerkedünk a több komponensből álló Android alkalmazások fejlesztésével, a komponensek közti kommunikációval és az állapotmentéssel.

2.

A gyakorlat témái a Fragment és ConstraintLayout alapú Android alkalmazástervezés adatbázis támogatással és a hatékony adatkezelési módszerek alkalmazása.

3.

A gyakorlaton az Android hálózati kommunikációt és térképhasználatot nézzük át példákon keresztül. Külső osztálykönyvtárak integrálása. Szintén a gyakorlat része a speciális Play szolgáltatások bemtatása, mint például az Activity recognition.

4.

Swift programozás: a gyakorlat keretein belül megismerjük a programozási nyelv alapelveit és funkcióit. A megismert új fogalmakat kipróbáljuk Playground segítségével. Áttekintjük az iOS alkalmazások architekúráját, valamint a kód és felhasználói felület közötti kapcsolatot (Outletek és Actionök).

5.

A gyakorlaton megismerkedünk a perzisztens adattárolást elősegítő Core Data keretrendszerrel, a leggyakrabban használt kommunikációs technológiákkal, a helymeghatározással kapcsolatos megoldásokkal. Szó lesz a különböző szenzorok kezeléséről, az értesítésekről és a multimédiás lehetőségekről.

6.

A gyakorlaton megismerkedünk a Xamarin alkalmazások fejlesztésével. Felületet készítünk natív technológiával és XAML nyelven, gyakoroljuk az MVVM és DI tervezési minta használatát.

7.

A gyakorlaton megismerkedünk a React Native webes keretrendszerrel történő fejlesztéssel. Egyszerűbb felületek készítünk el, kipróbáljuk a kapcsolódó tervezési minták használatát.

 

A tárgy célja, hogy a hallgatókkal megismertesse a tipikus, mobilszoftvert alkalmazó rendszereket, valamint a szoftverek kialakításához szükséges, legelterjedtebb megközelítéseket és platformokat.

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

Előadás és gyakorlat.

Tanulástámogató anyagok

Online források
·      ; Apple Inc.: The Swift Programming Language, https://itunes.apple.com/us/book/swift-programming-language/id881256329,; 2014; raywenderlich.com Team, Matthijs Hollemans,; Fahim Farook: iOS; Apprentice Sixth Edition: Beginning iOS development with Swift 4, 2017; Reto Meier: Professional Android 4 Application; Development, 2012.; Bill Phillips, Brian Hardy: Android Programming:; The Big Nerd Ranch Guide 3rd edition, 2017.; Greg Nudelman: Android Design Patterns:; Interaction Design Solutions for Developers, 2017.; Android Developer Training, online: http://developer.android.com/training/index.html; Xamarin; Developer portal: https://developer.xamarin.com/; Xamarin.Forms: https://www.xamarin.com/forms; Charles Petzold: Creating Mobile Apps with; Xamarin.Forms, 2015.; React Native: https://facebook.github.io/react-native/docs/getting-started.html

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Objektumorientált programozási ismeretek. Szoftvertechnikák. Mobil és webes szoftverek.
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Objektumorientált programozási ismeretek. Szoftvertechnikák. Mobil és webes szoftverek.
Általános szabályok
Követelmények: A félév lezárásának módja: félévközi jegy. A félévközi jegy megszerzésének feltétele a szorgalmi időszakban megírandó két  darab zárthelyi dolgozat sikeres teljesítése. A félévközi jegyet a két dolgozatra kapott osztályzat átlaga adja. Pótlási lehetőségek: A zárthelyihez a TVSZ előírásai szerint mind a szorgalmi, mind a pótlási időszakban 1-1 pótlási lehetőséget biztosítunk.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak
Mobil- és webes szoftverek (https://www.aut.bme.hu/Course/mobilesweb)
A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.