AccueilActualités informatiqueMultiplateforme : Uno Platform 4.1 s'adapte à Android 12

Multiplateforme : Uno Platform 4.1 s’adapte à Android 12

La version 4.1 du framework d’interface utilisateur open source Uno Platform est terminée. Pour cette nouvelle version, l’équipe de développement a notamment apporté de nombreuses modifications qui devraient améliorer les performances. En outre, Uno Platform est désormais adapté au SDK pour Android 12 et offre un premier support pour les versions preview de .NET 6 Mobile et Visual Studio 2022 17.2.

Sommaire

Avec Uno, les développeurs peuvent créer des applications multiplateformes à base de code unique avec C# et WinUI XAML, qui peuvent être utilisées nativement sous Windows, Android, macOS, iOS, Linux et WebAssembly. Pour le système d’exploitation mobile de Google, le SDK Android 10 et ses dépendances étaient jusqu’à présent considérés comme une exigence minimale. Avec Uno Platform 4.1, la mise à niveau vers le SDK Android 12 est effectuée, de sorte que les SDK 11 et 12 sont désormais disponibles – le support pour le SDK Android 10 est supprimé. Les applications Android construites avec Uno Platform devraient toutefois rester compatibles jusqu’à la version 5 du système d’exploitation mobile.

En ce qui concerne les systèmes d’exploitation macOS et iOS d’Apple, les développeurs Uno doivent se préparer à d’éventuels breaking changes au niveau des API, qui pourraient survenir suite à l’introduction de la .NET 6 Mobile Preview 13. Sont notamment concernées les applications qui utilisent des bibliothèques avec des primitives « natives » comme nint et nfloat sont utilisées. L’équipe estime toutefois que la majorité des applications .NET 6 Uno ne devraient pas être affectées. Les créateurs d’Uno recommandent néanmoins de procéder à une vérification préalable lors de la construction d’applications avec Uno 4.1 et Visual Studio 2022 17.2 Preview 1.

Après avoir mis l’accent, lors de la version majeure 4.0, sur une extension pour Visual Studio Code permettant de développer dans le navigateur, dans les espaces de code GitHub et Gitpod, l’équipe a amélioré différents domaines afin d’augmenter les performances globales de la Uno Platform – par exemple en ce qui concerne la consommation et l’allocation de mémoire. Ainsi, lors des calculs pour la mise en page de l’interface utilisateur, le Measure-Pass (MeasureOverride et InvalidateMeasure) jouent un rôle important. À partir d’Uno 4.1, après l’appel de InvalidateMeasure MeasureOverride n’est exécuté que pour les contrôles dont la taille a changé – au lieu de les exécuter tous comme auparavant. Cela doit contribuer à une meilleure responsivité, mais n’est actuellement disponible que pour les backends WebAssembly et Skia (Linux), Android et iOS devraient suivre prochainement.

Afin de soulager le Garbage Collector (GC) dans la gestion de la mémoire, l’équipe s’est efforcée de réduire les opérations d’allocation de mémoire autour des processus de chemin critique lors de la mise en page et du rendu. Pour ce faire, un système de pooling de tableaux a été mis en place avec le MemoryManager-qui permet une gestion dynamique des tableaux mis en commun en fonction des goulots d’étranglement de la mémoire détectés par le GC.

Pour un aperçu complet des nouveautés d’Uno Platform 4.1, voir le billet de blog annonçant la nouvelle version et le site web du projet open source.

Plus d'articles