Kom i kontakt
 Varaktighet 14 timmar

Kursplan

1. Introduktion till .NET MAUI och plattformsoberoende utveckling

  • .NET MAUI-arkitektur och applikationens livscykel
  • Multi-plattformens projektstruktur och enkelprojektarkitektur
  • Förståelse för hanterare (handlers), kontroller, layouter och plattformsabstraktioner
  • Plattformsspecifik kod och villkorsvis kompilering
  • Beroendehantering och NuGet-paket
  • Arbete med Visual Studio och .NET CLI
  • Bygga och köra applikationer på Android, iOS, Windows och macOS
  • Övning: Skapa och konfigurera en multi-plattform .NET MAUI-applikation

2. Avancerade MVVM-tekniker och mönster

  • Genomgång av MVVM och separering av bekymmer (separation of concerns)
  • Avancerade databindningstekniker
  • Kompilerade bindningar och bindningsprestanda
  • INotifyPropertyChanged och observerbara samlingar
  • Kommandon, asynkrona kommandon och kommandoargument
  • CommunityToolkit.Mvvm och källgenerering (source generators)
  • ViewModels, tjänster och tillståndshantering
  • Navigering och navigeringmedvetna ViewModels
  • Hantering av validering och applikationstillstånd
  • Övning: Bygga en flerssidig MVVM-applikation med validering och asynkrona operationer

3. Beroende injektion och applikationsarkitektur

  • Inbyggd beroende injektion i .NET
  • Tjänstelivstider: tillfällig (transient), omfångsadlig (scoped) och enstaka (singleton)
  • Registrering av plattformsspecifika och delade tjänster
  • Konstruktorinjektion och tjänstesammansättning
  • Beroende inversion och slapp koppling
  • Repository- och tjänstemönster
  • Hantering av applikationsspecifika beroenden
  • Konfiguration och miljöspecifika tjänster
  • Övning: Refaktorisera en applikation med beroende injektion

4. Djupdykning i skräddarsyn och utökning av .NET MAUI

  • Förståelse för hanterare och .NET MAUI-renderingsarkitektur
  • Skälighantering och plattformsspecifika implementationer
  • Mappning av .NET MAUI-kontroller till nativa plattforms kontroller
  • Utökning av befintliga kontroller
  • Skapande av egna kontroller
  • Plattformsspecifika beteenden och API:er
  • Effekter, beteenden och återanvändbara UI-utökningar
  • När man ska använda hanterare, beteenden, effekter eller egna kontroller
  • Övning: Skapa och integrera en skräddarsydd plattformsoberoende kontroll

5. Byggande av återanvändbara komponenter och bibliotek

  • Design av återanvändbara UI-komponenter
  • Skapande av egna kontroller och ContentViews
  • Parametrisering av komponenter och databindning
  • Skapande av återanvändbara beteenden och konverterare (converters)
  • Organisation av delad applikationsfunktionlighet
  • Skapande av .NET-klassbibliotek för MAUI-applikationer
  • Packning och distribution av återanvändbara komponenter
  • Grundläggande kunskaper om NuGet-paket
  • Övning: Bygga ett återanvändbart komponentbibliotek

6. Avancerad UI/UX, layouter och animationer

  • Avancerade layouter och responsiv UI-design
  • Adaptiva gränssnitt för telefoner, surfplattor och skrivbord
  • Dynamiska resurser och stilsettning
  • Resursdikter och temahantering
  • Ljust och mörkt tema
  • Visuella tillstånd och tillståndsstyrd UI
  • Avancerade animationer och övergångar
  • Gesturekänning (gesture recognition)
  • Egen ritning och grafik
  • Tillgänglighetsöverväganden
  • Övning: Skapa ett responsivt och animerat MAUI-gränssnitt

7. Hantering av komplexa dataflöden

  • Användning av REST API:er från .NET MAUI
  • HTTP-klienter och asynkron dataåtkomst
  • JSON-serialisering och deserialisering
  • Felhantering och återförsöksstrategier
  • Lokal datapersistens
  • SQLite och lokala databaser
  • Repository-mönster för dataåtkomst
  • Design av offlineförst-appar
  • Synkronisering mellan lokal och fjärrdata
  • Konflikthanteringsstrategier
  • Cachelagring och cache-invalidering
  • Övning: Implementera en applikation med offlinefunktionalitet som drivs av data

8. Prestandaoptimering och justering

  • Identifiering av prestandabottleneck (flaskhalsar)
  • Optimering av starttid
  • Minneshantering och resursanvändning
  • Minskning av onödiga UI-uppdateringar
  • Optimering av bindningar och renderning av samlingar
  • Effektiv bildladdning och cachelagring
  • Asynkron programmering och undvikande av UI-tråd-blockeringar
  • Bakgrundshantering
  • Minskning av applikationens storlek
  • Hantering av minnesläckor och objektlivstider
  • Övning: Profilera och optimera medvetet ineffektivt MAUI-applikation

9. Avancerade felsöknings- och profileringsmetoder

  • Felsökning av plattformsoberoende applikationer
  • Avbrottspunkter, övervakning och felhantering
  • Diagnostisering av UI- och livscykelproblem
  • Loggning och strukturerad diagnostik
  • .NET-diagnostik och profileringsverktyg
  • CPU- och minnesprofilering
  • Detektering av minnesläckor
  • Undersökning av långsam UI-rendering
  • Felsökning av plattformsspecifika problem
  • Användning av enhets- och emulator diagnos
  • Övning: Diagnosera och lösa vanliga prestanda- och körningsproblem

10. Arkitekturmodeller och bästa praxis för applikationer i stor skala

  • Väljande av lämplig applikationsarkitektur
  • Begrepp inom Clean Architecture
  • Skalad arkitektur
  • Separering av UI, affärslogik och dataåtkomst
  • Repository- och tjänstabelivningar
  • SOLID-principer i MAUI-applikationer
  • Hantering av applikationstillstånd
  • Projektorganisation baserad på funktioner
  • Modulär applikationsdesign
  • Överväganden kring skalbarhet och underhållbarhet
  • Övning: Designa arkitekturen för en MAUI-applikation i produktionsstorlek

11. Avancerade teststrategier

  • Enhetstestning av ViewModels och tjänster
  • Testning av affärslogik oberoende av UI
  • Mocking av beroenden
  • Testning av asynkron kod
  • Testning av navigering och applikationstillstånd
  • Begrepp inom UI- och integrationstestning
  • Testbar applikationsarkitektur
  • Överväganden för kontinuerlig integration
  • Övning: Skapa ett testsuite för en MAUI-applikation

12. Säkerhet i .NET MAUI-applikationer

  • Säker applikationsarkitektur
  • Säkert lagring av känslig information
  • Autentisering och auktorisering
  • Tokenhantering
  • Säkerhetsöverväganden för API:er
  • Skydd av lokalt lagrad data
  • Säker kommunikation med backend-tjänster
  • Hantering av inloggningsuppgifter och hemligheter
  • Vanliga säkerhetsrisker för mobila appar
  • Övning: Implementera säker autentisering och lagring av inloggningsuppgifter

13. Applikationens distribution och utveckling

  • Byggande av applikationer för olika plattformar
  • Release kontra Debug-konfigurationer
  • Applikationssignering och certifikat
  • Android-applikationens packning
  • Begrepp för iOS-applikationsdistribution
  • Windows-applikationens packning
  • Versionshantering och releasehantering
  • Miljöspecifik konfiguration
  • Publicering av applikationer till appbutiker
  • CI/CD-överväganden för MAUI-projekt
  • Övning: Förbereda en MAUI-applikation för produktionsdistribution

14. Senaste funktioner i .NET MAUI och Visual Studio

  • Senaste förbättringar och ändringar i .NET MAUI
  • Nya kontroller, API:er och utvecklingsmöjligheter
  • Förbättringar i hanterare och plattform integration
  • Visual Studios verktyg och produktivitetsfunktioner
  • Moderna .NET-utvecklingspraktiker
  • Bedömning av tredjepartsbibliotek och funktioner i MAUI Community Toolkit
  • Överväganden kring migration och uppgradering
  • Underhåll av applikationer över olika .NET-versioner

15. Capstone-övning: Byggande av en produktionsklar .NET MAUI-applikation

  • Definiera applikationskrav och arkitektur
  • Designa MVVM-strukturen
  • Konfigurera beroende injektion
  • Implementera återanvändbara UI-komponenter
  • Koppla till fjärr- och lokala datakällor
  • Lägga till cachelagring och synkronisering
  • Implementera validering och felhantering
  • Tillämpa prestandaoptimeringar
  • Lägga till säkerhet och autentisering
  • Testa kritisk applikationsfunktionalitet
  • Förbereda applikationen för distribution

16. Sammanfattning och nästa steg

  • Genomgång av avancerade .NET MAUI-begrepp
  • Vanliga arkitektoniska och prestandafällor
  • Rekommenderade utvecklingspraktiker
  • Vidare läroresurser
  • Planering av nästa steg mot produktionsklar MAUI-utveckling
  • Q&A och diskussion av deltagarnas projekt

Krav

  • Flytande kunskaper i programmeringsspråket C#
  • En solid förståelse av koncepten inom objektorienterad programmering (OOP)
  • Vanor med .NET-ramverket

Målgrupp

  • Utvecklare

Antal deltagare


Pris per deltagare

Vittnesmål (3)

Kommande Kurser

Relaterade Kategorier