Mobilszoftver-platformok
A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
Mobilszoftver-platformok
Mobile Software Platforms
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIAUMA25 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | vizsga | ||||||||||||
| Tantárgy kreditértéke | 5 | ||||||||||||
| Tantárgyfelelős |
DR. Forstner Bertalan
beosztás: egyetemi docens
elérhetőség:
forstner.bertalan@vik.bme.hu
|
||||||||||||
| 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 | https://portal.vik.bme.hu/kepzes/targyak/VIAUMA05/ | ||||||||||||
| 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
|
|
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. |
Megismerkedünk
a Flutter keretrendszer felépítésével, működésével. Megvizsgáljuk a Dart
programozási nyelv érdekességeit, különlegességeit, illetve eltéréseit más
nyelvekhez képest. |
|
13. |
A Flutter fő komponensének, a Widgetnek az ismertetése kerül sor. Pár
egyszerű felületi elem kerül bemutatásra. Megismerjük a StatelessWidget és
StatefulWidget osztályokat. Megvizsgáljuk a Material Design által használt
elemeket. |
|
14. |
Megvizsgáljuk
egy általános Flutter projekt felépítését. Ismertetésre kerül az oldalak
közötti navigációhoz használt Navigator osztály. Végül a kódgenerátorok
fontossága kerül bemutatásra. |
|
|
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 bemutatá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
egy egyszerűbb Flutter alkalmazás elkészítésével ismételjük át az előadás
elméleti anyagait. |
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
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
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
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
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.