Prenez contact avec nous
 Durée 14 heures

Plan du cours

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

  • Architecture de .NET MAUI et cycle de vie des applications
  • Structure de projet multiplateforme et architecture à projet unique
  • Compréhension des gestionnaires (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 le 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 modèles avancés de MVVM

  • Rappel du MVVM et de la séparation des préoccupations
  • Techniques avancées de liaison de données (data binding)
  • Liaisons compilées et performances de liaison
  • INotifyPropertyChanged et collections observables
  • Commandes, commandes asynchrones et paramètres de commande
  • CommunityToolkit.Mvvm et générateurs de code (source generators)
  • ViewModels, services et gestion de l'état
  • Navigation et ViewModels prenant en compte la navigation
  • Gestion de la validation et de l'état de l'application
  • Exercice : Construire une application MVVM multi-pages avec validation et opérations asynchrones

3. Injection de dépendances et architecture des applications

  • Injection de dépendances intégrée à .NET
  • Durées de vie des services : éphémère, par portée (scoped) et unique (singleton)
  • Enregistrement de services spécifiques à la plateforme et partagés
  • Injection par constructeur et composition de services
  • Inversion de dépendances et découplage
  • Modèles de repository et de service
  • Gestion des dépendances applicatives globales
  • Configuration et services spécifiques à l'environnement
  • Exercice : Réécrire une application en utilisant l'injection de dépendances

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

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

5. Développement de composants et de bibliothèques réutilisables

  • Conception de composants d'interface réutilisables
  • Création de contrôles personnalisés et de ContentViews
  • Paramétrage des composants et liaison de données
  • Création de comportements et de convertisseurs réutilisables
  • Organisation de la fonctionnalité partagée de l'application
  • Création de bibliothèques de classes .NET pour les applications MAUI
  • Emballage 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 (UI/UX) avancée, mises en page et animations

  • Mises en page avancées et conception d'interface responsive
  • Interfaces adaptatives pour téléphones, tablettes et ordinateurs de bureau
  • ressources dynamiques et mise en forme
  • Dictionnaires de ressources et gestion des thèmes
  • Thèmes clair et sombre
  • États visuels et interface pilotée par l'état
  • Animations et transitions avancées
  • Reconnaissance des gestes
  • Dessin personnalisé et graphisme
  • Prise en compte de l'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 des données locales
  • SQLite et bases de données locales
  • Modèles de repository pour l'accès aux données
  • Conception d'applications fonctionnant prioritairement hors ligne
  • Synchronisation entre données locales et distantes
  • Stratégies de résolution de conflits
  • Mise en cache et invalidation du cache
  • Exercice : Implémenter une application orientée données capable de fonctionner hors ligne

8. Réglage et optimisation des performances

  • Identification des goulets 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 liaisons et du rendu des collections
  • Chargement et mise en cache efficaces des images
  • Programmation asynchrone et évitement du blocage du fil de l'interface utilisateur
  • Traitement en arrière-plan
  • Réduction de la taille de l'application
  • Gestion des fuites de mémoire et des cycles 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 multiplateforme
  • Points d'arrêt, surveillance (watches) et gestion des exceptions
  • Diagnostic des problèmes d'interface et de cycle de vie
  • Journalisation et diagnostic structuré
  • Outils de diagnostic et de profilage .NET
  • Profilage du CPU et de la mémoire
  • Détection des fuites de mémoire
  • Enquête sur le rendu lent 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. Modèles d'architecture et meilleures pratiques pour les applications de grande envergure

  • Choix d'une architecture applicative appropriée
  • Concepts de l'architecture propre (Clean Architecture)
  • Architecture par couches
  • Séparation de l'interface utilisateur, de la logique métier et de l'accès aux données
  • Abstractions de repository et de service
  • Principes SOLID dans les applications MAUI
  • Gestion de l'état de l'application
  • Organisation du projet par fonctionnalités
  • Conception d'applications modulaires
  • Considérations relatives à l'évolutivité et à la maintenabilité
  • Exercice : Concevoir l'architecture d'une application MAUI de 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
  • Simulation (mocking) des dépendances
  • Test du code asynchrone
  • Test de la navigation et de l'état de l'application
  • Concepts de test d'interface et d'intégration
  • Architecture applicative testable
  • Considérations relatives à l'intégration continue
  • Exercice : Créer une suite de tests pour une application MAUI

12. Sécurité dans les applications .NET MAUI

  • Architecture d'application sécurisée
  • Stockage sécurisé des informations sensibles
  • Authentification et autorisation
  • Gestion des jetons (tokens)
  • Considérations relatives à la 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
  • Menaces de sécurité courantes pour les applications mobiles
  • Exercice : Implémenter une authentification sécurisée et le stockage des identifiants

13. Déploiement et distribution des applications

  • Construction d'applications pour différentes plateformes
  • Configurations Release par rapport à Debug
  • Signature d'applications et certificats
  • Emballage des applications Android
  • Concepts de déploiement des applications iOS
  • Emballage des applications Windows
  • Gestion des versions et des releases
  • Configuration spécifique à l'environnement
  • Publication d'applications dans les magasins d'applications
  • Considérations relatives à l'intégration/continuation continues (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 gestionnaires (handlers) et de l'intégration de plateforme
  • Outils de Visual Studio et fonctionnalités de productivité
  • Pratiques de développement moderne .NET
  • Évaluation des bibliothèques tierces et des fonctionnalités du MAUI Community Toolkit
  • Considérations relatives à la migration et à la mise à niveau
  • Maintenance des applications au fil des versions .NET

15. Exercice de synthèse : Construction d'une application .NET MAUI prête pour la production

  • Définir les exigences et l'architecture de l'application
  • Concevoir la structure MVVM
  • Configurer l'injection de dépendances
  • Implémenter des composants d'interface réutilisables
  • Se connecter aux sources de données distantes et locales
  • Ajouter la mise en cache et la synchronisation
  • Implémenter la validation et la gestion des erreurs
  • Appliquer les optimisations de performance
  • Ajouter la sécurité et l'authentification
  • Tester les fonctionnalités critiques de l'application
  • Préparer 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 approfondir ses connaissances
  • Planification des prochaines étapes vers un développement MAUI prêt pour la production
  • Questions et 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)
  • Familiarité avec le cadre .NET

Public cible

  • Développeurs

Nombre de participants


Prix par participant

Nos clients témoignent (3)

Cours à venir

Catégories Similaires