Le SDK JavaScript d’ArcGIS évolue, avec un engagement fort en faveur des
web components standards. Ce changement d’architecture vise à accroître la
productivité du développement front-end et à faciliter l’intégration avec des
frameworks comme React ou Angular. Si les développeurs continueront à pouvoir
créer des expériences personnalisées en s’appuyant sur la logique métier
interne du SDK, la manière d’y accéder et de l’utiliser va toutefois évoluer.
Contexte
Comme expliqué dans
cet article, le SDK reposait à l’origine sur une architecture de widgets, car les
standards des web components n’étaient pas encore matures ni largement pris en
charge par les navigateurs. Aujourd’hui, avec leur adoption généralisée, Esri
fait évoluer sa technologie : tous les widgets sont programmés pour être
dépréciés d’ici le premier trimestre 2026, puis supprimés dès 2027. Les
développeurs sont donc encouragés à migrer leur code d’interface pour utiliser
les components à la place des widgets et de MapView/SceneView.
Cette transition s’accompagne aussi de la disparition de la classe Widget.
Les ViewModels, qui exposent actuellement la logique métier sous-jacente des widgets, sont aujourd’hui situés dans le dossier widgets/. Il est donc nécessaire de déplacer ces ViewModels, voire de repenser leur conception.
Cette transition s’accompagne aussi de la disparition de la classe Widget.
Les ViewModels, qui exposent actuellement la logique métier sous-jacente des widgets, sont aujourd’hui situés dans le dossier widgets/. Il est donc nécessaire de déplacer ces ViewModels, voire de repenser leur conception.
L’avenir des ViewModels
Plutôt que de simplement les déplacer, Esri réfléchit à la meilleure façon d’exposer leur logique dans un SDK modernisé.Les ViewModels sont classés selon trois scénarios possibles :
1/ Conservés et déplacés dans le cœur de l’API (core API)
Leur logique sera maintenue mais relocalisée hors du dossier widgets. L’API pourra être ajustée pour répondre aux besoins spécifiques des components.
2/ Intégrés directement dans le cœur de l'API
Leur logique sera exposée autrement, via d’autres APIs. Par exemple, la logique d’AreaMeasurement2DViewModel pourrait être déplacée vers une API d’analyse, comme c’est déjà le cas en 3D avec AreaMeasurementAnalysis.
3/ Supprimés car absorbés par les components
Certains ViewModels ne seront plus utiles, car leur logique sera directement gérée par les components. Esri classe les ViewModels dans cette catégorie lorsqu'ils estiment qu'ils n'apportent pas de valeur ajoutée pour le développeur. Par exemple, WeatherViewModel n’est plus nécessaire puisque l’on peut déjà définir la météo directement sur SceneView.
Votre avis compte
Le classement de chaque ViewModel dépendra de ces critères, mais aussi des retours des développeurs.Esri encourage vivement à remplir ce questionnaire dédié, afin de mieux comprendre comment et pourquoi les ViewModels sont utilisés. Ces retours guideront la feuille de route à long terme du SDK, garantissant un équilibre entre productivité et flexibilité pour répondre aux besoins spécifiques des organisations.
Cette réflexion influence aussi la conception de nouvelles fonctionnalités côté components. Par exemple,si les ViewModels sont utilisés pour simplifier les interfaces (masquer certains boutons ou options), une propriété de configuration pourra être ajoutée au component. De la même manière, si les développeurs les exploitent pour intégrer des workflows personnalisés, des slots permettront d’insérer directement leurs propres éléments ou contrôles dans le composant. Les components offriront également des options de personnalisation via CSS. L’objectif est de réduire la quantité de code personnalisé à maintenir, tout en préservant la souplesse nécessaire pour adapter l’expérience utilisateur à vos usages spécifiques.
Adapter votre code à la nouvelle implémentation
Les notes de version détailleront tous les changements liés aux ViewModels.
Des ressources et exemples de code seront également publiés pour aider les
développeurs à adopter les nouveaux modèles recommandés. Certains
ViewModels sont déjà dépréciés (depuis la version 4.33), et d’autres le seront
progressivement. Voici la liste de ce qui existe déjà :
| ViewModel (déprécié) | Nouvelle implémentation recommandée |
|---|---|
AreaMeasurement3DViewModel |
Utiliser le component Area Measurement 3D ou AreaMeasurementAnalysis |
ButtonMenuViewModel |
Utiliser TableMenuConfig ou les components Calcite (Dropdown, List, Menu) |
DirectLineMeasurement3DViewModel |
Utiliser le component Direct Line Measurement 3D ou DirectLineMeasurementAnalysis |
FullscreenViewModel |
Utiliser directement l’API Fullscreen du navigateur |
LineOfSightViewModel |
Utiliser le component Line Of Sight ou LineOfSightAnalysis |
NavigationToggleViewModel |
Utiliser le component Navigation Toggle |
SliceViewModel |
Utiliser le component Slice ou SliceAnalysis |
WeatherViewModel |
Utiliser le component Weather |
Conclusion
Cette évolution stratégique du SDK JavaScript d'ArcGIS illustre la volonté d’Esri
d’offrir un SDK moderne, puissant et flexible, permettant de créer des
applications performantes et personnalisées qui répondent aux besoins uniques
de chaque organisation.

Aucun commentaire:
Enregistrer un commentaire