Optional: Vermittlung des notwendigen Basiswissens in HTML, CSS und JavaScript und .NET
Einführung
- Architektur von modernen, mehrschichtigen ASP.NET MVC-Anwendungen
- ASP.NET MVC im Vergleich zu ASP.NET Web Forms
- Unterschiede zwischen ASP.NET MVC und ASP.NET MVC Core
- Unterschiede zwischen ASP.NET MVC Core auf Basis .NET Framework und ASP.NET Core MVC auf Basis .NET
Architektur und Konzepte
- Middleware-Komponenten (nur ASP.NET Core)
- Controller
- Views
- Model
- Razor Templates / Razor-Syntax
- Routing
Anwendungszustände speichern
- Session-Variablen
- Cookies
Modulariersierung und Wiederverwendbarkeit
- HTML Helper
- Razor Helper
- Tag Helper (in ASP.NET Core)
- Partielle Views
- ViewStart.cshtml
- View Components (in ASP.NET Core)
- Areas
Razor Pages vs. MVC (in ASP.NET Core)
- Unterschiede in der Architektur zu MVC
- Unterschiede im API
Datenzugriff (nach Ihrer Wahl)
- Zugriff auf Datenbanken via ADO.NET
- Zugriff auf Datenbanken via Entity Framework / Entity Framework Core
- Zugriff auf anderen Datenspeicher, z.B. XML-Dokumente
Hilfsklassen
- Darstellen von Grids
- Arbeiten mit Grafiken
- Versenden von Mails
- Rendern von Diagrammen
Modelbasierte Entwicklung
- Modelle
- Datenannotationen
- UI-Generierung
Validierung
- Validieren von Benutzereingaben
- Benutzerdefinierte server- und clientseitige Validatoren
Optional: Steuerelementen für ASP.NET (Core) MVC
- ASP.NET MVC Controls Toolkit
- Kommerzielle ASP.NET MVC Steuerelemente (z.B. von Infragistics, Telerik KendoUI, Component One, DevExpress)
Caching
- Seitencaching
- Partielles Caching
Fortgeschrittene Techniken
- Dependency Injection / Service Injection
- Filter
Testen
- Unit Testing von ASP.NET MVC-Anwendungen
- Test von Modell und Controller
- HTTP-Testing
- UI-Testing
Sicherheit: Authentifizierung/Autorisierung/Benutzerverwaltung
- Konzept von "ASP.NET Identity"
- Windows Authentifizierung / Active Directory-Authentifizierung
- Eigene Benutzerkonten
- Cloud-Benutzerkonten (Twitter, Google, Microsoft)
Deployment
- Deployment-Techniken: Dateisystem, FTP, MSDeploy/WebDeploy, PowerShell-Skripte
- Internet Information Services (IIS)
- Open Web Interface for .NET (OWIN)/ Katana
- Kestrel (in ASP.NET Core)
- Self-Hosting
- Provider/Cloud (Microsoft Azure, optional auch andere)
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 Angular)
- Kontrolle über HTTP-Nachrichten
- Web-API erweitern
- Metadaten mit Swagger OpenAPI
- CORS
- Datenbasierte Services mit Open Data Protocol (Odata)
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: Integration von ASP.NET Web Forms und ASP.NET MVC in einem Projekt