Préparez-vous pour le lancement officiel de .NET 9 en signalant l’une de ces API qui sera obsolète dans .NET MAUI.
.NET MAUI 9 arrive avec un objectif clair : améliorer la qualité du produit. Cela implique d’introduire de nouveaux contrôles, d’améliorer ceux existants et de déprécier certaines fonctionnalités. Même si ces fonctionnalités obsolètes étaient autrefois utiles, elles ont été remplacées par des alternatives qui permettent d’obtenir les mêmes résultats avec de meilleures performances.
Cet article met en évidence les API de .NET MAUI 9 qui ont été marquées comme obsolètes et seront supprimées dans les versions futures. Pourquoi cette connaissance est-elle importante ? Il vous permet d’identifier les API que vous utilisez actuellement qui nécessitent une mise à jour rapide, vous aidant ainsi à planifier et à organiser ces mises à jour pour votre application à l’avance. Alors, quelles API sont obsolètes dans .NET MAUI 9 ? 🤔
Cadre
Il est temps de dire au revoir au contrôle Frame, un changement qui ne devrait pas surprendre puisque le contrôle Border a été publié il y a longtemps dans le cadre des nouveaux contrôles .NET MAUI. Border est le remplacement recommandé de Frame, offrant la même fonctionnalité (un rectangle avec des bords arrondis personnalisables) mais avec une convivialité et une évolutivité améliorées.
Bien que Frame soit toujours utilisable dans cette version, il est crucial de commencer la transition vers Border, car Frame sera complètement supprimé dans les prochaines versions.
Comparons les principales différences entre Cadre et Frontière:
Gestion des frontières
- Cadre vous permet de regrouper le contenu dans des bordures arrondies. Cependant, il vous permet uniquement d’arrondir les bords de manière uniforme, ce qui signifie que vous ne pouvez pas personnaliser chaque bord séparément.
- Frontière vous permet d’arrondir chaque bord séparément de votre contrôle, permettant des conceptions beaucoup plus flexibles qui n’étaient pas possibles avec le Frame.
Ombres
- Cadre contient le aShadow propriété, qui vous permet de décider d’activer ou non l’ombre sur le contrôle. Cependant, il n’offre pas beaucoup de flexibilité dans la gestion des caractéristiques de l’ombre, ce qui limite la façon dont nous pouvons jouer avec elle.
- Contrairement à Frame, le Frontière le contrôle n’est pas livré avec une forme par défaut. Pour résoudre ce problème, .NET MAUI a introduit le Ombre contrôle dans l’une de ses premières versions. Cela nous permet de personnaliser les ombres indépendamment du contrôle Border. Pour plus d’informations sur ombres, vous pouvez lire cet article.
Flexibilité dans la conception
- Cadre est moins flexible pour la personnalisation. Il possède quelques propriétés de base comme CornerRadius, BackgroundColor et HasShadow, mais nous ne pouvons pas effectuer de manipulations approfondies.
- Frontière vous permet de jouer avec des propriétés plus avancées, telles que StrokeShape, StrokeDashArray et StrokeDashOffset, vous donnant un meilleur contrôle sur l’apparence de votre interface utilisateur.
Performance
- En raison de la façon dont les ombres et les bords arrondis sont gérés sur certaines plates-formes, Cadre est un contrôle beaucoup plus performant.
- En revanche, le Frontière est beaucoup plus léger, nécessitant moins d’efforts de rendu sur des appareils de moindre capacité.
Il y a quelques mois à peine, nous parlions d’éviter le Frame comme une bonne pratique d’interface utilisateur : Au-delà des bases : meilleures pratiques pour la gestion de l’interface utilisateur dans .NET MAUI. Je vous invite également à lire sur Contrôle aux frontières dans .NET MAUI !
Dispositions de compatibilité
Lors de la transition de Xamarin vers .NET MAUI, Microsoft a supprimé certains composants de .NET MAUI. Cependant, reconnaissant que les projets pouvaient encore s’appuyer sur ces composants, Microsoft a autorisé leur utilisation continue via le Espace de noms Microsoft.Maui.Controls.Compatibility. Un bon exemple est le RelativeLayout, qui n’existe plus dans .NET MAUI.
Mais maintenant, avec la sortie de .NET MAUI 9, Microsoft a rendu obsolète l’espace de noms Microsoft.Maui.Controls.Compatibility. Cela marque la fin de la « période de grâce » pour l’utilisation des anciennes mises en page Xamarin dans .NET MAUI. Si vos projets utilisent toujours RelativeLayout, il est temps de planifier une mise à jour du code pour le supprimer et éviter cet espace de noms obsolète. Heureusement, Grid est une excellente alternative à RelativeLayout. Il offre une flexibilité similaire, de meilleures performances et est plus convivial.
J’ai brièvement abordé ce sujet il y a quelques mois dans mon article Au-delà des bases : meilleures pratiques pour la gestion de l’interface utilisateur dans .NET MAUI. Je vous encourage à le vérifier!
Appels de mesures héritées
Différentes méthodes de mesure héritées de VisualElements sont obsolètes :
Remplacer OnMeasure par MeasureOverride
protected override SizeRequest OnMeasure(double widthConstraint, double heightConstraint)
Le OnMeasure
La méthode calcule la taille d’un élément visuel en fonction des contraintes de largeur et de hauteur. Cependant, il est recommandé d’utiliser le MeasureOverride
méthode à la place, comme OnMeasure
est désormais obsolète.
Remplacez MeasureFlags par la nouvelle méthode de mesure
public virtual SizeRequest Measure(double widthConstraint, double heightConstraint, MeasureFlags flags = MeasureFlags.None)
Cette méthode calcule la taille minimale dont un élément a besoin en fonction des contraintes de largeur et de hauteur.
Cependant, il est recommandé de passer à la nouvelle méthode Mesure :
public Size Measure(double widthConstraint, double heightConstraint)
Cette méthode renvoie la taille minimale dont un élément doit être affiché sur un appareil et constitue l’approche recommandée pour dimensionner une vue. La principale différence est que la méthode obsolète inclut un MeasureFlags
paramètre pour un contrôle supplémentaire sur les marges, tandis que la nouvelle méthode simplifie l’API en supprimant cet indicateur, rationalisant ainsi le processus de mesure.
Note: Au lieu d’utiliser le obsolète Microsoft.Maui.SizeRequest structure, vous devez maintenant utiliser Microsoft.Maui.Taille.
Page principale
La façon dont nous définissons la première page d’une application évolue. Auparavant, nous utilisions le MainPage
propriété sur un objet d’application. Maintenant, nous définissons directement le Page
propriété sur une fenêtre pour la page initiale de l’application. Cette nouvelle approche s’aligne sur le processus interne qui MainPage
utilisé pour gérer les coulisses. Alors que le MainPage
La propriété est toujours disponible dans .NET MAUI 9, elle devrait être supprimée dans les versions futures. Pour garder une longueur d’avance, il est conseillé de mettre à jour votre code le plus tôt possible.
Voici un exemple de la façon de définir le Page
propriété sur une fenêtre en utilisant le CreateWindow
outrepasser:
public partial class App : Application
{
public App()
{
InitializeComponent();
}
protected override Window CreateWindow(IActivationState? activationState)
{
return new Window(new AppShell());
}
}
Conclure
C’est ça! 🤩 Maintenant que vous savez quelles sont les API obsolètes dans .NET MAUI 9, vous pouvez planifier vos mises à jour en conséquence. Cela vous aidera à maintenir vos projets .NET MAUI à jour et à fonctionner correctement !
Merci d’avoir lu cet article! 💚💕
A la prochaine fois ! 🙋♀️
Références
Cet article était basé sur la documentation officielle :
Source link