Changements de noms parmi les APIs et SDKs d’ArcGIS

a{color: rgb(106,14,120)}

Hier, le 16 Novembre après-midi, Esri a annoncé le changement de nom de certains de ses produits orientés développement durant l’Esri European Developer Summit 2022. Ces changements prendront effet à partir de Décembre 2022 et concernent l’API JavaScript ainsi que les Runtime SDKs.

Les nouveaux noms

La suite complète

Voici donc quelle sera la liste complète de la suite d’ArcGIS Maps SDK une fois que ce changement sera effectif :

  • ArcGIS Maps SDK for JavaScript
  • ArcGIS Maps SDK for .NET
  • ArcGIS Maps SDK for Java
  • ArcGIS Maps SDK for Qt
  • ArcGIS Maps SDK for Swift (beta)
  • ArcGIS Maps SDK for Kotlin  (beta)
  • ArcGIS Maps SDK for Unity
  • ArcGIS Maps SDK for Unreal Engine

Notez que les SDK ArcGIS Runtime pour iOS et Android sont remplacés par les nouveaux SDK ArcGIS Maps pour Swift et Kotlin respectivement.

 

3 groupes pour les distinguer

Les SDKs de la suite se répartissent en trois groupes distincts, chacun d’entre eux étant utilisé pour élaborer des types de solutions spécifiques :

  • Native SDKs: pour créer des applications qui s’exécutent directement sur des appareils mobiles, de bureau et intégrés, en utilisant .NET, Java, Qt, Swift ou Kotlin, en ligne ou hors ligne.
  • Game Engine SDKs: our créer des applications pour les appareils de Réalité Augmentée, Réalité Virtuelle, mobiles et de bureau en utilisant Unity ou Unreal Engine, qui peuvent fonctionner en ligne ou hors ligne.
  • Web SDKs:  pour créer des applications qui s’exécutent dans les navigateurs Web.

Voici comment Esri fera référence à ces groupes de SDKs :

  • ArcGIS Maps SDKs for Native Apps sera utilisé comme un raccourci pour désigner les ArcGIS Maps SDKs for .NET, Java, Qt, Swift et Kotlin.
  • ArcGIS Maps SDKs for Game Engines continuera à être utilisé comme raccourci pour les ArcGIS Maps SDKs for Unity et Unreal Engine.
  • ArcGIS Maps SDK for JavaScript est le seul SDK Web de la famille ArcGIS Maps SDK. Il continuera donc à être appelé par son nom chaque fois qu’il sera fait mention du développement Web à l’aide des SDK ArcGIS Maps. 

 

Qu’est-ce qui va changer exactement, et quand?

Il s’agit uniquement d’un changement de nom, que vous pourrez observer à la surface (par exemple, dans les listes du gestionnaire de paquets, dans la documentation ou sur le site de support Esri).

Notez que le nom ne changera que pour les nouvelles versions des SDKs : 

  • Pour ArcGIS API for JavaScript, les versions 4.25 et ultérieures adopteront le nouveau nom. ArcGIS API for JavaScript 4.0 – 4.24 et toutes les versions ArcGIS API for JavaScript 3.x n’adopteront pas ce changement de nom..
  • Pour ArcGIS Runtime SDKs, les versions 100.0 – 100.15 n’adopteront pas le nouveau nom (ceci inclut toutes les futures versions de correctifs des kits SDK 100.x). À partir de la version 200.0, les SDK adopteront le nom ArcGIS Maps SDK.
    • Le SDK ArcGIS Runtime pour iOS et le SDK ArcGIS Runtime pour Android n’adopteront pas les nouveaux noms. La dernière version de ces deux SDK était la version 100.15 de support à long terme, et ils seront remplacés par les nouveaux ArcGIS Maps SDK for Swift et ArcGIS Maps SDK for Kotlin à la version 200.0 (voir cet article de blog pour plus de détails).

Le site Developers d’ArcGIS sera mis à jour en décembre lors de la sortie des prochaines versions des l’ArcGIS Maps SDKs for Native Apps et des ArcGIS Maps SDKs for Game Engines.

Le support Esri, le site Esri Community et les autres pages web, produits, tableaux de bord et documentation seront mis à jour tout au long de l’année 2023.


Qu’est-ce qui ne va pas changer?

Rassurez-vous : mis à part le nom, rien ne change :

  • Les capacités des APIs/SDKs resteront les mêmes.
  • Les espaces de noms, les noms de classes, les méthodes, les propriétés, les instructions, etc. resteront les mêmes.
  • Vous n’aurez pas besoin de modifier la manière dont vous référencez les APIs et SDKs d’ArcGIS.
  • La manière de coder reste inchangée (notez que si vous migrez vos projets vers les nouveaux SDK Swift et Kotlin, cette migration impliquera tout de mêm des modifications de code).
  • Les niveaux de support et les cycles de vie des produits restent inchangés.
  • La fréquence des versions restera inchangée.
  • Les licences existantes d’ArcGIS Runtime continueront d’être valides pour les ArcGIS Maps SDKs pour les applications natives. De la même manière,  les utilisateurs d’ArcGIS Online ou d’ArcGIS Enterprise auxquels sont attribuées des capacités ArcGIS Runtime pourront utiliser les applications créées avec ArcGIS Maps SDKs for Native Apps.

 

Pourquoi ces changements de noms?

Des noms plus parlants

Via cette manœuvre,  Esri a pour but de rendre plus facile la découvverte de leur SDK. Le terme “Maps”, plus parlant que “Runtime”, devrait permettre une découverte plus facile des SDKs ArcGIS lors de la recherche et de l’évaluation des technologies de localisation et de cartographie pour les projets de dév.

Des noms reflétant des capacités communes

L’API ArcGIS pour JavaScript, les SDK ArcGIS Runtime et les SDK ArcGIS Maps pour les moteurs de jeux ont tous beaucoup en commun :

  • Des API sophistiquées pour faciliter l’accès aux données, leur visualisation et leur édition.
  • Une prise en charge de plusieurs formats et services de données.
  • Une visualisation puissante et performante des données géospatiales.
  • La prise en charge de données géospatiales de haute précision à l’échelle mondiale et locale.
  • La prise en charge de plusieurs projections et systèmes de coordonnées.
  • La prise en charge de la recherche de lieux, du géocodage et du routage.
  • Une intégration transparente avec le système ArcGIS : ArcGIS Platform, ArcGIS Online, ArcGIS Enterprise et ArcGIS Pro.
  • Une intégration avec le modèle de sécurité du système ArcGIS, notamment OAuth et les clés API.
  • Des API references, extraits de codes, forums communautaires et tutoriels soutenus par le support Esri.

C’est donc également pour mieux refléter ces capacités communes qu’Esri a décidé de regrouper sous des noms plus homogènes ses SDKs.

 

Le mot de la fin

Esri nous propose donc des noms plus homogènes et plus parlant qui seront appliqués aux prochaines versions des APIs et SDKs concernés. Pour l’utilisateur, le changement sera finalement quasiment transparent car les capacités des SDKs et les workflows de travail resteront inchangés; il faudra simplement s’habituer à retrouver ces nouveaux noms dans la documentation et sur les sites d’Esri.

C’est tout pour aujourd’hui ! Je vous invite à lire cet article pour découvrir les nouveautés de la version 4.25 de l’ArcGIS API for JavaScript (la dernière version 4.x qui portera ce nom!), et à me retrouver la semaine prochaine pour un peu de code JavaScript.

Un mardi, une appli #21 : les Sept Sommets

a{color: rgb(106,14,120)}

Bonjour à tous !

Comme promis dans l’article de la semaine dernière sur les nouveautés de la version 4.25 de l’ArcGIS API for JavaScript, je vous propose aujourd’hui un nouveau numéro de la série Un mardi, une appli.

J’ai découvert cette très belle application permettant d’explorer le point le plus profond de chaque océan, « The Five Deeps », développée par Raluca Nicola d’Esri dont je vous conseille fortement de découvrir le travail (et dont certaines applications ont déjà été examinées sur ce blog, par exemple ici).

Nous allons nous inspirer de cette application pour créer ensemble son homologue présentant les points culminants de chacun des continents, que nous nommerons  « Les Sept Sommets».

L’appli

Les Septs Sommets (Seven Summits) sont un challenge mythique de l’alpinisme consistant à gravir le sommet de chacun des sept continents : le Mont Vinson (Antarctique), le Kilimandjaro (Afrique), l’Aconcagua (Amérique du Sud), l’Everest (Asie), le Denali aussi appelé McKinley (Amérique du Nord), l’Elbrouz (Europe) et le Puncak Jaya aussi connu sous le nom de Pyramide de Carstensz (Océanie).  

En 3D, l’application permet de parcourir chacun de ces points culminants sous la forme de points d’intérêt interrogeables.

 

Le code

L’application se base sur l’API JavaScript d’ArcGIS, et vous pouvez en retrouver le code commenté sur mon Github.

 

Configuration de la carte et de la scène 3D

Nous commençons par créer la carte, qui utilisera en tant que fond de carte deux couches de tuile qui seront mélangées avec le mode de fusion produit (multiply). Vous pouvez bien sûr utiliser n’importe quelle autre fond de carte de votre choix.

Cette carte est appelée dans une vue 3D (scène), dont nous choisissons l’échelle et le point central d’affichage. Notez que c’est également à cette étape que nous commençons à configurer les popups qui apparaîtront lorsque nous interrogerons les points, pour que celles-ci soient ancrées en bas à droite de l’écran et non flottantes.

 

Configuration et ajout des couches à la carte

Il est maintenant temps de référencer les différentes couches. Commençons par la couche d’élévation, qui est ici une couche exagérée verticalement d’un facteur 3,5 pour accentuer les points culminants. Celle-ci est ajoutée à la carte en tante que couche de configuration du sol.

Nous allons ensuite ajouter des nuages, pour l’esthétisme de ce globe. Nous utilisons pour cela un MediaLayer, nouvelle fonctionnalité de la version 4.24 de l’API permettant de superposer des images à notre carte.

 

Maintenant, nous allons nous occuper de la couche d’entités contenant les sommets. Celle-ci est hébergée sur une organisation ArcGIS Online et est donc exposée grâce à l’API REST, vous pouvez retrouver toutes les informations sur cette couche ici.

Sur cette couche, nous commençons donc par configurer les fenêtres contextuelles (popups) qui apparaîtront lorsque nous cliquerons sur un point.

Nous modifions ensuite la symbologie qui s’affichera pour les points. Tous les points s’afficheront de la même manière, nous utiliserons donc un rendu simple.

Enfin, nous pouvons référencer la couche et configurer les labels qui apparaîtront à côté de chacun des points, pour que l’utilisateur puisse voir le nom des sommets sans avoir à cliquer dessus. 

 

Notez qu’au fur et à mesure, nous avons ajouté individuellement les couches après leur référencement avec la méthode add() appliquée à la carte. Sachez qu’il est possible de les ajouter toutes en une seule fois dans un tableau grâce avec la méthode addMany() ou directement dans le constructeur de la carte avec la propriété layers.


Ajustements esthétiques

Nous allons enfin ajouter les fonctions permettant de faire tourner la planète et de rendre les nuages plus transparents lors du zoom pour éviter qu’ils ne gênent.

La toute dernière étape consiste à supprimer les widgets automatiquement ajoutés par l’API (NavigationToggle, Zoom et Compass), pour épurer l’interface.

Mot de la fin

Et voilà, le code JavaScript de l’application est terminé ! N’hésitez pas à aller jeter un coup d’œil au code de l’application « The Five Deeps », également disponible sur Github. Vous verrez que nous en avons repris les éléments essentiels en les simplifiant pour cet article, mais le code original vous permettra de voir comment l’API Javascript d’ArcGIS peut être intégrée au sein d’un code plus poussé, avec un important travail sur le style.

A bientôt pour un nouvel article, qui devrait cette fois-ci parler de l’ArcGIS API for Python !