Optional: Vermittlung des notwendigen Basiswissens in HTML, CSS und JavaScript und .NET/.NET Core
Einführung
- Architektur von modernen, mehrschichtigen ASP.NET MVC-Anwendungen
- Einsatzgebiete von ASP.NET Core
- Überblick über die verschiedene Architekturmodelle innerhalb von ASP.NET Core: MVC, Razor Pages, Blazor, WebAPI
- Unterschiede zwischen ASP.NET MVC Core auf Basis .NET Framework und ASP.NET MVC Core auf Basis .NET Core (nur ASP.NET Core 1.x/2.x)
Werkzeuge
- Kommandozeilenwerkzeuge (dotnet, dotnet-aspnet-codegenerator)
- Werkzeuge in Visual Studio
- Werkzeuge in Visual Studio Code (VSCode)
Architektur und Konzepte
- Middleware-Komponenten
- Controller
- Views
- Model
- Razor Templates / Razor-Syntax
- Routing
Modulariersierung und Wiederverwendbarkeit
- HTML Helper
- Razor Helper
- Tag Helper
- Partielle Views
- ViewStart.cshtml
- View Components
- Areas
Anwendungszustände speichern (Zustandsmanagement)
- Query Strings
- Hidden Fields
- Temp Data
- HttpContext Items
- Session-Variablen
- Cookies
Razor Pages vs. MVC
- Unterschiede in der Architektur zu MVC
- Unterschiede im API
- Razor Class Libraries (RCL)
Single Page Apps (SPA) mit Server Side Blazor (ab ASP.NET Core 3.0)
- Architektur mit ASP.NET SignalR und Websockets
- Vergleich zu SPAs mit anderen Techniken
- Razor Components
- Datenbindung
- Integration mit JavaScript
- Modularisierung
- Component Packages, Templated Components
Datenzugriff
- Zugriff auf Datenbanken via Entity Framework Core (z.B. auf Microsoft SQL Server)
- Konfigurationsdateien lesen
- Optional: Zugriff auf Datenbanken via ADO.NET
- Optional: Zugriff auf andere Datenspeicher, z.B. XML-Dokumente
Eingabemasken/Formulare und Validierung
- Erstellung von Formularen
- HTML-Eingabesteuerelemente nutzen
- Validieren von Benutzereingaben
- Benutzerdefinierte server- und clientseitige Validatoren
Modelbasierte Entwicklung
- Modelle
- Datenannotationen
- UI-Generierung
Hilfsklassen
- Darstellen von Grids
- Arbeiten mit Grafiken
- Versenden von Mails
- Rendern von Diagrammen
Optional: Steuerelementen für ASP.NET Core MVC
- ASP.NET Core MVC Controls Toolkit
- Kommerzielle ASP.NET Core-Steuerelemente (z.B. von Infragistics, Telerik KendoUI, Component One, DevExpress)
Fortgeschrittene Techniken
- Dependency Injection / Service Injection
- Filter
- Caching (Daten-Caching und Seitencaching)
Sicherheit: Authentifizierung/Autorisierung/Benutzerverwaltung
- Konzept von "ASP.NET Identity"
- Windows Authentifizierung / Active Directory-Authentifizierung
- Eigene Benutzerkonten
- Cloud-Benutzerkonten (Twitter, Google, Microsoft)
Deployment auf Webserver und in die Cloud
- Deployment-Techniken: Dateisystem, FTP, MSDeploy/WebDeploy, PowerShell-Skripte
- Internet Information Services (IIS)
- Kestrel / Self-Hosting
- Provider/Cloud (Microsoft Azure, optional auch andere)
Optional: Testen
- Unit Testing von ASP.NET MVC-Anwendungen
- Test von Modell und Controller
- HTTP-Testing
- UI-Testing mit Selenium
Optional: REST-Services mit dem ASP.NET (Core) WebAPI
- Unterschiede zwischen REST und SOAP/WS-*-Standards
- REST-Services mit ASP.NET WebAPI erstellen
- REST-Services per AJAX aufrufen (z.B. via jQuery und AngularJS)
- Kontrolle über HTTP-Nachrichten
- Web-API erweitern
- Metadaten mit Swagger OpenAPI
- CORS
- Datenbasierte Services mit Open Data Protocol (OData)
Optional: Google RPC (gRPC)
Optional: JavaScript und JavaScript APIs im Zusammenspiel mit ASP.NET (Core) MVC und ASP.NET (Core) Web API
- TypeScript
- jQuery und jQuery UI
- Twitter Bootstrap
- Angular
- React
- Hilfsbibliotheken: z.B. Datumsverarbeitung mit moment.js, Filtern/Sortieren mit underscore.js, Reactive Extensions for JavaScript (RxJS)
- Web-Sockets und ASP.NET (Core) SignalR
- Optional: weitere JavaScript-Frameworks wie knockout.js, Telerik KendoUI u.a. nach Ihrem Wunsch
Optional: Praxisszenarien
- Realisierung von Single Page Web Applications (SPA)
- Mobile Web-Anwendungen
- Offline-fähige Web-Anwendungen
- Benachrichtigungen/Push (Rückkanal von Server zu Browser) mit ASP.NET SignalR
- Progressive Enhancement
- Progressive Web Apps
Optional: Migration ASP.NET Web Forms zu ASP.NET MVC
Optional: Migration ASP.NET MVC zu ASP.NET Core MVC