„Kliensalkalmazások” változatai közötti eltérés

A VIK Wikiből
→‎Előadások: Óra anyagának hozzáadása
Óra anyagának hozzáadása
16. sor: 16. sor:
A tárgy célja, hogy a hallgatók megismerjék a kliensoldali alkalmazások fejlesztésének módszereit és meghatározó technológiáit különös tekintettel a vékony kliensekre (webes és mobil kliensek). A tárgy külön figyelmet fordít arra, hogy a technológiai lehetőségeken túl a hallgatók gyakorlati problémákkal és megoldásokkal is találkozzanak a félév során.
A tárgy célja, hogy a hallgatók megismerjék a kliensoldali alkalmazások fejlesztésének módszereit és meghatározó technológiáit különös tekintettel a vékony kliensekre (webes és mobil kliensek). A tárgy külön figyelmet fordít arra, hogy a technológiai lehetőségeken túl a hallgatók gyakorlati problémákkal és megoldásokkal is találkozzanak a félév során.


== A szorgalmi időszakban ==
== Követelmények ==
=== Laborgyakorlatok ===  
 
=== A szorgalmi időszakban ===
 
==== Laborgyakorlatok ====
* Az összesen 10 laborból legalább 3 illetve 5 teljesítése a két témakörben.
* Az összesen 10 laborból legalább 3 illetve 5 teljesítése a két témakörben.
* A laborfeladatok felöltésének határideje:  1 hét.
* A laborfeladatok felöltésének határideje:  1 hét.


=== Házi feladat ===  
==== Házi feladat ====
A tárgyhoz 2 házi feladat (részteljesítmény értékelés) tartozik, mobilos és webes témakörben. Az első feladat bemutatásának határideje a 6. heti, a másodiké a 14. heti laboralkalom. Az első házi feladatra 10, a másodikra 20 pont kapható, amelyeknek egyenként 50%-át el kell érni.
A tárgyhoz 2 házi feladat (részteljesítmény értékelés) tartozik, mobilos és webes témakörben. Az első feladat bemutatásának határideje a 6. heti, a másodiké a 14. heti laboralkalom. Az első házi feladatra 10, a másodikra 20 pont kapható, amelyeknek egyenként 50%-át el kell érni.


52. sor: 55. sor:
=== Előadások ===
=== Előadások ===
==== Web ====
==== Web ====
* 1. hét (Albert István): [[Media:kliens_E00_20240212_követelmények.pdf | követelmények]], [[Media:kliens_ea1_2023_web.pdf | webarchitektúra]]: statikus és dinamikus kiszolgálás; HTTP-kérés, -válasz, -kapcsolat, -státuszkódok; URL: header, cache; API: REST, Postman
* 1. hét (Albert István): [[Média:Kliens E00 20240212 követelmények.pdf|követelmények]], [[Média:Kliens ea1 2023 web.pdf|webarchitektúra]]: statikus és dinamikus kiszolgálás; HTTP-kérés, -válasz, -kapcsolat, -státuszkódok; URL: header, cache; API: REST, Postman
* 2. hét (Gincsai Gábor): az előző hét folytatása: HTML: elemek, attribútumok, oldalváz, block / inline, head, p, a, img, ul, ol, li, table, form, input, label, select, datalist, audio, video; validáció: pattern, required; állapotmegőrzés: session, cookie, GDPR; HTTPS: SSL, TLS (handshake), (self-signed) certificate, érvényesség, kulcs
* 2. hét (Gincsai Gábor): az előző hét folytatása: HTML: elemek, attribútumok, oldalváz, block / inline, head, p, a, img, ul, ol, li, table, form, input, label, select, datalist, audio, video; validáció: pattern, required; állapotmegőrzés: session, cookie, GDPR; HTTPS: SSL, TLS (handshake), (self-signed) certificate, érvényesség, kulcs
* [[Media:kliens_ea2_2023_web.pdf | 3. hét (Gincsai Gábor)]]: CSS: ...; Bootstrap: grid, col, img-fluid, form; flexbox
* [[Média:Kliens ea2 2023 web.pdf|3. hét (Gincsai Gábor)]]: CSS: ...; Bootstrap: grid, col, img-fluid, form; flexbox
* [[Media:kliens_E04_20240304_JavaScript 1. rész.pdf | 4. hét (Gincsai Gábor)]]: JavaScript: transpiler, összehasonlítás (Java), nyelvi elemek, változók, (logikai) típusok (konverzió), értékadás (strict), konstans, alapértelmezett érték, feltételes futtatás, objektumok, JSON (parse, stringify), tömbök, függvények, window, global scope pollution, scopes (shadowing); DOM: querySelector[All](), createElement(), textContent(), appendChild(), setAttribute(), firstChild(), nextSibling(); eseménykezelés: addEventListener(), bubble, stopPropagation(); session / local storage: setItem(), getItem(), removeItem(), clear(); closure, self-invoking / arrow function, modul; new, this; prototípus, konstruktor, factory method, class, string interpolation, öröklés; folytatás a laboron: [[Media:kliens_E05_20240311_JavaScript 2. rész.pdf | Promise]]: ...
* [[Média:Kliens E04 20240304 JavaScript 1. rész.pdf|4. hét (Gincsai Gábor)]]: JavaScript: transpiler, összehasonlítás (Java), nyelvi elemek, változók, (logikai) típusok (konverzió), értékadás (strict), konstans, alapértelmezett érték, feltételes futtatás, objektumok, JSON (parse, stringify), tömbök, függvények, window, global scope pollution, scopes (shadowing); DOM: querySelector[All](), createElement(), textContent(), appendChild(), setAttribute(), firstChild(), nextSibling(); eseménykezelés: addEventListener(), bubble, stopPropagation(); session / local storage: setItem(), getItem(), removeItem(), clear(); closure, self-invoking / arrow function, modul; new, this; prototípus, konstruktor, factory method, class, string interpolation, öröklés; folytatás a laboron: [[Média:Kliens E05 20240311 JavaScript 2. rész.pdf|Promise]]: ...
* [[Media:kliens_ea4_2023_web.pdf | 5. hét (Albert István)]]: TypeScript: transpiler, static typing (any, noImplicitAny), structural typing, deklaráció (var, let, const), null (strictNullChecks), undefined, type narrowing / assertion, non-null assertion, optional chaining, null coalescing, enum (sorszámozás), string / number literal (union), type annotation / alias, optional values, interface; class: static, constructor, readonly, protected, extends, super, private, erősen védett mező; method overload (signatures), generic types, típuskényszer, metszettípus, spread, dekorátorok; modulok: export, import, típusdeklarációs fájl
* [[Média:Kliens ea4 2023 web.pdf|5. hét (Albert István)]]: TypeScript: transpiler, static typing (any, noImplicitAny), structural typing, deklaráció (var, let, const), null (strictNullChecks), undefined, type narrowing / assertion, non-null assertion, optional chaining, null coalescing, enum (sorszámozás), string / number literal (union), type annotation / alias, optional values, interface; class: static, constructor, readonly, protected, extends, super, private, erősen védett mező; method overload (signatures), generic types, típuskényszer, metszettípus, spread, dekorátorok; modulok: export, import, típusdeklarációs fájl
* [[Media:kliens_ea5_2023_web.pdf | 6. hét (Albert István)]]: Angular: MV*, architektúra, metaadatok, dekorátorok, komponensek, szolgáltatások, Component, string interpolation, adatkötés (@Input / @Output, CSS class / -stílus), események kötése, kétirányú adatkötés, attribútum / property, (strukturális / attribútum)direktívák (HostListener), ngIf, ngFor, direktíva, alkalmazás- / komponens-életciklus, lifecycle hooks, ngOnInit, ngOnChanges, SimpleChange, ngDoCheck
* [[Média:Kliens ea5 2023 web.pdf|6. hét (Albert István)]]: Angular: MV*, architektúra, metaadatok, dekorátorok, komponensek, szolgáltatások, Component, string interpolation, adatkötés (@Input / @Output, CSS class / -stílus), események kötése, kétirányú adatkötés, attribútum / property, (strukturális / attribútum)direktívák (HostListener), ngIf, ngFor, direktíva, alkalmazás- / komponens-életciklus, lifecycle hooks, ngOnInit, ngOnChanges, SimpleChange, ngDoCheck
* 7. hét (Albert István): az előző hét folytatása: ngModule, bootstrapping, (im)pure (Reverse)Pipe; szolgáltatások (DI, scope, interface): HttpClient; szinkronitás, számosság (Observable), routing (RouterOutlet, RouterLink), linkek, Guard, (reaktív) formok (ellenőrzés), szinkron adatfolyam, vezérlők, komponensstílusok, témák, animáció
* 7. hét (Albert István): az előző hét folytatása: ngModule, bootstrapping, (im)pure (Reverse)Pipe; szolgáltatások (DI, scope, interface): HttpClient; szinkronitás, számosság (Observable), routing (RouterOutlet, RouterLink), linkek, Guard, (reaktív) formok (ellenőrzés), szinkron adatfolyam, vezérlők, komponensstílusok, témák, animáció


==== Android ====
==== Android ====
* [[Media:kliens_ea1_2023_mob.pdf | Alapok, Activity, Lifecycle, ViewBinding]]
* 8. hét: ''szünet''
* [[Media:kliens_ea2_2023_mob.pdf | Intent, UI, View]]
* [[Média:Kliens ea 09 20240408.pdf|9. hét (Gazdi László)]]: alapok, Activity, Lifecycle, ViewBinding
* [[Media:kliens_ea3_2023_mob.pdf | Fragment, RecyclerVIew, Persistence]]
* [[Média:Kliens ea 10 20240415.pdf|10. hét (Gazdi László)]]: Intent, UI, View
* [[Media:kliens_ea4_2023_mob.pdf | Compose]]
* [[Média:Kliens ea 11 20240422.pdf|11. hét (Pásztor Dániel)]]: View, Menu, Style, Animation
* [[Media:kliens_ea5_2023_mob.pdf | NFC, Bluetooth, Http, Retrofit, BR, Service, Permissions]]
* [[Média:Kliens ea 12 20240429.pdf|12. hét (Gazdi László)]]: Fragment, RecyclerVIew, Persistence
* [[Média:Kliens ea 13 20240506.pdf|13. hét (Gazdi László)]]: Compose
* [[Média:Kliens ea 14 20240513.pdf|14. hét (Gazdi László)]]: NFC, Bluetooth, Http, Retrofit, BR, Service, Permissions
* 15. hét: ''szünet''


=== Laborok ===
=== Laborok ===
* A tárgy GitHub io oldalán elérhető.
* https://bmeviaubb03.github.io/laborok/


== Házi feladatok ==
== Házi feladatok ==

A lap 2024. május 22., 17:59-kori változata

Kliensalkalmazások
Tárgykód
VIAUBB03
Általános infók
Szak
üzemmérnök
Kredit
5
Ajánlott félév
4
Tanszék
AUT
Követelmények
Labor
13 db
KisZH
nincs
NagyZH
nincs
Házi feladat
2 db
Vizsga
írásbeli
Elérhetőségek

A tárgy célja, hogy a hallgatók megismerjék a kliensoldali alkalmazások fejlesztésének módszereit és meghatározó technológiáit különös tekintettel a vékony kliensekre (webes és mobil kliensek). A tárgy külön figyelmet fordít arra, hogy a technológiai lehetőségeken túl a hallgatók gyakorlati problémákkal és megoldásokkal is találkozzanak a félév során.

Követelmények

A szorgalmi időszakban

Laborgyakorlatok

  • Az összesen 10 laborból legalább 3 illetve 5 teljesítése a két témakörben.
  • A laborfeladatok felöltésének határideje: 1 hét.

Házi feladat

A tárgyhoz 2 házi feladat (részteljesítmény értékelés) tartozik, mobilos és webes témakörben. Az első feladat bemutatásának határideje a 6. heti, a másodiké a 14. heti laboralkalom. Az első házi feladatra 10, a másodikra 20 pont kapható, amelyeknek egyenként 50%-át el kell érni.

Aláírás

Mindkét házi feladat sikeres bemutatása és legalább 5 és 10 pont elérése. Legalább 8 (3+5) labor sikeres teljesítése.

Pótlási lehetőség

A póthéten az egyik házifeladat pótolható.

Vizsga

A vizsgaidőszakban írásbeli vizsgát tartunk, amely 60 pontos, ebből legalább 30 pontot el kell érni a sikerességhez.

Osztályozás

A végső osztályzatot a házi és a vizsga pontszámok összeadásával határozzuk meg.

Laborok: max. 10 pont Mobil házi feladat: max. 10 pont Webes házi feladat: max. 20 pont Vizsga: max. 60 pont

Értékelés

  • 88– 100: jeles
  • 75 – 87: jó
  • 62 – 74: közepes
  • 50 – 61: elégséges
  • 0 – 49: elégtelen

Tematika

Előadások

Web

  • 1. hét (Albert István): követelmények, webarchitektúra: statikus és dinamikus kiszolgálás; HTTP-kérés, -válasz, -kapcsolat, -státuszkódok; URL: header, cache; API: REST, Postman
  • 2. hét (Gincsai Gábor): az előző hét folytatása: HTML: elemek, attribútumok, oldalváz, block / inline, head, p, a, img, ul, ol, li, table, form, input, label, select, datalist, audio, video; validáció: pattern, required; állapotmegőrzés: session, cookie, GDPR; HTTPS: SSL, TLS (handshake), (self-signed) certificate, érvényesség, kulcs
  • 3. hét (Gincsai Gábor): CSS: ...; Bootstrap: grid, col, img-fluid, form; flexbox
  • 4. hét (Gincsai Gábor): JavaScript: transpiler, összehasonlítás (Java), nyelvi elemek, változók, (logikai) típusok (konverzió), értékadás (strict), konstans, alapértelmezett érték, feltételes futtatás, objektumok, JSON (parse, stringify), tömbök, függvények, window, global scope pollution, scopes (shadowing); DOM: querySelector[All](), createElement(), textContent(), appendChild(), setAttribute(), firstChild(), nextSibling(); eseménykezelés: addEventListener(), bubble, stopPropagation(); session / local storage: setItem(), getItem(), removeItem(), clear(); closure, self-invoking / arrow function, modul; new, this; prototípus, konstruktor, factory method, class, string interpolation, öröklés; folytatás a laboron: Promise: ...
  • 5. hét (Albert István): TypeScript: transpiler, static typing (any, noImplicitAny), structural typing, deklaráció (var, let, const), null (strictNullChecks), undefined, type narrowing / assertion, non-null assertion, optional chaining, null coalescing, enum (sorszámozás), string / number literal (union), type annotation / alias, optional values, interface; class: static, constructor, readonly, protected, extends, super, private, erősen védett mező; method overload (signatures), generic types, típuskényszer, metszettípus, spread, dekorátorok; modulok: export, import, típusdeklarációs fájl
  • 6. hét (Albert István): Angular: MV*, architektúra, metaadatok, dekorátorok, komponensek, szolgáltatások, Component, string interpolation, adatkötés (@Input / @Output, CSS class / -stílus), események kötése, kétirányú adatkötés, attribútum / property, (strukturális / attribútum)direktívák (HostListener), ngIf, ngFor, direktíva, alkalmazás- / komponens-életciklus, lifecycle hooks, ngOnInit, ngOnChanges, SimpleChange, ngDoCheck
  • 7. hét (Albert István): az előző hét folytatása: ngModule, bootstrapping, (im)pure (Reverse)Pipe; szolgáltatások (DI, scope, interface): HttpClient; szinkronitás, számosság (Observable), routing (RouterOutlet, RouterLink), linkek, Guard, (reaktív) formok (ellenőrzés), szinkron adatfolyam, vezérlők, komponensstílusok, témák, animáció

Android

Laborok

Házi feladatok

Web

  • A házi feladat során egy Angular alapú webalkalmazást kell készíteni.

Android

  • Az előadásokon és laborokon bemutatott technológiák segítségével egy komplex alkalmazás készítése, önálló funkcionalitással

Vizsga

  • Írásbeli vizsga, maximum 60 pont.
    • 36 pont web + 24 pont android
    • minimum 30 pont
    • Igaz-hamis, felelet választós, kifejtős, kódolós

Mintavizsga

  • Kifejtős: Mi az a TypeScript dekorátor? Milyen szintaktikával használjuk
  • Felelet választós: Melyik nem Android komponens?
    • Activity, ContentProvider, Application, Service
  • I/H: Angular-ben a felületeket deklaratív szintaxissal adjuk meg.
  • I/H: Az Androidos SDK fizetős.


1. félév
2. félév
3. félév
4. félév
5. félév
6. félév