Prenez contact avec nous

Plan du cours

1. Introduction à .NET MAUI et au développement multiplateforme

  • Architecture de .NET MAUI et cycle de vie de l'application
  • Structure des projets multiplateformes et architecture mono-projet
  • Compréhension des handlers, des contrôles, des mises en page et des abstractions de plateforme
  • Code spécifique à la plateforme et compilation conditionnelle
  • Gestion des dépendances et paquets NuGet
  • Travail avec Visual Studio et la CLI .NET
  • Construction et exécution d'applications sur Android, iOS, Windows et macOS
  • Exercice : Créer et configurer une application .NET MAUI multiplateforme

2. Techniques et patterns MVVM avancés

  • Rappel de MVVM et séparation des responsabilités
  • Techniques avancées de binding de données
  • Bindings compilés et performance du binding
  • INotifyPropertyChanged et collections observables
  • Commandes, commandes asynchrones et paramètres de commande
  • CommunityToolkit.Mvvm et générateurs de code
  • ViewModels, services et gestion de l'état
  • Navigation et ViewModels pris en compte par la navigation
  • Gestion de la validation et de l'état de l'application
  • Exercice : Construire une application MVVM multipage avec validation et opérations asynchrones

3. Injection de dépendances et architecture de l'application

  • Injection de dépendances intégrée à .NET
  • Durées de vie des services : éphémère, scopée et singleton
  • Enregistrement des services spécifiques à la plateforme et partagés
  • Injection par constructeur et composition de services
  • Inversion de dépendances et couplage faible
  • Patterns de dépôt et de service
  • Gestion des dépendances globales de l'application
  • Configuration et services spécifiques à l'environnement
  • Exercice : Refactoriser une application en utilisant l'injection de dépendances

4. Approfondissement de la personnalisation et de l'extension de .NET MAUI

  • Compréhension des handlers et de l'architecture de rendu de .NET MAUI
  • Handlers personnalisés et implémentations spécifiques à la plateforme
  • Mappage des contrôles .NET MAUI aux contrôles natifs de la plateforme
  • Extension des contrôles existants
  • Création de contrôles personnalisés
  • Comportement et API spécifiques à la plateforme
  • Effets, comportements et extensions d'interface utilisateur réutilisables
  • Quand utiliser les handlers, les comportements, les effets ou les contrôles personnalisés
  • Exercice : Créer et intégrer un contrôle multiplateforme personnalisé

5. Construction de composants et de bibliothèques réutilisables

  • Conception de composants d'interface utilisateur réutilisables
  • Création de contrôles et de ContentViews personnalisés
  • Paramétrage des composants et binding de données
  • Création de comportements et de convertisseurs réutilisables
  • Organisation des fonctionnalités partagées de l'application
  • Création de bibliothèques de classes .NET pour les applications MAUI
  • Empaquetage et distribution de composants réutilisables
  • Fondamentaux des paquets NuGet
  • Exercice : Construire une bibliothèque de composants réutilisables

6. Interface utilisateur/Expérience utilisateur, mises en page et animations avancées

  • Mises en page avancées et conception d'interfaces responsives
  • Interfaces adaptatives pour téléphones, tablettes et postes de travail
  • Ressources dynamiques et mise en forme
  • Dictionnaires de ressources et gestion des thèmes
  • Thèmes clair et sombre
  • États visuels et interface utilisateur pilotée par l'état
  • Animations et transitions avancées
  • Reconnaissance des gestes
  • Dessin et graphismes personnalisés
  • Considérations d'accessibilité
  • Exercice : Créer une interface MAUI responsive et animée

7. Gestion des scénarios de données complexes

  • Consommation d'API REST depuis .NET MAUI
  • Clients HTTP et accès asynchrone aux données
  • Sérialisation et désérialisation JSON
  • Gestion des erreurs et stratégies de nouvelle tentative
  • persistance locale des données
  • SQLite et bases de données locales
  • Patterns de dépôt pour l'accès aux données
  • Conception d'applications « offline-first »
  • Synchronisation entre données locales et distantes
  • Stratégies de résolution des conflits
  • Mise en cache et invalidation du cache
  • Exercice : Implémenter une application pilotée par les données capable de fonctionner hors ligne

8. Optimisation des performances et ajustements

  • Identification des goulots d'étranglement de performance
  • Optimisation du temps de démarrage
  • Gestion de la mémoire et utilisation des ressources
  • Réduction des mises à jour inutiles de l'interface utilisateur
  • Optimisation des bindings et du rendu des collections
  • Chargement efficace des images et mise en cache
  • Programmation asynchrone et évitement du blocage du thread d'interface utilisateur
  • Traitement en arrière-plan
  • Réduction de la taille de l'application
  • Gestion des fuites de mémoire et des durées de vie des objets
  • Exercice : Profiler et optimiser une application MAUI volontairement inefficace

9. Techniques avancées de débogage et de profilage

  • Débogage des applications multiplateformes
  • Points d'arrêt, zones de surveillance et gestion des exceptions
  • Diagnostic des problèmes d'interface utilisateur et de cycle de vie
  • Journalisation et diagnostic structuré
  • Outils de diagnostic et de profilage .NET
  • Profilage CPU et mémoire
  • Détection des fuites de mémoire
  • Investigation des lenteurs de rendu de l'interface utilisateur
  • Débogage des problèmes spécifiques à la plateforme
  • Utilisation des diagnostics sur appareil et émulateur
  • Exercice : Diagnostiquer et résoudre les problèmes de performance et d'exécution courants

10. Patterns d'architecture et bonnes pratiques pour les applications de grande envergure

  • Choix d'une architecture d'application appropriée
  • Concepts de l'architecture propre (Clean Architecture)
  • Architecture en couches
  • Séparation de l'interface utilisateur, de la logique métier et de l'accès aux données
  • Abstractions de dépôt et de service
  • Principes SOLID dans les applications MAUI
  • Gestion de l'état de l'application
  • Organisation du projet basée sur les fonctionnalités
  • Conception d'applications modulaires
  • Considérations de scalabilité et de maintenance
  • Exercice : Concevoir l'architecture d'une application MAUI de niveau production

11. Stratégies de test avancées

  • Test unitaire des ViewModels et des services
  • Test de la logique métier indépendamment de l'interface utilisateur
  • Mocking des dépendances
  • Test du code asynchrone
  • Test de la navigation et de l'état de l'application
  • Concepts de test d'interface utilisateur et d'intégration
  • Architecture d'application testable
  • Considérations d'intégration continue
  • Exercice : Créer une suite de tests pour une application MAUI

12. Sécurité des applications .NET MAUI

  • Architecture d'application sécurisée
  • Stockage sécurisé des informations sensibles
  • Authentification et autorisation
  • Gestion des jetons
  • Considérations de sécurité des API
  • Protection des données stockées localement
  • Communication sécurisée avec les services backend
  • Gestion des identifiants et des secrets
  • Risques de sécurité courants des applications mobiles
  • Exercice : Implémenter une authentification sécurisée et un stockage des identifiants

13. Déploiement et distribution des applications

  • Construction des applications pour différentes plateformes
  • Configurations Release par rapport à Debug
  • Signature d'application et certificats
  • Empaquetage des applications Android
  • Concepts de déploiement des applications iOS
  • Empaquetage des applications Windows
  • Versioning et gestion des releases
  • Configuration spécifique à l'environnement
  • Publication des applications sur les stores d'applications
  • Considérations CI/CD pour les projets MAUI
  • Exercice : Préparer une application MAUI pour le déploiement en production

14. Dernières fonctionnalités de .NET MAUI et de Visual Studio

  • Améliorations et changements récents de .NET MAUI
  • Nouveaux contrôles, API et capacités de développement
  • Améliorations des handlers et de l'intégration de la plateforme
  • Outillage de Visual Studio et fonctionnalités de productivité
  • Pratiques modernes de développement .NET
  • Évaluation des bibliothèques tierces et des fonctionnalités du MAUI Community Toolkit
  • Considérations de migration et de mise à niveau
  • Maintenance des applications entre les différentes versions de .NET

15. Exercice final : Construction d'une application .NET MAUI prête pour la production

  • Définition des exigences et de l'architecture de l'application
  • Conception de la structure MVVM
  • Configuration de l'injection de dépendances
  • Implémentation de composants d'interface utilisateur réutilisables
  • Connexion aux sources de données distantes et locales
  • Ajout de la mise en cache et de la synchronisation
  • Implémentation de la validation et de la gestion des erreurs
  • Application des optimisations de performance
  • Ajout de la sécurité et de l'authentification
  • Test des fonctionnalités critiques de l'application
  • Préparation de l'application pour le déploiement

16. Résumé et prochaines étapes

  • Rappel des concepts avancés de .NET MAUI
  • Écueils courants en matière d'architecture et de performance
  • Pratiques de développement recommandées
  • Ressources pour aller plus loin
  • Planification des prochaines étapes vers un développement MAUI prêt pour la production
  • Questions-réponses et discussion des projets des participants

Pré requis

  • Maîtrise du langage de programmation C#
  • Bonne compréhension des concepts de la programmation orientée objet (POO)
  • Connaissance du framework .NET

Public

  • Développeurs
 14 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (3)

Cours à venir

Catégories Similaires