Kliensoldali rendszerek
A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
Kliensoldali rendszerek
Client-Side Systems
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIAUAC17 | ||||||||||||
| 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. Kővári Bence András
beosztás: egyetemi docens
elérhetőség:
kovari.bence@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 | www.aut.bmne.hu | ||||||||||||
| 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ások:
1. Előnyök, hátrányok (szerver oldali megoldáshoz képest). Botok, crawlerek, share-link botok támogatása. Hogyan működnek a kliens oldali keretrendszerek (React és társai) alapszinten
2. Ergonómia
3. TypeScript
4. React (Hello World) – Tree reconciliation. Kompozíció minta, komponens alapú fejlesztés. React, Vue, Angular, Svelte, SvelteKit történelme. JSX, TSX. 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.
5. React (Állapot és eseménykezelés) – 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.
6. React (Kommunikáció a fában) – Higher order components, lifting state, forceupdate, context, külső eseményekre feliratkozás, erőforrások használata. Refs.
7. React (Render) – PureComponent, memo. Render okai, stable identity. Fragment. key attribútum. Komponens paraméterként. requestAnimationFrame. Portal. Suspense, lazy.
8. Angular, Vue – Összehasonlítás
9. Progressive Web Application (PWA), Telepített kliensek (Electron, react-native, PWA) általában. Telepíthetőség követelményei. Manifest.json. Service worker, életciklusa, eseményei, interfésze. Cache API és cache stratégiák. Share API.
10. Csomagolás és optimalizáció – Csomagolók (webpack régi, ES bundler). Tree shaking (DCE), Minifying. Lazy load: modulokra, képekre. Média formátumok: JPEG-től, AVIF-ig, picture tag. Tömörítés. http/2 és http/3 protokollok. Subpixel rendering és fontok. Fetch, XHR, CORS, websocket. Bináris adatok Javascriptben. Web alapú játékok: WebGL, WebGPU.
11. Blazor (Architektúra) – WebAssembly, C# a böngészőben, AoT, trim, DOM manipuláció és JavaScript interop. Hoszt modellek: szerver és kliens oldali renderelés, SignalR. Blazor Hybrid: Web View, MAUI. Standalone/hosted Blazor WASM. Projekt stuktúra, fejlesztési modellek.
12. Blazor (Komponensek) – Razor szintaxis, kulcsszavak, vezérlő utasítások, direktívák. Komponensek életciklusa és eseményei. Routing és navigáció, paraméterek. REST API hívás.
13. Blazor (Technikák) – Layout, adatkötés és eseménykezelés. Formok kezelése, fájl fel- és letöltés. UI virtualizáció. Sablonok. Néhány beépített komponens bemutatása.
14. Blazor (Infrastruktúra) - Konfiguráció és függőség injektálás, naplózás, hibakezelés. SignalR használata. Bootstrapping. Aszinkronitás. Lokalizáció. Autentikáció és autorizáció.
Gyakoraltok/laborok:
1. -
2. -
3. Házi feladat témaválasztás
4. React – Alapok
5. Házi feladat kidolgozás és konzultáció
6. React – Eseménykezelés, kommunikáció
7. Házi feladat kidolgozás és konzultáció
8. React – Komplex alkalmazás
9. Házi feladat kidolgozás és konzultáció
10. React – Konfiguráció, telepítés, PWA
11. Házi feladat kidolgozás és konzultáció
12. Blazor – Architektúra, komponensek
13. Blazor – Komplex alkalmazás
14. Házibemutatás
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
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.