C'est quoi .NET MAUI (Multi-platform App UI) ?

La dernière nouveauté des frameworks .NET de Microsoft, c'est maintenant .NET MAUI. Alors allons y démarrons le développement de notre application avec .NET MAUI. Ce qui est vraiment cool maintenant avec Microsoft, c'est que c'est gratuit et open source.

Learn Microsoft - Qu’est-ce que .NET MAUI ?
Learn Microsoft - Qu’est-ce que .NET MAUI ?

.NET MAUI serait-il enfin le Graal ? L'environnement de développement Multiplateforme, un seul code et la possibilité de déployer pour toutes les plateformes, iOS, Android, Windows, Mac, Linux, ...

C'est parti !

Téléchargez Visual Studio 2022, et cochez la case Développement .NET Multi-Platform App UI :

Microsoft .NET MAUI
Microsoft .NET MAUI

Et voilà c'est partie, alors je vois la mise à jour possible de Visual Studio 2022 17.5 vers 17.5.4 avec tout un tas de choses concernant .NET MAUI donc mise à jour de Visual Studio 2022 en version 17.5.4.

Learn Microsoft - Exemples de Codes MAUI

Donne un panel de ce qu'il va falloir débroussailler. 

Je créé mon premier Template d'application, j'ai deux possibilités soit rien, soit Blazor ... Pour l'instant, je choisie rien.

Je dois créer un émulateur Android :

.NET MAUI - Exécution de l'application

Voici toutes les possibilités pour exécuter mon application MAUI des émulateurs des simulateurs cela semble prometteur en tous plus qu'au début de Xamarin où cela ne fonctionnait pas bien ...

Me voilà donc en train d'installer un simulateur Android :

Visual Studio 2022 - Installation du Simulateur Android
Visual Studio 2022 - Installation du Simulateur Android

C'est long ... sur mon AMD Radzen 5 3500U 2.10 GHz.

Au moment de cliquer sur le bouton "Démarrer" :

Hyper-V n'est pas configuré
Hyper-V n'est pas configuré

Il faut activer une nouvelle fonctionnalité de Windows :

Learn Microsoft - Accélération matérielle pour les performances de l’émulateur (HaXM Hyper-V & )

Alors on ne se souvient jamais, puisque les ingés de Redmond changent tout le temps, où se trouve les fonctionnalités de windows, seulement la doc est un peu vieille, moi voici ce que j'ai à la place, j'ai tapé dans  la recherche "fonctionnalités de windows" et voici  :

Fonctionnalités de Windows - Prise en charge de l'accélération Hyper-V
Fonctionnalités de Windows - Prise en charge de l'accélération Hyper-V

Je coche la case et je relance l'exécution de mon application. C'est long, mais au bout de quelques minutes, voici ce que j'obtiens :

Androi Emulator pixel_5

Quelques instants après, mon App MAUI s'exécute et j'obtiens le résultat suivant :

MAUI sur Emulator Android - Hello, World!

Ce n'est que le début, cette expérience ressemble trait pour trait avec celle que l'on a peut avoir avec Xamarin. Maintenant MAUI c'est une refonte et le digne successeur de Xamarin alors espérons que les choses seront un peu plus faciles.

Tutorials and Samples for MAUI

La documentation MAUI sur le GitHub est vraiment très complète, il y a tout pour débuter :

GitHub - MAUI - Samples

(GitHub - MAUI - Samples 6.0 - Fundamentals) transféré dans 7.0 ?

GitHub - MAUI - Samples 7.0 - Tutorials - CreateNetMauiApp

...

Apprentissage

Microsoft Learn - Ressources d’apprentissage pour .NET MAUI

Il faudra très certainement regarder par Ici :

GitHub - CommunityToolkit/Maui - help make your life as a .NET MAUI developer easier

Dotnet architecture en microservice

Si vous souhaitez aller directement à un exemple whaou d'application professionnelle MAUI :

GitHub - dotnet-architecture - eshop-mobile-client: microservices

dotnet architecture MAUI en microservices

Une fois passé l'effet whaou de tout ces émulateurs, simulateurs iOS, Android, etc. et qui sont encore extrêmement lents à l'initialiser et s'exécuter du moins la première fois il faut être patient, mon objectif c'est d'avoir une première application sur mon téléphone.

Déployer sur mon Cellulaire Android

Je voudrais bien déployer mon application sur mon cellulaire... Si j'arrive à ce résultat, je serais déjà bien plus avancé qu'avec le Xamarin de l'époque.

Microsoft Learn - Configurer un appareil Android pour le débogage

Mais je sens que cela va peut être, être une galère ;) donc je configure mon téléphone HUAWEI pour le débogage via USB comme indiqué.

Passez en mode développeur

Sur le Desktop de votre téléphone (Bureau) :

Roue Crantée (Paramètres) -> Système -> A propos du téléphone -> Tapez 7 fois sur le numéro de Build.

Pour passer Développeur sur votre téléphone ... c'est comme ça !

A noter que vous devrez passer en mode développeur sur l'Emulateur Android ...

Publiez votre application

Microsoft Learn - Publier une application .NET MAUI pour Android

Il me semble qu'il va me falloir générer un APK pour Android PacKage.

fandroid - Comment installer un fichier APK sur un smartphone ou une tablette Android ?

Je tente une commande dans PowerShell :

>dotnet build -f net6.0-android

Mais toujours pas d'APK sauf en debug ?

Un lien un peu plus sérieux :

Microsoft Learn - NET MAUI - Utiliser l’interface CLI pour publier pour Android

Pour l'instant, je n'arrive pas encore à refaire la manipe mais à un moment donné, j'ai vu mon appareil HUAWEI apparaître dans la liste des devices disponibles pour une exécution de l'application MAUI de la façon suivante :

Mon Cellulaire connecté par le port USB

Je choisie mon cellulaire pour exécuter l'application, je me retrouve avec une nouvelle icône sur le desktop de mon cellulaire celle de l'application MAUI Calculator, trop fort !

Après moultes essais, il me semble qu'il me faille dans mon Cellulaire, activer d'abord la coche :

Débogage ADB en mode Charger Uniquement

J'active cette coche avant de cocher :

Débogage USB

Alors le cellulaire de demande d'autoriser le débogage USB, je clique sur Ok, à ce moment l'ordinateur sur lequel est connecté mon cellulaire par le câble USB fait le bruit de connexion d'un périphérique USB et me présente une petite boite "systray" :

Exécuter mon application MAUI sur mon Cellulaire
Exécuter mon application MAUI sur mon Cellulaire

Mon Cellulaire apparaît alors dans la liste des appareils sur lesquels je peux lancer l'exécution de mon application MAUI. A la fin de la génération et de l'exécution de l'application, j'ai une nouvelle application sur mon Cellulaire :

Déboguer une application MAUI sur Android

Je retrouve l'application installée sur le Desktop de mon Cellulaire.

Voilà, je suis parti pour créer mon application que je peux charger sur mon Cellulaire.

That's All Folks!

Aucun commentaire:

Enregistrer un commentaire

Pour plus d'interactivité, n'hésitez pas à laisser votre commentaire.