MAUI est une plateforme assez vaste, les précédents billets
l’ont montré, il est donc utile d’appliquer quelques techniques simples pour
l’appréhender et progresser…
Apprendre MAUI
Même si nous avons franchi le seuil de la version GA, la
cadence des mises à jour ne s’arrête pas et il faut rester au courant des
annonces importantes ou décrypter les feature à venir. Mais ce n’est pas tout,
il faut apprendre, s’entraîner. Comment s’y prendre ? Par où
commencer ?
La disponibilité générale ( GA )
est l'étape de commercialisation à laquelle toutes les activités de
commercialisation nécessaires ont été réalisées et qu'un produit logiciel est
disponible à l'achat. Le temps entre RTM et GA peut être d'une semaine à
plusieurs mois dans certains cas avant qu'une version en disponibilité générale
puisse être déclarée en raison du temps nécessaire pour terminer toutes les
activités de commercialisation requises par GA. À ce stade, le logiciel est
"en ligne".
Le premier conseil est ainsi de savoir se repérer dans tous
les phases du cycle de vie d’une application, ce qui peut aussi vous intéresser
pour celles que vous écrivez.

Suivre les mises à jour
Même si au moment où j’écris MAUI est en GA, les mises à
jour vont continuer. Il est important de se tenir au courant de la road map de
la version en cours autant que de celles à venir (qui peuvent par exemple
intégrer une solution à un problème actuel qui a un impact sur votre app).
Sur GitHub on trouve le code source de MAUI mais aussi sa
road map, il faut la consulter pour voir où en est le produit et les versions à
venir.
L’adresse à suivre est la suivante : https://github.com/dotnet/maui/wiki/Roadmap
Par exemple, quand j’écris ces lignes, cela me confirme que
.NET 7 est prévu pour Q2-Q4 de 2022 et que cela inclus des nouveautés comme le
contrôle d’affichage de cartographie, des contrôles supplémentaires pour gérer
le mode deux écrans, etc. Ces informations sont importantes à connaître. Rien
ne sert de passer 2 mois à écrire un contrôle pour afficher une carte alors que
dans un mois ou deux la version 7 amènera un tel contrôle !
Si on veut aller plus dans les détails, il existe un autre
site « Themes of .NET » où se trouve l’avancement de tous les points
importants classés par catégories (Runtime, Libraries, Application Models,
Tooling…). Par exemple je peux y trouver des informations sur .NET 8 alors même
que .NET 7 est juste annoncé (il est prévu une architecture unifiée pour le
Build par exemple).
Et cela se trouve ici : https://themesof.net/
On y apprend encore plus de choses aussi en cliquant sur les
items, ainsi je peux savoir qu’en ce moment il est prévu d’apporter un support
important aux architectures ARM64. Cela peut tout changer pour certains projets.
Bref se tenir au courant aux sources officielles est
vraiment un bon conseil à suivre.
Garder ses compétences Xamarin.Forms
La ressemblance entre les XF et MAUI sont telles que rester
à jour et compétitif sous Xamarin.Forms est forcément un plus pour passer à
MAUI. Dans certaines conditions vous serez peut-être obligé de travailler
encore des mois sur des Apps en XF pendant que les copains feront déjà du MAUI.
En restant compétitif sous les XF, rassurez-vous, vous serez prêt à travailler
sous MAUI le moment venu. Et si vous n’avez pas encore d’affectation sur un
projet MAUI ou Xamarin.Forms, pratiquez bien entendu de préférence MAUI
directement, mais si ce n’est pas possible, mieux vaut s’entraîner sous
Xamarin.Forms pour rester au top que rien du tout !
S’abreuver aux bonnes sources
Pour apprendre il faut lire ou voir des vidéos. Ce dernier
mode est très en vogue chez les développeurs les plus jeunes moins formés à la
lecture. Les plus anciens préfèrent la lecture qu’ils pratiquent avec vitesse
et précision (il est plus rapide de « lire en diagonal » que de
comprendre quelque chose à une vidéo technique passer en accélérée ! Idem
pour retrouver un point précis).
J’ai l’habitude de dire « si
je le sais, je l’ai lu quelque part » un petit dicton que je pense avoir
inventé mais il est bien possible qu’un autre l’ait déjà formulé même sous une
autre tournure... Car on peut essayer d’avoir des idées originales dans le
monde de la création artistique ou de la philosophie (même si cela est très
difficile d’être véritablement « original ») mais dans le monde de la
technique, point de mystère, on n’invente rien, si on sait quelque chose c’est
qu’on a lu une documentation sur la question. Alors ne négligez jamais la
puissance de la lecture !
Selon vos préférences il existe des sources plus fiables que
d’autres à privilégier. Bien entendu Dot.Blog en fait partie et le fait que
cela soit en français permet de lire encore plus vite tout en mémorisant plus
facilement. Mais il ne faut pas négliger les sources en anglais qui restent
majoritaires.
Par exemple, la chaîne de James Montemagno est un
incontournable (https://www.youtube.com/channel/UCENTmbKaTphpWV2R2evVz2A
)
Celle de Gerald Versluis l’est tout autant : https://www.youtube.com/channel/UCBBZ2kXWmd8eXlHg2wEaClw
Le blog .NET est bien entendu une source de lecture sans
fin : https://devblogs.microsoft.com/dotnet/
Bien sûr le premier lien à connaître c’est l’adresse des
ressources MAUI officielles de Microsoft : https://docs.microsoft.com/fr-fr/dotnet/maui/get-started/resources
Là vous trouverez largement matière à apprendre et à vous
entraîner en vous assurant que ce que vous verrez est un minimum contrôlé et à
jour.
S’entraîner…
Bien entendu toutes ces informations il faut les mettre en
pratique pour avancer. Cela veut dire mettre à jour Visual Studio et créer des
projets pour tester par soi-même ce qu’on vient d’apprendre.
Par exemple, pour la partie visuelle, il est très
intéressant de s’amuser à reproduire des UI existantes, généralement de marques
connues.
On trouve des sites comme celui de Xammy qui a refait de
nombreuses UI connues. Les refaire, les décortiquer permet de mieux comprendre
les astuces comme les bases du XAML MAUI. Et n’hésitez pas à piocher dans les
exemples pour Xamarin.Forms, du point de vue du XAML il n’y a que très peu de
changement au moins pour l’instant (https://askxammy.com/tag/replicating-ui/
).
Côté code C# ou Blazor, il faut suivre les modifications de
ces langages car on est très vite semé car les avancées sont rapides et
nombreuses ! C# 10 est déjà devenu un monstre à maîtriser comparé aux premières
versions et déjà on sait que C# 11 va arriver et apporter encore d’autres
avancées. Ne vous pressez pas trop non plus pour adopter de nouvelles syntaxes,
rappelez-vous que votre code doit être avant tout être maintenable donc lisible
par la majorité des développeurs. Se lancer dans des tournures trop en pointe
travaille contre cet objectif de lisibilité et ouvre la porte à des erreurs de
compréhension de votre code par les autres. Si vous travaillez seul allez-y à
fond, si vous travailler en équipe, soit vous amenez les autres à suivre votre
niveau soit vous écrivez du code que tout le monde comprend. Mais cela
n’interdit surtout pas d’étudier les nouveautés car certaines peuvent être
réellement indispensables dans des contextes donnés et cela on ne le sait que
si on a suivi les versions justement !
Conclusion
Le but de l’article du jour est de vous donner surtout de
bonnes adresses à connaître afin d’acquérir un bon niveau sous MAUI ou vous
maintenir si vous le pratiquez déjà. Ces liens sont utiles pour les débutants
comme les confirmés. Je ne voulais pas non plus faire un catalogue à rallonge,
genre de bric-à-brac où on étale des dizaines de liens dont la moitié seront
morts quand vous en aurez besoin. Rester focused est ainsi le dernier conseil
qui clôt ce billet !
Stay Tuned !