Algemene omschrijving
ASP.NET is een krachtig framework dat wereldwijd door miljoenen ontwikkelaars wordt gebruikt om dynamische en schaalbare webapplicaties te ontwikkelen. De training ASP.NET Advanced is speciaal ontworpen voor ontwikkelaars die bekend zijn met de basisprincipes van het framework ASP.NET en hun kennis en vaardigheden naar een hoger niveau willen tillen. In de training ASP.NET Advanced krijg jij een uitgebreide en diepgaande verkenning van geavanceerde onderwerpen binnen het framework ASP.NET, opdat je in staat bent om nog krachtigere en efficiëntere webapplicaties te ontwikkelen.
Ontdek de geavanceerde functies en mogelijkheden van ASP.NET. Door de training ASP.NET Advanced te volgen, leer je hoe jij complexe webapplicaties kunt ontwerpen en ontwikkelen, hoe jij prestaties van applicaties kunt optimaliseren en hoe jij beveiligingsuitdagingen aan kunt pakken. Met deze kennis en vaardigheden kun jij je onderscheiden in de concurrerende wereld van webontwikkeling.
De training ASP.NET Advanced vult de training ASP.NET Fundamentals aan door geavanceerde onderwerpen te behandelen, zoals MVC-architectuur, geavanceerde routing, dependency injection en asynchrone programmering. Door middel van labopdrachten en praktijkstudies, leer je niet alleen de theorie te begrijpen, maar ook hoe jij de opgedane kennis en vaardigheden toe kunt passen binnen jouw functie als ontwikkelaar.
Doelgroep
De training ASP.NET Advanced is met name geschikt voor mensen die de training ASP.NET Fundamentals hebben gevolgd en zich willen verdiepen in het framework ASP.NET.
Leerdoelen
Door de training ASP.NET Advanced te volgen zul je de volgende kennis en vaardigheden verkrijgen:
- Het ontwerpen en ontwikkelen van een consistente gebruikerservaring binnen een webapplicatie.
- Een development toolchain gebruiken om pakketten aan de clientzijde te beheren.
- Unit tests en hulpmiddelen voor foutopsporing gebruiken voor een webapplicatie in Microsoft Visual Studio.
- Authenticatie- en autorisatiebibliotheken gebruiken om identiteit te beheren en gebruikers veilig toegang te geven.
- Veilige webapplicaties ontwikkelen die beschermd zijn tegen veelvoorkomende cyberaanvallen.
- Prestaties van webapplicaties verbeteren door caching te implementeren.
- Asynchrone communicatie in twee richtingen tussen client en server inschakelen met behulp van SignalR.
- Web-API's aan een programma toevoegen om de communicatie tussen programma's te ondersteunen.
Voorkennis
Voordat je deelneemt aan de training ASP.NET Advanced, raden wij aan dat jij eerst de training ASP.NET Fundamentals hebt gevolgd en beschikt over de volgende kennis en vaardigheden:
- Ervaring met Microsoft Visual Studio en .NET.
- Programmeerkennis in C# en principes zoals lambda expressions, asynchrone programmering en LINQ.
- Enige ervaring met webontwikkeling met behulp van HTML, CSS en JavaScript.
- Inzicht in gangbare dataformaten, zoals JSON en XML.
Onderwerpen
Module 1: Client-Side Ontwikkeling
Bij het ontwikkelen van een applicatie is het belangrijk om te weten hoe jij zowel client-side als server-side code kunt ontwikkelen. In deze module leer je client-side tools kennen waarmee je complexe webapplicaties op elke schaal kunt maken, waaronder het gebruik van het Bootstrap CSS-framework om je webapplicatie vorm te geven.
Je leert hoe jij Sass kunt gebruiken, een CSS pre-processor die code-achtige functies toevoegt zoals variabelen, geneste regels en functies, die de onderhoudbaarheid van complexe CSS-stylesheets verbeteren. Je leert de principes van responsive design die je in staat stellen je webapplicatie aan te passen op basis van de mogelijkheden van de webbrowser of het apparaat door middel van CSS media queries, en hoe je een responsive gridsysteem gebruikt.
Vervolgens leer je hoe je de gulp task runner instelt en deze gebruikt om Sass-bestanden te compileren tijdens de build en bundeling en minificatie van CSS- en JavaScript-bestanden uit te voeren. Ook leer je hoe je een watcher-task instelt om Sass-bestanden automatisch te compileren terwijl je je code schrijft. Tot slot introduceren we het Blazor-framework voor het bouwen van een interactieve client-side web UI met .NET.
Lessen:
- Responsive Web Design.
- Gebruik van Front-end Ontwikkeltools.
- Kijken naar ASP.NET Core Blazor.
Lab 1: Client-Side Ontwikkeling
- Client-Side Ontwikkeling.
Na afloop van deze module kunnen deelnemers:
- Bootstrap en SASS gebruiken in een Microsoft ASP.NET Core applicatie.
- Front-end ontwikkeltools gebruiken.
- Ervoor zorgen dat een webapplicatie correct wordt weergegeven op apparaten met verschillende schermformaten.
- ASP.NET Core Blazor applicaties begrijpen.
Module 2: Testen en Troubleshooting
Het ontwikkelingsproces van software resulteert onvermijdelijk in codefouten of bugs die leiden tot uitzonderingen, onverwacht gedrag of onjuiste resultaten. Om de kwaliteit van je webapplicatie te verbeteren en een goede gebruikerservaring te bieden, moet je bugs uit alle mogelijke bronnen identificeren en elimineren. In traditionele softwareontwikkeling wordt het meeste testen aan het einde van een ontwikkelproject uitgevoerd.
De afgelopen jaren is echter algemeen geaccepteerd dat testen gedurende de gehele levenscyclus van het project de codekwaliteit verbetert en het aantal bugs in productiesoftware aanzienlijk vermindert. Je moet begrijpen hoe je tests uitvoert op afzonderlijke componenten om ervoor te zorgen dat ze naar verwachting functioneren voordat je ze samenvoegt tot een complete webapplicatie.
Het is ook belangrijk dat je weet hoe je uitzonderingen afhandelt wanneer ze zich voordoen, en ze correct afhandelt om passende gebruikersfeedback te geven zonder informatie over de structuur van de applicatie vrij te geven.
Tot slot, door logging te gebruiken in de hele applicatie, kun je gebruikersactiviteiten monitoren die mogelijk leiden tot onverwachte problemen, en productieproblemen oplossen door de stromen in de applicatie te volgen.
Lessen:
- ASP.NET Core Applicaties Testen.
- Een Uitzonderingsafhandelingsstrategie Implementeren.
- ASP.NET Core Applicaties Loggen.
Lab 1: Testen en Troubleshooting
- Testen en Troubleshooting.
Na afloop van deze module kunnen deelnemers:
- Unit tests uitvoeren om code te verifiëren en potentiële bugs te lokaliseren.
- Een Microsoft ASP.NET Core applicatie bouwen die robuuste uitzonderingafhandeling biedt.
- Applicatielogging toevoegen aan je oplossingen.
Module 3: Beheren van Beveiliging
Applicaties worden normaal gesproken geleverd via een webbrowser, via het openbare internet, aan grote aantallen gebruikers. Dit betekent dat beveiliging altijd een prioriteit moet zijn bij het bouwen van deze applicaties, omdat de applicatie, naast legitieme gebruikers, ook blootgesteld wordt aan kwaadwillende derden. Gebruikers kunnen anonieme toegang hebben of ze kunnen een ingelogde identiteit hebben, en je moet bepalen welke gebruikers welke acties kunnen uitvoeren.
Authenticatie is het vaststellen van de identiteit van een gebruiker, terwijl autorisatie het proces is waarbij een reeds geauthenticeerde gebruiker toegang krijgt tot specifieke acties of middelen. Door autorisatie te gebruiken, kun je voorkomen dat gebruikers toegang krijgen tot gevoelige informatie of middelen die bedoeld zijn voor een andere gebruiker, of voorkomen dat ze bepaalde acties uitvoeren.
De kosten van beveiligingsinbreuken kunnen erg hoog zijn, wat kan leiden tot verlies van gegevens, juridische stappen en reputatieschade. In het laatste deel zullen we kijken naar enkele specifieke kwaadwillende aanvallen, zoals cross-site scripting en SQL-injectie, en hoe je je hiertegen kunt verdedigen.
Lessen:
- Authenticatie in ASP.NET Core.
- Autorisatie in ASP.NET Core.
- Verdedigen tegen veelvoorkomende aanvallen.
Lab 1: Beheren van Beveiliging
Na afloop van deze module kunnen deelnemers:
- Basisauthenticatie toevoegen aan je applicatie.
- Microsoft ASP.NET Core Identity configureren.
- Basisautorisatie toevoegen aan je applicatie.
- Begrijpen hoe beveiligingsexploits werken en hoe je je er beter tegen kunt verdedigen.
Module 4: Prestaties en Communicatie
Moderne webapplicaties moeten snel kunnen reageren op een groot aantal gebruikersverzoeken binnen een korte tijdspanne. Caching stelt je in staat om veelvoorkomende verzoeken op te slaan, waardoor je dezelfde logica niet steeds opnieuw hoeft uit te voeren. Dit biedt de gebruiker een snelle responstijd en vermindert het systeemgebruik bij het uitvoeren van de logica voor de actie. Door verschillende vormen van statusbeheer te gebruiken, kun je stateful applicaties bouwen bovenop stateless webprotocollen, om reacties te geven die zijn afgestemd op individuele gebruikerscontexten binnen dezelfde applicatie.
Tot slot is SignalR een gebruiksvriendelijke API voor tweerichtingscommunicatie die een abstractie vormt over verschillende webcommunicatieprotocollen. Hiermee kun je server-side logica bouwen om inhoud in real-time naar webapplicaties op basis van een browser te pushen.
Lessen:
- Een cachingstrategie implementeren.
- Statusbeheer beheren.
- Ondersteuning voor tweerichtingscommunicatie.
Lab 1: Prestaties en Communicatie
- Prestaties en Communicatie.
Na afloop van deze module kunnen deelnemers:
- Caching implementeren in een Microsoft ASP.NET Core applicatie.
- Statusbeheer technologieën gebruiken om de gebruikerservaring te verbeteren door een consistente ervaring te bieden aan de gebruiker.
- Tweerichtingscommunicatie implementeren met SignalR, zodat de server de client kan informeren wanneer belangrijke gebeurtenissen zich voordoen.
Module 5: Web API's Implementeren
De meeste webapplicaties vereisen integratie met externe systemen. Representational State Transfer (REST)-services helpen de overhead van applicaties te verminderen en beperken de hoeveelheid gegevens die worden verzonden tussen client- en serversystemen door gebruik te maken van open standaarden.
Je moet weten hoe jij een Web API kunt blootstellen die REST services implementeert in je ASP.NET applicatie. Je dient ook te weten hoe jij een Web-API aan kunt roepen door zowel server-side als client-side code te gebruiken om externe REST-stijl Web API's te gebruiken.
Lessen:
- Inleiding op Web API's.
- Een Web API ontwikkelen.
- Een Web API aanroepen.
Lab 1: Web-API's Implementeren
Na afloop van deze module kunnen deelnemers:
- Diensten creëren met behulp van ASP.NET Core Web API.
- Een Web API aanroepen vanuit server-side code.
- Een Web API aanroepen vanuit client-side code.