Formation MAUI .NET

Développez des applications multiplateforme iOS et Android. Migration Xamarin Forms vers MAUI .NET. Le framework Blazor n'est pas abordé dans cette formation.
Objectifs
- Comprendre les principes de fonctionnement de .NET MAUI
- Comprendre la structure des dossiers et fichiers de code spécifique par plateforme
- Maitriser les concepts de l'interface graphique et savoir comment les gérer (composants graphiques, styles, thèmes, etc.)
- Comprendre le principe du pattern MVVM
- Savoir accéder à des web services REST et à une base de données locale
- Connaître les étapes nécessaires à la publication d'une application .NET MAUI
- Comprendre les principes de migration d'une application Xamarin vers .NET MAUI
Pré-requis
- Connaissances en C# ou en programmation orientée objet
- Connaissances en développement d'applications mobiles
Notre plan de formation
Ce plan peut être adapté à votre demande en formation sur mesure.Introduction MAUI
- Pourquoi .NET MAUI ?
- Différences entre MAUI et XAMARIN
- Principes de fonctionnement de .NET MAUI
- Les plateformes prises en charges : iOS, Android, Windows, Tizen
- Les APIs multiplateformes proposés
Mise en place
- Installation de Visual Studio sur Windows ou Mac (avec XCode)
- Création d'une première solution
- Configuration et installation des émulateurs iOS / Android
- Utilisation de terminaux réels
- Spécificités Apple iOS pour le couplage vers un Mac
- Compilation et execution en mode Debug
Un premier projet
- Description de la solution .NET MAUI App
- Structure des dossiers et fichiers de code spécfique par plateforme
- Les classes MauiProgram, App, AppShell et MainPage
- Le manifest de l'application
- Les .NET MAUI Community Toolkit et les Nugets
- Généralités sur les interfaces graphiques
- Les composants graphiques sous licence
- Le contrôleur et la vue XAML
- Le cycle de vie d'une application
- Gérer des évènements
Interfaces graphiques
- Les types de pages
- Les composants graphiques : contrôles
- Description des attributs de base
- Le rechargement à chaud Hot Reload
- Utiliser des images et spécificités par plateforme mobile
- Mise en place de styles et de thèmes
- Différences par rapport à XAMARIN
- Générer une interface graphique en code
- Afficher des données dynamiques
- Gérer des ListView
- Introduction sur le Binding
Informations complèmentaires
- L'écran de démarrage splash screen
- Les autre ressources (icônes, fonts, assets etc.)
- Définir des états visuels (bouton, checkbox, switch etc.)
- Afficher des alertes à l'utilisateur
- Principe des permissions entre plateformes
- Utiliser les préférences pour enregistrer des informations
- Créer des applications accessibles
Navigation et Shell
- Utilisation du Shell
- Lancer une nouvelle page
- Revenir en arrière
- Transmettre des données
Le pattern MVVM
- Introduction
- Les composants principaux (Model, View, ViewModel)
- Exemple et mise en pratique
- Mise en place d'évènements avec les Commands et Behaviors
Code spécifique par plateforme
- Le XAML et la balise OnPlatform
- Cibler une plateforme spécifique en code C# (compilation conditionnelle)
- Créer une API multi-plateforme et configurer le ciblage
Accéder à des web services REST
- Présentation de l'architecture REST
- Effectuer des requêtes asynchrones
- Utilisation de RestSharp
Base de données locale
- Introduction sur les base de données embarqués
- Utilisation de SQLite NET PCL et du bundle green
- Configuration et utilisation de Sqlite
- Effectuer des requêtes type CRUD
Migrer une application Xamarin vers MAUI .NET
- Plateformes supportés et principes généraux
- Mise à jour des fichier de projet, namespaces
- Remplacement des Xamarin.Essentials par les Xamarin.Community Toolkit
- Utilisation des nouvelles APIs
- Installation et utilisation, limites de l'outil de migration .NET Upgrade Assistant
- Exécution de l'application et vérification du fonctionnement
Publication
- Généralités (coût, ressources et temps d'attente avant la publication)
- Préparation pour la distribution sur Android (signature, génération apk ou aab)
- Configuration compte Apple Developer et préparation pour la distribution (droits, certificat, fichier provisionning et ipa)
- Tester l'application sur des appareils physiques (TestFlight sur iOS, Test interne / ouvert Android)
Notre intervenant(e)

Mathieu a débuté sa carrière au sein d'une filiale de Microsoft : Musiwave. Il était chargé de réaliser des sites mobiles au format WAP et des applications pour Pocket PC.
Mathieu est expérimenté depuis 2009 sur le cycle complet de développement d'applications mobiles pour Android. Il est habitué à travailler en coopération avec différents intervenants (clients, commerciaux, ergonomes, graphistes ...). Il participe régulièrement à différents Meetup (PAUG, JUG, Live coding ...)
Demander un audit technique avec Mathieu