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