optional vorab: Vermittlung der Basistechniken einer modernen Webanwendung: HTML/HTML5, CSS, JavaScript, TypeScript, DHTML, DOM, AJAX, Webservices, REST, JSON
Konzepte moderner Web-, Mobil- und Cross-Platform-Anwendung
- Moderne Webarchitekturen
Single-Page-Web-Applications (SPAs) vs. Multi-Page-Web-Applications (MPAs)
Server-Side-Pre-Rendering
Aufbau von Client und Server
Mobile Apps mit Webtechniken
Cross-Platform-Apps mit Webtechniken
Pattern für die Benutzeroberfläche (MVVM, MVC, MVP)
- Kommunikation
REST-Kommunikation mit HTTP-Diensten/Web-APIs (XML, JSON)
Benachrichtigungen/Push ("Echtzeitfähigkeit") mit Websockets
- User Experience
Usability ähnlich wie bei Desktop-Anwendungen
Responsive Web Design (RWD)
Offline-Fähigkeit
Progressive Web Apps (PWA)
Progressive Enhancement
Architektur einer modernen Web- und Mobilanwendung
- Aufbau des Servers
- Aufbau des Clients
- Kommunikationsarten
Werkzeuge
- Visual Studio
- HTTP-Debugger "Fiddler"
- Entwicklertools in den Browsern
- Weitere Werkzeuge wie ELMAH u.a.
ASP.NET MVC oder ASP.NET Core zur einfachen Erstellung von modernen Webanwendungen:
- Architektur von MVC-Anwendungen
- ASP.NET MVC im Vergleich zu ASP.NET Webforms
- ASP.NET Core MVC im Vergleich zu ASP.NET MVC
- Konzepte: Model, View, Controller, Routing, Areas, Filter
- Razor-Syntax
- HTML-Hilfsklassen für Grids, Grafiken, E-Mails, Diagramme
Modellgetriebene Entwicklung mit ASP.NET (Core) MVC
- Erstellen von Objektmodellen mit Metadaten
- Generieren von Benutzeroberflächen
- Validieren von Benutzereingaben
- Anpassen der Vorlagen
Aufbauwissen
- Caching
- Authentifizierung/Autorisierung
- Deployment
- Steuerelemente für ASP.NET (Core) MVC
- Zusatzbibliotheken für ASP.NET (Core) MVC: MVC Contrib, ASP.NET Web Optimization, T4MVC, u.a.
- Optional: Migration von ASP.NET Webforms zu ASP.NET (Core) MVC
- Optional: Mischung von ASP.NET (Core) MVC und ASP.NET Webforms in einer Webanwendung
REST-Dienste und AJAX
- Erstellung von REST-Services mit dem ASP.NET (Core) Web API
- Aufruf von der WebAPI-REST-Services in JavaScript
Clientseitige Frameworks zur einfachen Erstellung von modernen Webanwendungen, z.B.:
- Einsatz von TypeScript als JavaScript-Abstraktion
- jQuery / jQueryUI
- Twitter Bootstrap
- Angular
- React
- Vue.Js
- Svelte
- ASP.NET (Core) SignalR
- Hilfsbibliotheken: z.B. Datumsverarbeitung mit moment.js, Filtern/Sortieren mit underscore.js, Promises mit Q, Reactive Extensions for JavaScript (RxJS)
Optional: weitere JavaScript-Frameworks wie Telerik KendoUI u.a. nach Ihrem Wunsch
Testen
- Unit Testing von ASP.NET MVC-Anwendungen
- Unit Testing von JavaScript-Code
- Dependency Injection
Sicherheit
- ASP.NET (Core) Identity-System
- Login mit eigenen Benutzernkonten sowie Facebook, Google, Twitter und Microsoft Account
- Single Sign on
- Oauth 2.0/2.1 und OpenID Connect
- Implementierungen für MVC, Web API und SignalR
Anwendungspraxis:
- Single-Page-Web-Application erstellen
- Mobile Webanwendungen erstellen
- Hybrid-Anwendungen mit Responsive Web Design erstellen
- Offlinefähige Webanwendungen erstellen
- Web-Anwendungen mit Rückkanal (Push-Nachrichten) erstellen
- Hintergrund-Aufgaben mit Webworkern erstellen
Änderungen in ASP.NET Core gegenüber ASP.NET MVC
- Geänderte Konzepte
- Entfallene Klassen und Funktionen
- Neue Klassen und Funktionen