Le blog francophone consacré
aux technologies Esri

Introduction à Arcade (1/3)

Depuis la version 10.5 d'ArcGIS et la mise à jour de décembre d'ArcGIS Online, Esri à introduit dans la plateforme un nouveau langage d'expression nommé "Arcade" que vous allez découvrir progressivement dans vos applications et qui va rapidement et durablement devenir indispensable pour vous simplifier la vie dans vos tâches quotidiennes de cartographie et bien au delà. Je vous propose, à travers 3 articles, une introduction à ce nouveau langage.
 
 
 
Arcade, c'est quoi ?

Arcade est un langage d'expression pour l'ensemble de la plateforme ArcGIS. Léger et simple à utiliser et très complet, il permet de prendre des valeurs en entrée pour réaliser des opérations et produire une valeur en sortie. On peut comparer Arcade à ce que sont les expressions de calculs de cellule dans Microsoft Excel. 


Les expressions Arcades permettent de calculer dynamiquement des valeurs pour étiqueter les couches, comme base pour le rendu d'une couche, pour définir la variation d'un symbole (taille, rotation, couleur, transparence, ...) et plus encore. Ces expressions sont enregistrées avec la carte web (ou la scène web) et sont donc partageables avec les différentes applications ArcGIS.

Exemple d'expression Arcade

On retrouvera donc les expressions Arcade dans ArcGIS Pro, dans les webapps ArcGIS, dans les apps développées avec les SDKs ArcGIS Runtime ou encore dans les apps développées avec les APIs ArcGIS for JavaScript. Certaines applications ne supportent pas aujourd'hui les expressions Arcade, elles l'implémenteront dans leurs prochaines versions courant 2017.
  
     
Arcade, ce n'est pas...

Avant de décrire plus en détails les caractéristiques et les usages de ce nouveau langage, il faut préciser que l'objectif d'Arcade n'est pas de remplacer le langage Python. En effet, Arcade n'a pas du tout pour vocation l'exécution de géotraitements ou l'automatisation de tâches dans ArcGIS. On notera également qu'Arcade est un langage d'expressions de calcul, contrairement à des langage de scripting comme Python, il n'a pas vocation à être compilé et à s'exécuter en dehors du contexte d'une application ArcGIS, ce n'est pas un langage de développement d'application.


D'où vient ce nom ?

Les noms de projets de R&D chez Esri peuvent avoir des origines assez diverses. Pour le langage "Arcade", il s'agit d'une dénomination inspirée par le langage "Avenue" (pour ceux qui ont connu l'application ArcView) qui aurait pu s'appeler "Boulevard", mais ce nom avait déjà été donné dans les années 2000 à une autre projet de R&D chez Esri. Il y avait également l'idée de décrire un environnement d'exécution protégé et sécurisé. Une large partie de développeurs de ce nouveau langage étant basés au centre de R&D Esri de Cardiff (Pays de Galles), surnommée la ville des arcades, le nom était alors tout trouvé. Le "Arc" dans Arcade à ensuite fini de convaincre les équipes produit et marketing d'Esri.
    

  
Pourquoi un nouveau language ?

Avant de mettre au point le langage Arcade, Esi a bien entendu étudié de multiple solutions autour des langages de scripting existant. Cependant, pour pouvoir s'exécuter sur l'ensemble de la plateforme les contraintes étaient importantes. Le langage d'expression souhaité devait pouvoir s'exécuter aussi bien dans un navigateur, dans une application bureautique, dans un environnement serveur mais également sur des périphérique légers comme des téléphones ou des tablettes. Il devait donc être portable et offrir un niveau de sécurité maximum sur tous ces environnements. Pas possible d'envisager des langages "cross-site" comme JavaScript par exemple.


Pour garantir une performance optimale, notamment dans les navigateurs web, le moteur d'exécution de ce langage d'expression devait également être simple et léger. Impossible, par exemple, d'envisager d'intégrer un interpréteur de code Python avec JavaScript pour une utilisation dans un navigateur. Trop complexe à maintenir et trop lourd à charger.

Il fallait que le langage intègre des fonctionnalités spatiales (entités, géométries, projections, opérateurs spatiaux, ...), ce qui n'est pas le cas avec la plupart des langages de scripting du marché.

Enfin, le langage d'expression attendu pour la plateforme ArcGIS devait rester simple à écrire et proche de ce que les utilisateurs connaissent (en particulier Python et JavaScript).

Pour toutes ces raisons le choix d'Esri s'est porté sur l'implémentation d'un langage spécifique dédié à la plateforme ArcGIS.



Dans la deuxième partie de cette article, je détaillerai les usages d'Arcade dans la plateforme ArcGIS en version 10.5 et sur les principales caractéristiques de ce nouveau langage d'expression.

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: