DEV Community

Cover image for Xamarin.Forms 5.0 en approche !
Sylvain
Sylvain

Posted on • Originally published at sylvainmoingeon.fr on

Xamarin.Forms 5.0 en approche !

Xamarin.Forms 5.0 pointe bientôt le bout de son nez et apporte son lot de nouveautés. Alors c'est vrai, pour la plupart il s'agit du passage en version stable de fonctionnalités qui étaient déjà disponibles en version expérimentale, mais c'est l'occasion d'en faire une récap et de prendre conscience des avancées qu'à fait Xamarin.Forms cette dernière année.


Pas d'article fleuve pour cette fois, je me contente de vous présenter quelques nouveautés et de transmettre quelques liens vers les ressources qui vous donneront toutes les informations.

La plupart des informations proviennent de la vidéo que vous trouverez en fin d'article et du post Xamarin.Forms 5 preview de David Ortinau.

Libère ta créativité avec les Brushes, Shapes et Paths

L'un des derniers point faible de Xamarin.Forms vient de sauter !

Créer des formes vectorielles, des dégradés ou des chemins complexes ne nécessitent plus aucune bibliothèque tierce. Les éléments visuels peuvent être découpés selon n'importe quelle géométrie ouvrant la porte à des design modernes et bien léchés. Tout cela grâce aux Brush, Shape et Path.

Illustration d'interface utilisateur utilisant les brushes, shapes et paths
Avec les brushes, shapes et paths, créer des design léchés devient un jeu d'enfant !

Templating, encore un pas de plus vers le "vrai" XAML de WPF

Jusqu'à maintenant, on pouvait créer de nouveaux contrôles soit par composition de contrôles Xamarin.Forms existant soit en créant un nouveau contrôle de toute pièce de façon native, c'est-à-dire en codant à partir de zéro une version par plateforme ciblée.

La nouvelle version du RadioButton va plus loin et s'approche de ce que WPF propose puisqu'on peut désormais en modifier complètement le contenu à l'aide du templating.

Ça n'a l'air de rien dit comme ça, mais quand ce sera généralisé à tous les contrôles, ceux-ci pourront prendre n'importe quelle apparence sans toucher au code natif, sans recours à des custom renderers et donc sans besoin de créer de nouveaux contrôles. Cela représente donc une énorme partie du code spécifique aux plateformes qui disparaîtra au profit du code commun. Autant de temps de développement, de maintenance et de correction de bug en moins ! C'est un premier (grand) pas vers le Xamarin.Forms 100% cross-plateforme et donc vers MAUI.

Illustration du templating sur un radioButton
Templating sur un RadioButton

Enfin un CarouselView pleinement fonctionnel et exploitable

D'abord intégré en tant que type de Page puis transformé en Layout expérimental, le CarouselView atteint enfin l'âge de la maturité et dispose désormais de tout le nécessaire pour en faire un vrai contrôle utilisable en production : support du VisualStateManager, IndicatorView (par exemple, les petits points qui indiquent sur quel item on est dans la liste), PeekAreaInsets pour faire empiéter les items précédents et suivants sur l'item courant...

Je vous renvois à la documentation sur le CarouselView.

Ça glisse avec le SwipeView

Aussi incroyable que cela puisse paraître, Xamarin.Forms ne proposait encore aucune solution pour intégrer un mouvement de Swipe sur les items d'une liste. On trouvait bien ici ou là quelques implémentations de ce comportement, mais rien d'officiel ou de bien stable. Au point que j'avais fini par créer mon propre composant SwipableView pour Xamarin.Forms !

C'est désormais de l'histoire ancienne, bienvenue au SwipeView.

Illustration animée du SwipeView Xamarin.Forms
SwipeView Xamarin.Forms

Autres nouveautés et infos en vrac

Vous trouverez dans Xamarin.Forms 5.0 un nouveau gesture Drag and Drop, principalement dédié au surface duo avec ses deux écrans. Mais bien entendu, rien ne vous empêche de l'utiliser au sein de vos applications.

Plusieurs contrôles ont migré dans le Xamarin Community Toolkit, tels que MediaElement et Expander. Ceux-ci n'étaient pas encore prêts à passer en version finale dans Xamarin.Forms mais l'équipe souhaitait les faire sortir du statut expérimental. Ils sont donc disponibles dans le toolkit.

Un changement de version majeure s'accompagne souvent de "breaking changes", ici notamment :

  • MasterDetailPage et ses propriétés changent de nom suite aux polémiques récentes sur la connotation Maître/Esclave. On parlera désormais de Flyout.
  • Côté Apple, UIWebView qui était déprécié a été complètement retirée

Le changelog complet de Xamarin.Forms 5.0.

David Ortinau et James Montemagno vous présente tout ça en vidéo

Votre récompense pour être allé au bout de l'article :

Top comments (0)