Redimensionnement dynamique des vues interop sur desktop et iOS
Dans Compose Multiplatform 1.10.0, une grande amélioration se distingue, le redimensionnement automatique des vues interopératives natives. Cela élimine une perte de temps importante pour les équipes de développement : déterminer manuellement les dimensions de l’interface utilisateur. Sur le bureau, le SwingPanel comprend désormais les limites d’un composant, comme ses tailles minimale et préférée, et s’ajuste en conséquence. Il n’a pas besoin qu’on lui indique la taille qu’il doit avoir ; il réagit simplement au composant qu’il intègre.
Sur iOS, les choses ont également évolué. Les vues UIKit sont désormais dimensionnées en fonction de la taille intrinsèque du contenu. Pensez-y de cette manière : une vue sait maintenant de combien d’espace elle a besoin, et Compose respecte cela sans que vous ayez besoin d’ajouter une logique de mise en page. Cela inclut même les vues SwiftUI via UIHostingController, et les sous-classes UIView de base, tant qu’elles ne reposent pas sur des contraintes de mise en page complexes. Il s’agit d’un changement clair visant à réduire les bidouillages spécifiques aux plateformes et à rendre la composition de l’interface utilisateur plus intelligente et plus adaptative.
Pour toute entreprise qui crée des produits sur plusieurs plateformes, cela signifie moins de bogues dans le rendu de la mise en page, moins de temps passé en assurance qualité et des cycles d’itération plus rapides. Votre équipe écrit moins de code collant et plus de fonctionnalités axées sur la valeur. Cette approche est évolutive, qu’il s’agisse d’une startup essayant de percer sur iOS ou d’une entreprise internationale à la recherche de cohérence entre les différents environnements. La vitesse et la cohérence sont importantes. Cette mise à jour vous offre les deux.
Des applications web plus rapides et plus intelligentes grâce à l’API de cache web
La nouvelle intégration de l’API de mise en cache Web dans Compose Multiplatform 1.10.0 cible la latence, et ce de manière réaliste. Les ressources statiques et les chaînes de caractères sont désormais mises en cache directement via l’API de mise en cache du navigateur. La différence ? Vous n’attendez pas le comportement du cache par défaut du navigateur, qui envoie souvent des requêtes redondantes pour vérifier si le contenu mis en cache est toujours valide. Cela vous fait perdre du temps, en particulier lorsque la bande passante est limitée.
Au lieu de cela, les réponses réussies sont mémorisées de manière intelligente. L’application se charge plus rapidement car Compose se fie à ce qu’il a mis en cache jusqu’à la prochaine actualisation. Et ce dernier point est important : Compose réinitialise le cache chaque fois que vous lancez ou rechargez l’application. Vous bénéficiez ainsi d’une certaine cohérence. Vous ne pariez pas sur des ressources périmées qui resteraient désynchronisées par rapport à l’état actuel de l’application.
Pour les chefs de produit et les cadres, voici l’essentiel : cela signifie de meilleures performances là où c’est important. Cela a un impact sur les utilisateurs finaux, en particulier dans les régions à faible bande passante, où un accès rapide et fiable peut faire la différence entre l’adoption et l’échec. Et c’est une chose de moins que vos responsables techniques doivent faire eux-mêmes. L’efficacité et l’expérience utilisateur sont alignées ici. C’est toujours une victoire.
Compose hot reload maintenant intégré dans le plugin gradle
L’une des améliorations les plus pratiques de Compose Multiplatform 1.10.0 est l’intégration du plugin Compose Hot Reload directement dans le plugin Gradle pour les cibles de bureau. C’est important, car la friction de l’installation a toujours été un obstacle. Dans les versions précédentes, l’activation du rechargement à chaud nécessitait une configuration séparée. Ce n’est plus le cas aujourd’hui. Il est intégré et activé par défaut.
Hot Reload permet aux développeurs d’apporter des modifications à l’interface utilisateur et de voir le résultat instantanément, sans avoir à redémarrer l’application. Cette boucle de rétroaction immédiate permet d’économiser du temps de développement et de maintenir la concentration des flux de travail. Pour les équipes qui développent des applications de bureau riches en fonctionnalités, il s’agit là d’un véritable gain de productivité. Moins il y a d’étapes entre l’écriture du code et la visualisation des résultats, plus les équipes peuvent itérer rapidement sur la conception et corriger les bogues de l’interface utilisateur.
D’un point de vue commercial, cela permet de réduire les cycles de construction et de test et de raccourcir les délais de livraison. Il s’agit d’une de ces mises à jour qui n’attire pas beaucoup l’attention, mais qui apporte une valeur ajoutée en termes d’accélération. Moins de dépendances de configuration signifie moins de points de défaillance. Cela conduit à une configuration cohérente dans tous les environnements et à une plus grande vélocité de l’équipe. Dans les équipes composées de plusieurs développeurs ou de plusieurs régions, ce niveau de cohérence est payant.
Annotations de prévisualisation unifiées sur toutes les plateformes
Les annotations de prévisualisation ont été unifiées dans Compose Multiplatform. Les développeurs doivent maintenant utiliser androidx.compose.ui.tooling.preview.Preview dans la base de code commonMain partagée. JetBrains a déprécié les anciennes annotations, y compris organization.jetbrains.compose.ui.tooling.preview.Preview et la variation spécifique au bureau, afin de créer une approche unique et standard pour afficher les prévisualisations de l’interface utilisateur pendant le développement.
C’est important parce que la prévisualisation des interfaces utilisateur a traditionnellement impliqué des configurations spécifiques à chaque plateforme. C’est inefficace. Avec ce changement, les équipes peuvent désormais s’appuyer sur une méthode stable et cohérente pour prévisualiser l’interface utilisateur au cours du cycle de développement, quelle que soit la cible de déploiement, qu’il s’agisse d’un ordinateur de bureau, d’Android ou d’iOS. Moins de fragmentation dans les chaînes d’outils signifie moins de surprises liées à l’environnement.
Pour les cadres qui gèrent les opérations de développement, cela se traduit par une meilleure collaboration entre les différents rôles : les concepteurs, les ingénieurs frontaux et les responsables de produits voient tous les mêmes aperçus, avec moins de dépendances spécifiques à la plate-forme. En déplaçant cette fonctionnalité vers la couche partagée, JetBrains abaisse la barrière de réutilisation du code et standardise la boucle de retour visuel. Cela permet d’accélérer les révisions, de raccourcir les cycles d’itération et d’améliorer l’alignement des équipes qui développent simultanément pour plusieurs plates-formes.
Navigation 3 s’étend au-delà d’android
Avec Compose Multiplatform 1.10.0, Navigation 3 ne se limite plus à Android. Elle s’étend désormais aux plates-formes autres qu’Android, offrant un cadre de navigation cohérent dans tous les environnements. Cet ajout permet aux développeurs de mieux gérer le routage et les transitions de vue dans les applications conçues pour les ordinateurs de bureau, iOS et les autres plates-formes prises en charge.
Auparavant, la navigation devait souvent être construite différemment sur chaque plateforme cible, ce qui prenait du temps et introduisait un risque d’incohérence. Navigation 3 normalise la logique de routage, ce qui facilite la mise à l’échelle des projets sur tous les appareils et facteurs de forme. Il est entièrement compatible avec la fondation Kotlin Multiplatform de Compose, ce qui signifie que les développeurs peuvent maintenir une couche de navigation unifiée dans un code partagé.
Pour les décideurs, il s’agit d’un outil stratégique. Il réduit les efforts de développement redondants et simplifie les tests sur les différentes plateformes. Les équipes n’ont plus besoin de réimplémenter le comportement de navigation pour chaque appareil. L’architecture du projet évolue ainsi vers une structure plus facile à maintenir et plus évolutive, ce qui est essentiel si votre organisation vise plusieurs marchés avec une base de code unique et cherche à optimiser les ressources techniques.
Stabilisation des propriétés de l’interface utilisateur et mise à jour de l’API
Dans cette version, plusieurs propriétés liées à l’interface utilisateur ont quitté le statut expérimental et sont désormais stables. Il s’agit notamment de usePlatformInsets, useSoftwareKeyboardInset et scrimColor dans DialogProperties, ainsi que usePlatformDefaultWidth et usePlatformInsets dans PopupProperties. L’équipe de JetBrains a également mis en œuvre les mises à jour en élevant les surcharges Popup dépréciées, celles qui ne prennent pas de paramètre PopupProperties, au niveau ERROR, ce qui signifie qu’elles doivent être mises à jour pour être conformes.
Cela ajoute de la prévisibilité au développement de l’interface utilisateur. Les développeurs peuvent désormais compter sur la cohérence de ces propriétés d’un environnement à l’autre, ce qui améliore le comportement de la mise en page d’un appareil à l’autre. Cela élimine également la confusion autour des fonctionnalités temporaires ou obsolètes, car le passage à des API stables et renforcées par des erreurs établit une nouvelle base de référence pour ce qui est pris en charge à l’avenir.
D’un point de vue commercial, les API stabilisées réduisent le risque de problèmes de production découlant de comportements inachevés ou hérités. Elles permettent également aux équipes d’ingénieurs de donner la priorité aux améliorations de code compatibles avec l’avenir sans se préoccuper des composants instables. Il en résulte une meilleure maintenabilité à long terme, une réduction des travaux de remise à niveau et un chemin de mise à niveau plus propre dans les cycles de projet futurs.
iOS se dote de WindowInsetsRulers pour une mise en page précise de l’interface utilisateur
Compose Multiplatform 1.10.0 introduit la prise en charge de WindowInsetsRulers pour iOS, ce qui permet aux développeurs de mieux contrôler le positionnement de l’interface utilisateur par rapport aux encarts du système. Cela inclut la prise en compte de la barre d’état, de la barre de navigation et du clavier à l’écran, des éléments qui affectent régulièrement l’espacement et la disposition, mais qui étaient auparavant gérés par une logique externe ou spécifique à la plateforme.
Avec cette mise à jour, les mises en page sur iOS peuvent désormais répondre à ces éléments d’interface utilisateur du système d’une manière standardisée à l’aide de WindowInsetsRulers. Cela permet d’obtenir un comportement de mise en page plus prévisible et plus flexible qui s’aligne directement sur les contraintes environnementales du système. Les développeurs qui conçoivent pour iOS n’ont plus à calculer ou à ajuster manuellement les marges pour éviter le chevauchement avec des éléments d’interface critiques, ce qui réduit les erreurs et les incohérences visuelles.
Pour les dirigeants qui supervisent la livraison des produits dans l’écosystème Apple, il s’agit d’une amélioration de la fiabilité. Cela signifie moins de bugs d’affichage, une meilleure précision visuelle sur différents types d’écran et moins d’allers-retours lors de l’assurance qualité. Lors du développement pour iOS, en particulier lorsqu’il est associé à d’autres plateformes cibles, l’accès à des outils de mise en page cohérents et adaptatifs permet aux équipes de livrer leurs produits avec plus de confiance et de maintenir la qualité sans frais d’ingénierie supplémentaires. Dans les stratégies mobiles multiplateformes, ce niveau d’alignement est important.
Dernières réflexions
Compose Multiplatform 1.10.0 n’est pas un simple changement de version, c’est un point d’inflexion. Les mises à jour ne sont pas tape-à-l’œil pour attirer l’attention ; elles sont ciblées, intentionnelles et directement liées à une meilleure exécution entre les équipes et les plateformes. Le redimensionnement automatique simplifie la logique de l’interface utilisateur. Les prévisualisations unifiées et le rechargement à chaud intégré réduisent le temps de cycle. L’optimisation de l’API Web Cache augmente la vitesse là où cela compte. La logique de navigation est désormais évolutive. Et avec iOS qui rattrape son retard grâce à des outils de mise en page tels que WindowInsetsRulers, la plateforme devient plus complète.
Pour les décideurs, ces changements réduisent les frais généraux techniques et accélèrent la livraison. Ils donnent à vos équipes plus de temps pour se concentrer sur les objectifs de la feuille de route plutôt que sur la gestion de l’infrastructure. Avec des API stabilisées, un meilleur alignement multiplateforme et moins de pièges de configuration, votre organisation peut livrer plus rapidement, tester plus efficacement et maintenir une pile plus légère sur toutes les plateformes.
La technologie évolue rapidement, et les cadres qui éliminent les frictions ont un poids stratégique réel. C’est ce que fait cette mise à jour. Elle est pragmatique, tournée vers l’avenir et conçue pour s’adapter à l’échelle.


