Rechercher dans le blog

SDK JavaScript d'ArcGIS : évolution des ViewModels et création de workflows personnalisés

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.

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