Explorer les capacités et la compatibilité multiplateforme de .NET MAUI
La création d'applications multiplateformes est une compétence fondamentale pour les développeurs modernes, et il est essentiel de comprendre les principales structures de projet sous-jacentes. Cet article, inspiré par la vidéo de Tim Corey intitulée ".NET MAUI First Look - What is it, how do we use it, and is it ready", se penche sur les complexités de la création d'applications multiplateformes à l'aide du cadre .NET MAUI.
Le .NET Framework permet de créer et d'exécuter des applications .NET spécifiquement pour Windows, en fournissant un environnement robuste pour les applications de bureau, web et serveur. En revanche, .NET MAUI étend cette capacité au développement multiplateforme en utilisant l'implémentation .NET, ce qui vous permet de créer des applications fonctionnant sous Windows, Android et iOS avec une base de code unifiée.
En suivant les indications de Tim, nous explorerons comment mettre en place, configurer et optimiser ce cadre de développement logiciel, en utilisant tout le potentiel de .NET MAUI pour créer des applications mobiles et de bureau efficaces et faciles à maintenir.
Introduction à .NET MAUI
.NET MAUI est un framework multiplateforme de pointe au sein de l'écosystème .NET, permettant aux développeurs de créer des applications pour Android, iOS, macOS et Windows à l'aide d'un code géré. Il tire parti de la bibliothèque de classes complète du framework .NET et du common language runtime (CLR) pour des performances efficaces sur différents systèmes d'exploitation.
l'architecture modulaire et optimisée de .NET MAUI prend en charge divers langages de programmation, notamment C# et Visual Basic. Intégré de manière transparente à Visual Studio, il garantit un développement .NET efficace, soutenu par la Fondation .NET et une communauté active de développeurs .NET.
Ce framework incarne l'avenir du développement .NET, offrant une compatibilité multiplateforme pour les applications web, de bureau et mobiles. Grâce à sa capacité à compiler le code .NET en code machine et à sa prise en charge des cadres de modèles d'application tels que WPF et Windows Forms, .NET MAUI est un outil polyvalent et puissant pour les développeurs d'applications .NET modernes.
Compréhension de .NET MAUI et de ses composants
Tim donne également un aperçu de .NET MAUI, expliquant qu'il s'agit d'une interface utilisateur multi-application, permettant aux applications de fonctionner sur différentes plateformes, notamment Android, iOS, macOS, Windows et Tizen, toutes programmées dans un seul langage de programmation. Toutefois, Linux n'est pas pris en charge actuellement. Il développe le rôle de successeur de .NET MAUI à Xamarin et la façon dont il consolide les différentes saveurs de .NET Core et .NET Framework sous .NET 6.
Mise en place de .NET MAUI dans Visual Studio
Tim présente la configuration d'un projet .NET MAUI à l'aide de la version preview de Visual Studio, puisque .NET MAUI n'était pas encore disponible au moment de la réalisation de la vidéo. Elle met en évidence les légères différences de la version préliminaire et mentionne la stabilité des bits de la version candidate.
Créer un nouveau projet .NET MAUI
Pour commencer, Tim Corey montre comment configurer un nouveau projet .NET MAUI. Voici les étapes décrites dans sa vidéo :
-
<Ouvrez Visual Studio: Commencez par ouvrir Visual Studio et sélectionnez l'option de création d'un nouveau projet.
-
Choisir le modèle MAUI : Parmi les modèles de projet, sélectionnez " .NET MAUI App ", " .NET MAUI Blazor App " ou " .NET MAUI Class Library " et cliquez sur " Next " Tim utilise .NET MAUI App.

-
Configurer les paramètres du projet: Saisissez le nom du projet, choisissez l'emplacement et le nom de la solution.

- Créer le projet: Cliquez sur "Créer" pour générer le projet avec les configurations par défaut et le code nécessaire.
Cette configuration fournit une base pour explorer le développement multiplateforme, Visual Studio générant une structure de base qui comprend des composants essentiels comme MauiProgram.cs, des dossiers spécifiques à la plateforme et des ressources partagées.
Examen de la structure du projet et du code .NET MAUI
Tim explore la structure du projet, en soulignant les similitudes avec les projets WPF et WinUI.
Familiarité avec XAML
Tim souligne que .NET MAUI utilise XAML pour la conception, à l'instar des projets WPF et WinUI.
Structure du projet
Tim explique la structure de MauiProgram.cs, en notant qu'elle inclut l'utilisation d'une classe statique MyProgram avec un point d'entrée CreateMauiApp. Ce projet est similaire à d'autres projets .NET, avec des configurations pour les polices, l'injection de dépendances et la journalisation.
Cadres cibles
Le projet cible plusieurs frameworks : .NET 6 pour Android, iOS, macOS (Catalyst) et Windows. Elle prend en charge Windows 10 (version 19041 et supérieure) et Windows 11.
Constructions et plateformes conditionnelles
Tim explique l'utilisation d'instructions conditionnelles dans le fichier de projet pour gérer plusieurs frameworks, séparés par des points-virgules. Cela permet de cibler des plates-formes spécifiques et de gérer les dépendances propres à ces plates-formes.
Code spécifique à la plateforme
Des dossiers pour chaque plateforme (Android, iOS, macOS, Tizen, Windows) gèrent le code spécifique à la plateforme. Les développeurs peuvent exclure les plates-formes en supprimant les cibles et dossiers respectifs du fichier de projet.
Processus de construction et abstraction
.NET MAUI fait abstraction d'une grande partie du travail spécifique à la plateforme, en compilant le code pour utiliser les API de chaque plateforme. Cela garantit un aspect et une convivialité natifs pour chaque plateforme.
Configuration et actifs
Tim aborde les fichiers de configuration comme AndroidManifest.xml et Info.plist pour iOS, qui gèrent les paramètres spécifiques à la plateforme. Des outils GUI sont disponibles pour faciliter l'édition de ces fichiers, en particulier sur iOS.
Explorer les fonctionnalités propres à une plateforme
Tim souligne l'importance des caractéristiques propres à chaque plateforme et la manière dont .NET MAUI les gère. Il aborde le dossier Platforms, qui contient des sous-dossiers pour chaque plateforme prise en charge afin d'inclure le code spécifique à la plateforme.
Fichiers de projet partagés
Tim explore ensuite la structure des projets partagés, expliquant comment le code partagé est écrit une seule fois et fonctionne sur plusieurs plateformes. Il illustre cela en examinant les fichiers MainPage.xaml et MainPage.xaml.cs, montrant comment XAML est utilisé pour l'interface utilisateur et C# pour le code-behind.
Exécution d'applications sur plusieurs plateformes
Il est essentiel de tester les applications .NET MAUI sur plusieurs plateformes afin d'évaluer les performances et l'apparence. Tim met l'accent sur les tests sur une machine Windows, un émulateur Android et sur des appareils iOS avec un compte développeur Apple.
Mise en place d'environnements de développement
Tim souligne la nécessité de différentes configurations en fonction de la plateforme. Pour Android, installez les émulateurs Android. Pour iOS, un compte développeur Apple est nécessaire et coûte environ 100 $ par an.
Activer le mode développeur pour Windows
L'activation du mode développeur sur Windows est essentielle pour tester les applications .NET MAUI, permettant le chargement latéral d'applications sans le Microsoft Store.

Tester sur Windows
Tim montre comment tester une application .NET MAUI sur une machine Windows, en utilisant la fonction de rechargement à chaud pour apporter des modifications au code de l'application et voir les mises à jour en temps réel.

Test sur émulateur Android
Tim utilise l'émulateur Galaxy Nexus fonctionnant sous Android 12 pour tester, en expliquant le processus de démarrage de l'émulateur, d'installation et de lancement de l'application.

Comparaison des versions Windows et Android
Tim compare l'application sur les deux plateformes, notant la cohérence des fonctionnalités malgré les différences d'apparence.

Avenir de .NET MAUI et Xamarin
.NET MAUI est entièrement pris en charge par Microsoft et devrait faire l'objet d'améliorations constantes. Comme leur successeur, les projets Xamarin peuvent être mis à niveau vers .NET MAUI, ce qui garantit une transition en douceur pour les développeurs.
Conclusion
Tim Corey présente une vue d'ensemble de .NET MAUI, de sa configuration et de ses capacités. Sa vidéo est une ressource précieuse pour les développeurs désireux d'explorer ce cadre. Pour approfondir vos connaissances et découvrir des exemples pratiques de codage, visitez sa chaîne YouTube IAmTimCorey et consultez d'autres ressources disponibles sur iamtimcorey.com.


