Developper des Web Apps avec Blazor
Modifié le: 2021-04-26
Auditoire
Développeurs
Durée
3 ou 4 jours
Description
Blazor est une infrastructure permettant de créer une interface utilisateur Web interactive côté client avec .NET. Programmez le code côté client avec C# plutôt que JavaScript.
Contenu du cours
Introduction à Blazor
- Stratégies de développemnt
- Modèles d'hébergement : côté Client vs. côté Serveur
- Survol de WebAssembly
- Installation de Blazor
- Création d'un projet Visual Studio
- Travailler avec VS Code
- Structure d'un projet Blazor
Disposition
- Créer une disposition avec Blazor
- Afficher la disposition
- Disposition imbriquée
Composants
- Créer un composant
- Cycle de vie d'un composant
- Liaison "One-way" vs. Liaison "Two-way"
- Directives de liaison
- Événements de composants vs. Événements du DOM
- Valeurs en cascade
- Attributs HTML générés
- Capture de paramètres innatendus
- Remplacer des attributs sur des composants enfants
- Rendu multi-thread
- Utilisation des thread via InvokeAsync
Rendu de l'arborescence
- Rendu incrémental
- Optimisation avec @key
Composants Modèles
- Passer des données au RenderFragment
- Utiilser @typeparam pour créer des composants génériques
- utiliser des étiquettes sur les RenderFragments
Routage
- Definir les routes
- Paramètres de routage
- Contrainde les paramètres de route
- Paramètres optionnels des routes
- 404 – Not found
- Navigation HTML
- Navigation via code
- Détecter les événements de navigation
Formulaires et entrée de données
- Edition des formulaires de données
- Hériter de InputBase
- Validation
- Gérer la soumission de formulaires
- EditContext, FieldIdentifiers, et FieldState
- Accéder au state du formulaire
- Validation personalisée (custom validation)
Bibliothèque de composants
- Création de composants
- Consommer une bibliothèque de composants
- Accéder aux resources
- Mettre à jour les Packages via Nuget
Injection de dépendence
- Injection de dépendance
- Cycle de vie et portée des dépendances
- Transient vs. Singleton vs. Portée des dépendances
Ajouter une Base de données
- Entity Framework
- Code-First vs Database-First
- Repositories et Gestionnaires de données
Appeler des services API
- Création d'un web API simple
- Documenter avec OpenApi (Swagger)
- Appeler l'API avec Blazor
Gestion d'État (State)
- Application state
- Côté-serveur vs Côté-client
Configuration
- AppSettings
- Variables d'environnement
- Arguments de ligne de commande
- Gestionnaire de secrets
- Web config
Interopérabilité JavaScript
- Chargement de JavaScript
- Appeler JavaScript à partir de .NET
- Passer des éléments HTML par référence
- Appeler .NET à partir de JavaScript
- Utiliser des bibliothèques Javascript
- Cycle de vie
- Sécurité de type
- Appel de méthodes .NET statiques.
Identité
- Identification (Authentication)
- Authorisations et permissions
- Roles, Claims, Politiques
- Fonctions de sécurité
Sécurité
(s'applique à ASP.NET, pas Blazor WebAssembly)
- Https
- Cross-Site Request Forgery (XSRF/CSRF)
- Cross-Site Scripting (XSS)
- Cross-Origin Requests (CORS)
- Injection SQL