Rechercher dans le blog

SDK JavaScript d'ArcGIS : transition vers les composants

Cela va bientôt faire deux ans que l'on a parlé pour la première fois des composants dans le SDK JavaScript d'ArcGIS. Depuis, Esri n'a cessé de s'engager pleinement dans la création de web components basés sur les standards du web, qui étendent le cœur de l’API de l’ArcGIS Maps SDK for JavaScript en éléments HTML réutilisables comme <arcgis-map></arcgis-map>. 
Cette approche concerne aussi bien le développement interne des produits ArcGIS que les composants d’interface préconstruits inclus dans le SDK. Toutes les fonctionnalités principales des widgets existent déjà sous forme de composants. Aujourd’hui, la méthode recommandée pour créer des applications web avec le SDK est donc d’utiliser les composants.

Les avantages des composants

Ce changement d’architecture vise à maximiser la productivité des développeurs front-end. Les custom elements offrent une expérience de développement familière (HTML, CSS, JavaScript) et s’intègrent naturellement dans les frameworks modernes. En interne, ces composants sont construits à partir des éléments du Calcite Design System, ce qui permet de les styliser grâce aux design tokens de Calcite (via du CSS). De plus, en encapsulant les fonctionnalités d'ArcGIS sous forme de web components au sein de ses produits, Esri peut proposer dans le SDK des composants configurables reproduisant des workflows éprouvés, comme l’Arcade Editor ou les Charts components déjà publiés. La collection de composants du SDK continuera à s’enrichir au fil du temps.

Des widgets aux map components

À l’origine du SDK, les standards des web components étaient encore émergents et peu adoptés par les navigateurs. Parallèlement, dans un écosystème en évolution constante, Esri n’avait pas souhaité s’enfermer dans un framework JavaScript particulier. C’est ainsi qu’est née l’architecture des widgets, avec plus de 60 widgets mis à disposition des développeurs.
Désormais, puisque tous les navigateurs majeurs prennent en charge les web components, la technologie peut évoluer de concert avec le navigateur, comme c’est déjà le cas pour d’autres aspects internes du SDK.

Dans un premier temps, les widgets sont simplement encapsulés sous forme de web components, puis leur structure interne est progressivement réimplémentée de façon optimisée, sans dépendre de l’ancienne architecture. Une liste des composants ayant déjà effectué cette transition est disponible dans les notes de version.

Une fois cette réécriture terminée, le SDK ajoutera la prise en charge des slots, afin de permettre aux développeurs d’intégrer leurs propres contrôles ou fonctionnalités directement dans l’interface du composant. Calcite Design System constitue une bonne introduction à ce concept, puisque la plupart de ses composants utilisent déjà des slots.

Une documentation et des ressources SDK en transition

De nombreuses ressources du site du SDK reposent déjà sur les components : guide de démarrage, bonnes pratiques, tutoriels, plusieurs échantillons de code, component playground, API reference, etc.
Cependant, comme le site du SDK regroupe huit années de contenu, la transition complète nécessitera plusieurs versions.Pendant cette phase, certaines pages ou extraits de code peuvent encore refléter les anciens modèles (non basés sur les components). Esri s'assurera que chaque nouvelle version du SDK apportera des progrès notables dans cette migration.

Feuille de route : widgets et components

Esri a annoncé qu'à terme, tous les widgets seront dépréciés puis retirés. Les développeurs sont donc encouragés à migrer leurs interfaces vers les components, en remplacement des widgets ainsi que de MapView et SceneView.
L’effort à fournir dépendra beaucoup du type d’application : pour certaines, la migration sera rapide ; pour d’autres, elle nécessitera une planification plus importante.
Voici les grandes étapes prévues :
  • Lorsqu’un component du package @arcgis/map-components aura été entièrement réécrit sans dépendre d’un widget, le widget équivalent sera déprécié (mentionné dans la doc, les exemples et la console).
  • Tous les widgets seront dépréciés au plus tôt au premier trimestre 2026.
  • Tous les widgets seront retirés du SDK au plus tôt au premier trimestre 2027. 

Accès à la logique métier sous-jacente

Si la présentation visuelle des éléments (UI) passe progressivement des widgets aux components, la logique métier disponible via les view models reste, elle, toujours accessible.

Les développeurs pourront donc continuer à construire des expériences ou workflows personnalisés à partir de cette logique.
Cependant, Esri souhaite mieux comprendre comment ces view models sont utilisés, afin d’orienter la feuille de route du SDK. Par exemple, certaines raisons fréquentes pour lesquelles les développeurs utilisent des view models pourraient être traitées plus simplement si Esri ajoutait des options directement dans les composants du SDK :
  • Simplifier une interface (retirer des boutons, options…) : une option de configuration pourrait être ajoutée pour afficher ou masquer certains éléments.
  • Intégrer un workflow personnalisé : un slot pourrait permettre d’intégrer un composant spécifique dans l’interface (par ex. un bouton lançant un workflow).
Dans certains cas, les view models servent à construire des workflows entièrement sur mesure — comme avec SketchViewModel, souvent utilisé pour gérer le dessin interactif sur la carte. Ce type de logique restera supporté à l’avenir dans les applications utilisant la logique métier du SDK.
Nous reparlerons plus en détail de l'évolution à venir des View Models dans un prochain article à paraître en début de semaine prochaine.

En savoir + :

N'hésitez pas à consulter les ressources suivantes :
Vous pouvez également consulter cette série de tutoriel, où nous avions créé une app en utilisant les composants. 
 

Aucun commentaire:

Enregistrer un commentaire