A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
Kliensalkalmazások
Client Applications
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIAUBB03 | ||||||||||||
| 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 |
Somogyi Ferenc Attila
beosztás: adjunktus
elérhetőség:
somogyi.ferenc@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 | — | ||||||||||||
| 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
Az előadások
tematikája:
|
Előadás |
Előadás
anyaga |
|
1. |
Bevezetés
– kliensoldali fejlesztés helye, szerepe. Vékony- és vastagkliens
technológiák összehasonlítása. Az alapvető webes architektúra, kliens-szerver
működés, HTTP alapú kommunikáció. Backend as a Service (BaaS) fogalma. HTTPS
használata. |
|
2. |
Bevezetés
a web alapvető technológiáiba: HTML, CSS, Bootstrap. |
|
3. |
A
JavaScript nyelv, eseménykezelés JavaScript-ben. A HTML DOM feldolgozása.
Sorosítás JSON formátumban. jQuery könyvtár és használata. |
|
4. |
Haladó
JavaScript konstrukciók (globális változók, closure-ök, ECMA szabványok,
modulkezelés). Űrlapok szerepe és működése. LocalStorage és SessionStorage
fogalma. |
|
5. |
JavaScript
adatkezelés, adatkötés, input validáció (bevezetés az Angular keretrendszer
működésébe). TypeScript alapok. |
|
6. |
TypeScript
nyelvi elemek, fejléc fájlok, osztályok, interfészek, anonim függvények.
Fordítási folyamat (transpiling), statikus típusosság, modulrendszer |
|
7. |
React (alapok). Tree reconciliation. Kompozíció minta, komponens alapú fejlesztés. React fa. Osztály és függvény komponens. Props. Komponens életciklusa. Kompozíció, komponensek egymásba ágyazása. Statikus és feltételes gyerekek, listák. Feltételes attribútumok, class és classList. |
|
8. |
React (haladó) – state és useState. stable identity és closure kérdések. Aszinkron állapotkezelés. Eseménykezelés. Felhasználói bemenet, input és társai. Props/state/mixed alapú render (controled, uncontroled). DOM-ban tárolt állapot. Validáció. Reducers. |
|
9. |
Modern mobil alkalmazások életciklusa az Android szemszögéből. Android alkalmazás komponensek és ezek szerepe, valamint tipikus használati esetek. Több képernyős alkalmazások tervezése és megvalósítása. Általános állapot mentése életciklus váltás kezelésére. |
|
10. |
Mobil alkalmazások felhasználói felületének tervezése és megvalósítása. Felhasználói felülettel kapcsolatos erőforrások bemutatása, erőforrás minősítők. Moduláris felületek készítése, liisták kezelése. |
|
11. |
Perzisztens adattárolás elveinek bemutatása mobil környezetben. Kulcs-érték alapú adattárolási lehetőségek. Relációs adatkezelés, adat szűrés, keresés és rendezés. Aszinkron feladatvégrehajtás lehetőségei: szálak, korutinok, Flow-k. Felhasználói felület értesítése aszinkron végrehajtás esetén. |
|
12. |
A modern mobil alkalmazások felhasználói felületének tervezése és megvalósítása Jetpack Compose keretrendszerrel. Recomposition fogalma, alapelvei. Modern Android architektúrák. |
|
13. |
Mobil platformokon támogatott rövid és hosszú távú hálózati kommunikációs technológiák használata. HTTP kapcsolatok kezelése. Futásidejű engedélyek. A BroadcastReceiver, a Service és a ContentProvider komponensek használata. |
|
14. |
A félév
összefoglalása. Egyéb kitekintés: multiplatform mobilfejlesztés – HTML5 alapú
technológiák (Electron, Cordova) |
A gyakorlatok részletes tematikája:
Az első héten nem tartunk géptermi gyakorlatot.
|
Gyakorlat |
Gyakorlat anyaga |
|
1. |
- |
|
2. |
Hatékony
fejlesztőeszközök megismerése (Visual Studio Code). Böngészők használata
(Developer Toolbar). Hálózati kommunikáció figyelő eszközök (Fiddler). Cél a HTTP kommunikáció átlátása, HTML
dokumentum megjelenítése, hivatkozások letöltése. |
|
3. |
HTML gyakorlat:
HTML5, CSS dokumentumok szerkesztése. Haladó CSS technikák, grid rendszerek,
flexbox elrendezés. CSS keretrendszerek (Bootstrap). |
|
4. |
HTML DOM
manipuláció JavaScript és jQuery segítségével, dinamikus weboldal fejlesztése
AJAX technológiával. |
|
5. |
Programozás
TypeScript nyelven, a fordítás folyamatának áttekintése. |
|
6. |
React alapok, komponensek és hierarchiájuk, adatátvitel komponensek között (props), állapotkezelés (useState). Listák kezelése és renderelése. |
|
7. |
React haladó állapotkezelés, események, komponensek életciklusa, felhasználói input, feltételes renderelés, validáció. Routing támogatás React Router segítségével. |
|
8. |
1. Házi feladat bemutatása. |
|
9. |
Alkalmazás életciklus gyakorlása több képernyőből álló alkalmazás fejlesztése esetén. Életciklus váltások megfelelő kezelése, állapot mentés. |
|
10. |
Összetett felhasználói felületek tervezése és megvalósítása mobil környezetben. |
|
11. |
Perzisztens adattárolás alapú alkalmazás fejlesztése, listák kezelése. |
|
12. |
Hálózati kommunikáció alapú alkalmazás tervezése és megvalósítása. |
|
13. |
2. Házi feladat bemutatása.
|
|
14. |
|
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
Nincs megadva.
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.