Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS, MAUI

MAUI Preview 11 !

Le 5 janvier Microsoft a releasé la preview 11 de MAUI s’approchant toujours plus de la finale qui reste prévue pour Q2 2022. Qu’y-a-t-il dans cette nouvelle livraison ? Je vous invite à le découvrir…

Roadmap

Comme vous le savez la roadmap initiale a été un peu chamboulée et de novembre 2021 la version finale a été repoussée au second trimestre 2022. Entre temps de nouvelles « preview » nous sont proposées. Le 5 janvier la 11ème preview a été releasée.
Bien entendu 11 preview ça fait beaucoup… A chaque fois nous nous approchons du but mais nous ne disposons pas encore d’une version utilisable en production. Une release candidate est malgré tout prévue pour le 1er trimestre 2022, nous y sommes, mais ce n’est que la preview 11 pour le moment. Néanmoins la version finale reste programmée pour le 2d trimestre 2022.

On se rapproche donc doucement de la possibilité d’utiliser MAUI en production, ce qui laisse le temps d’absorber les nouveautés des previews au rythme de leur sortie !

Preview 11

Justement qu’y-a-il de neuf dans cette 11ème preview ?

Les Styles propres à Windows 11

MAUI fournit par défaut une conception et une expérience qui collent à la plate-forme d’exécution, de sorte que les applications reflètent l’aspect propre à chacune à partir d'une seule base de code sans aucun effort supplémentaire. Windows 11 a introduit un nouveau style d'interface utilisateur. Avec le système de conception Fluent et les styles .NET MAUI va prendre en charge tous les contrôles de la nouvelle version de Windows. D’ailleurs les previews à venir s'appuieront sur ce nouveau paradigme, ajoutant plus de contrôles et de prise en charge des thèmes. Dans la Preview 11, vous verrez les mises à jour initiales pour : Les boutons, les éditeurs et les contrôles de saisie. C’est encore assez limité mais nous sommes sur la bonne voie !

image

Applications à fenêtres multiples

L’un des ajouts le plus visible en termes d’UI et d’UX de MAUI par rapport aux Xamarin.Forms est le support des fenêtres multiples. Oui ça y est, ils l’ont fait !

On dispose ainsi de la possibilité de créer des fenêtres secondaires, de les manipuler (MAUI garde une liste des fenêtres crées), et d’étendre ainsi MAUI à du développement desktop PC et MAC aussi riche que pouvait l’être sur ce point WPF ou UWP. Reste à tester sur smartphone, ce que je n’ai pas encore pu faire, mais avec l’avancée des écrans larges et pliables nul doute que cette possibilité y trouvera sa place.

Créer une nouvelle fenêtre est aussi simple que le code qui suit :

clip_image002






clip_image004



Il est d’ailleurs possible dès maintenant de cibler macOS et iPadOS avec la nouvelle feature. (Il faut jouer sur SceneDelegate, mais nous verrons cela dans d’autres articles lorsque l’ensemble sera stabilisé, en effet le multifenêtrage va rester « expérimental » jusqu’à la version 1.1).

Using implicites et C#10

Déjà la 10ème version de C# et toujours plus de simplifications (et paradoxalement de choses à savoir…) ! Prenez par exemple les Using, la notion de Using implicite a été ajoutée. En utilisant des globales implicites pour les rassembler de façon dynamique et automatique, le code C# d’un projet MAUI devient plus facile à lire, et moins verbeux à écrire. Regardez l’exemple ci-dessous, vous ne trouverez aucun using et pourtant « ils sont là » mais gérés par C#. Le code est bien plus léger.

image

Unifications des types iOS

Dans le souci d’améliorer la cohérence de MAUI, les types iOS, macOS et tvOS sont désormais alignés sur des définitions communes basées sur le SDK Apple ce qui permet d’utiliser des types natifs unifiés comme nint et nuint. C’est une sorte de breaking change qui réclame de recompiler les librairies existantes. Mais c’est pour la bonne cause !

Documentation en évolution

La documentation de MAUI s’écrit en suivant les Preview afin d’être prête en même temps que le produit final. Une nouvelle doc est donc désormais disponible. Il s’agit de plus qu’une simple doc, c’est en réalité un lot de documentations, de guides, et d’exemples. La documentation Xamarin.Forms est elle-même en cours de portage puisque pour l’essentiel MAUI reprend ce qui existe dans XF tout en apportant quelques modifications et ajouts. C’est un travail long et fastidieux mais qui nous permettra de bénéficier de documents de référence en phase avec MAUI !

Conclusion

MAUI est sur le chemin, un peu de retard dans un projet informatique de cette envergure n’est ni étonnant ni vraiment gênant (personne ne pensait réellement commencer à écrire pour la production dès le mois de novembre 2021…). Il va falloir attendre que tous les morceaux du puzzle soient livrés, qu’on teste chacun et qu’on s’habitue aux nouvelles façons de faire. Partant de Xamarin.Forms la courbe d’apprentissage ne sera pas très raide. Pour ceux qui débuteront avec MAUI il faudra un petit effort supplémentaire tout en bénéficiant d’une plateforme plus stable et simplifiée là où les pionniers des XF ont essuyés les plâtres il y a quelques années maintenant… Donc tout le monde sera content, les anciens qui n’auront que peu d’effort à fournir pour se mettre à jour, et les nouveaux qui ne connaîtront pas les affres des premières versions, MAUI n’étant qu’une mise à jour des XF.

Beaucoup reste à dire et à montrer de MAUI, les mois qui viennent apporteront leur lot de nouveautés jusqu’à la finale, et d’ici là ne loupez pas les articles de Dot.Blog ! Alors…

Stay Tuned !

blog comments powered by Disqus