Kliens alkalmazások fejlesztése .NET platformon

A tantárgy angol neve: Buliding Client Applications Using .NET Technologies

Adatlap utolsó módosítása: 2021. augusztus 30.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Villamosmérnöki és Mérnök Informatikus szak
Szabadon választható tantárgy

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIAUAV38   2/0/2/v 4  
3. A tantárgyfelelős személy és tanszék Dr. Kővári Bence András,
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Albert István

mérnöktanár

AUT

Szabó Gábor

tanársegéd

AUT

Tóth Tibor

ügyvivő szakértő

AUT

Simon Gábor

ügyvivő szakértő

AUT

Dr. Kővári Bence

docens

AUT


5. A tantárgy az alábbi témakörök ismeretére épít

-          .NET és C# alapismeretek.

6. Előtanulmányi rend
Ajánlott:

 

Ajánlott tárgy:

- Mérnökinformatikus szakon: Szoftvertechnikák (VIAUAB00)

- Villamosmérnök szakon: BME VIK - Beágyazott operációs rendszerek és kliens alkalmazások (VIAUAC07)

- Üzemmérnök-informatikus szakon: Eseményvezérelt és vizuális programozás (VIAUBB01)


 

7. A tantárgy célkitűzése

 

A tárgy keretében a hallgatók megismerkednek a .NET alapú kliens szoftverek fejlesztésével, így a Blazor technológiával és a XAML deklaratív felületleíró nyelv különböző változataival. A MAUI (korábban Xamarin.Forms) technológiával betekintést nyerhetnek a .NET alapú cross-platform mobil-, a WinUI, WinRT és Universal Windows Platform (UWP) megoldásokkal a korszerű Windows alapú alkalmazások fejlesztésébe. A kliens oldali Blazor WebAssembly megoldás lehetővé teszi a C# nyelv és .NET használatát böngészőben, vagy MAUI segítségével natív környezetben, így támogatva cross-platform alkalmazások fejlesztését.

A tárgy célja, hogy a hallgató megismerje a fent ismertetett kliens szoftverfejlesztési platformokat, azok meghatározó programozási felületeit, szolgáltatásait és lehetőségeit, továbbá gyakorlati útmutatót kapjon a fejlesztéshez. A tárgy egy átfogó és teljes képet ad hallgatóknak, gyakorlati példákon, problémákon és megoldásokon keresztül mutatja be a korszerű technológia jellegzetességeit. Az órák keretében a hallgatók számára lehetőség nyílik az előadás anyagának gyakorlati alkalmazására is.


 

8. A tantárgy részletes tematikája

Hét

Előadás

Gyakorlat

1

.NET kliens technológiák áttekintése, .NET keretrendszerrel való kapcsolatuk.

Bevezetés a XAML technológiákba, összehasonlítás más technológiákkal, evolúciós áttekintés. Egyszerű XAML felület felépítése és működése.

A különböző platformok hasonló és eltérő dizájn útmutatásainak áttekintése.

Aszinkronitás nyelvi szinten: az async-await minta.

XAML deklaratív leírónyelv gyakorlati összehasonlítása korábbi technológiákkal.

2

Vezérlők felépítése, komponálhatóság, egyszerű és listás vezérlők. Navigáció a különböző XAML platformokon.

Tipikus, gyakran használt vezérlők működése, tulajdonságai, eltérései a különböző platformokon.

XAML bevezető alkalmazás készítése, az async-await nyelvi elem használata.

XAML vezérlők komponálása, gyakori elemek használata.

3

Adatkötés XAML platformon, adatsablonok és az MVVM minta használata, DI tervezési minta.

Esemény kezelés, szöveg kezelés és vezérlők elrendezése (layout) a különböző XAML platformokon.

Esemény kezelés, egyszerű adatkötés.

Összetett adatkötés, MVVM architekturális minta, DI használata.

4

Rajzolás és transzformáció technológiái a XAML platformon, vezérlősablonok és stílusok használata.

Animáció és tranzíció készítése különböző XAML platformokon.

Szöveg kezelés, layout, navigáció.

Rajzolás, sablonok, animáció és tranzíció különböző platformokon.

5

A MAUI cross-platform technológiai háttere és felépítése, megkülönböztető elemei. Szenzorok elérése, egyéb mobil specifikumok.

MAUI bevezetés, natív API elérése, egyéb specifikumok.

6

Korszerű felhasználói felület készítése MAUI technológiával.

MAUI felhasználói felületek készítése, navigáció.

7

A WinRT, UWP felépítése és kapcsolata .NET-tel. A modern Windows platform technológiai alapjai.

A WinRT néhány alapvető művelete, programozói mintái.

WinRT API kliens oldali használata, az előadáson elhangzottak gyakorlása.

8

A Blazor technológia áttekintése, architekturális bevezető. A Blazor kapcsolódása egyéb webes technológiákkal. Razor szintaxis bemutatása. ASP.NET Core technológiával való kapcsolat ismertetése.

Programozási modell megismerése, Razor szintaxis gyakorlása, egyszerű Blazor alkalmazás készítése.

9

Komponensek áttekintése, layout- és oldalkezelés. Adatkötés, eseménykezelés, és életcikluskezelés megismerése. Komponens sablonok használata. JS interop lehetőségének felvázolása.

Oldalak, navigáció, layout kezelés, komponensek közötti kommunikáció, adatkötés, életcikluskezelés, JS interop.

10

Kommunikációs lehetőségek backend szolgáltatásokkal (HTTP, WebSocket, gRPC).

Kommunikáció ASP.NET Core Web API-val, SignalR-rel, gRPC-vel.

11

Űrlapok és alkalmazás állapot kezelése, adat perzisztencia. Authentikáció, authorizációs lehetőségek Blazor alkalmazásban, webes biztonsági megfontolások ismertetése.

Összetettebb Blazor alkalmazás készítése, űrlapkezelések és felhasználó menedzsmenttel, meglévő szerveralkalmazáshoz integrálva.

12

Progressive Web Application (PWA), és egyéb futtatókörnyezetek (Desktop, MAUI) támogatása Blazor alkalmazásból. SEO, távoli naplózás, analitika.

PWA és MAUI támogatás készítése Blazor alkalmazáshoz.

13

A natív Xamarin platform: MAUI nélkül elérhető lehetőségek a .NET alapú mobil fejlesztés technológiája kapcsán.

Fejlettebb Blazor megoldások: virtualizáció, CSS szeparáció, prerendering, IndexedDB, LocalStorage. Komponenskönyvtárak.

14

Esettanulmányok ismertetése, vendégelőadó.

Házi bemutató.


9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

Előadás és számítógépes gyakorlat. A számítógépes gyakorlat során az előadáson hallottak begyakorlására nyílik lehetőség korszerű fejlesztői eszközök felhasználásával.


10. Követelmények

a. A szorgalmi időszakban:

 

A hallgatók a szorgalmi időszakban házi feladatot készítenek, melyet a szorgalmi időszak utolsó napjáig kell bemutatni. A házi feladat, a TVSZ szerint, a pótlási héten, külön eljárási díj befizetése mellett pótolható.

A hallgató a félév elismerését jelentő félév végi aláírást csak akkor kaphat, ha elégséges szintű házi feladatot ad be.

A szorgalmi időszakban készített házifeladat nem kerül beszámításra a vizsgajegybe.

Elővizsga nincs.

 

b. A vizsgaidőszakban:

 

 

         A tantárgy anyagából a hallgatók szóbeli vizsgát tesznek, a félév végi osztályzatot a vizsgajegy alapján kapják.

11. Pótlási lehetőségek

A házi feladatot a szorgalmi időszak végéig be kell adni. A házi feladat, a TVSZ szerint, a pótlási héten, külön eljárási díj befizetése mellett pótolható.


12. Konzultációs lehetőségek

Igény szerint az előadókkal egyeztetve. 

13. Jegyzet, tankönyv, felhasználható irodalom

 

1.     Sergii Baidachnyi: Developing Windows 10 Applications with C#

2.     Suresh M: Step into Windows 10 UWP

3.     Charles Petzold: Creating Mobile Apps with Xamarin.Forms

4.     Himschoot: Microsoft Blazor: Building Web Applications in .NET

5.     Taurius Litvinavicius: Exploring Blazor: Creating Hosted, Server-side, and Client-side Applications with C#


 

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka

Kontakt óra (előadás)

28

Kontakt óra (gyakorlat)

28

Félévközi készülés előadásokra

6

Félévközi készülés gyakorlatokra

14

Kis házi feladat elkészítése

12

Felkészülés vizsgára

32

Összesen

120

15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Albert István

mérnöktanár

AUT

Szabó Gábor

tanársegéd

AUT

Tóth Tibor

ügyvivő szakértő

AUT

Simon Gábor

ügyvivő szakértő

AUT

Dr. Kővári Bence

docens

AUT