Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    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