Le blog francophone consacré
aux technologies Esri

Retour sur le Developer Summit Esri 2016 - 3/3


Je vous propose aujourd'hui la troisième et dernière partie de cette synthèse consacrée aux annonces faites par Esri la semaine dernière lors du Dev Summit 2016. Dans ce dernier volet, je reviens sur les APIs et SDKs de la plateforme, sujet au combien important pour les développeurs d'applications particulièrement cette année qui marque une année charnière tant pour les concepteurs d'applications web en JavaScript que pour ceux qui développent des applications natives avec les SDKs ArcGIS Runtime.


Python pour automatiser et piloter toute la plateforme SIG Web ArcGIS

Python est depuis longtemps le language dans ArcGIS qui permet l'automatisation de tâches liées à la gestion, aux traitements et à l'analyse des données du SIG. Simple et efficace, il est toujours plus utilisé au fil des versions, à la fois par les développeurs mais aussi par les "non-développeurs". Comme depuis de nombreuses années, Esri a de nouveau recommandé aux développeurs son usage et a annoncé l'arrivée d'une nouvelle API Python "ArcGIS Platform Python API" qui complétera "ArcPy" et couvrira l'ensemble des tâches de la plateforme SIG Web ArcGIS en permettant l'accès à l'ensemble de l'API Rest d'ArcGIS Server, de Portal for ArcGIS et d'ArcGIS Online. Cette API s'adressera à tous les profils accédant à la plateforme ArcGIS: Administrateurs, Développeurs, Utilisateurs avancés, Chargés d'étude et d'analyse, Data Scientist, Editeurs de contenus, ...
 
 
Utilisable dans un contexte Online ou On-Premise, "ArcGIS Platform Python API" est la solution attendue par tous les utilisateurs de portail ArcGIS qui souhaitent automatiser un certain nombre de tâches. Cette API proposera un modèle de classes d'objets très simple pour accéder à toutes les tâches liées à votre SIG Web comme par exemple:

  • Création/modification de web map et de web scene, 
  • Gestion des utilisateurs/groupes, 
  • Publication de couches web sur le portail, 
  • Publication et gestion des contenus du portail, 
  • Accès aux outils d'analyse standard;
  • Accès aux outils Analytics (analyse de Big Data vecteur et raster),
  • Fonctionnalités de géocodage, 
  • Fonctionnalités de calculs géométriques,
  • ...
 
 
Pour utiliser de manière très productive cette API, Esri va intégrer l'interface web Open Source IPython Notebook qui permet d'écrire et d'exécuter interactivement du code Python et de voir les résultats de ces différentes instructions.

 
Plus qu'une simple console Python, des outils comme Notebooks permettrons une exploitation optimale de cette nouvelle API en permettant de documenter le code Python que vous écrivez et qui devraient être rejoués. Un peu comme les script sAML ou Avenue pour le SIG Web (pour ceux à qui cela parlera) !
 
  
Un "Notebook" peut être enregistré pour être rejoué ou servir de base à la création d'un script que vous mettrez en production.


Cette nouvelle API Python devrait faire son apparition dans ArcGIS 10.5, en fin d'année.

  
L'arrivée de l'API ArcGIS for JavaScript  4.0

Depuis début 2008, Esri propose une API JavaScript pour le développement d'applications web géographiques consommant les services de la plateforme ArcGIS. En 8 ans, que de chemin parcouru pour cette API si stratégique dans la plateforme ArcGIS. Après le large succès de la version 3.x qui est incontestablement la plus complète et la plus mature des API JavaScript du marché, Esri a décidé (fin 2013) le redesign et le redéveloppement pour proposer une nouvelle API ArcGIS for JavaScript 4.x intégrant les retours de la communauté de développeurs et les évolutions récentes de la plateforme. Les objectifs de cette refonte sont les suivantes:

  • Intégrer de manière homogène la visualisation en 2D et 3D
  • Permettre une interaction avec les Web Map et les WebScene (lecture/écriture)
  • Proposer aux développeurs une API plus cohérente sur l'ensemble des classes 
  • Permettre l'exploitation de mécanisme moderne de programmation (autocast, accessor, promise, séparation View/Model des widgets, loadable objects, ...)
  • Des widgets conçus pour un fonctionnement optimal sur les devices mobiles
  • Des widgets plus facilement stylables
  • Une meilleure intégrabilité avec les autres frameworks JS
  • De meilleures performances notamment sur la partie cartographie 2D
  • AMD comme pattern unique de développement
  • ...

 
  
Déjà en beta depuis plusieurs mois, l'API ArcGIS for JavaScript 4.0 est actuellement en beta 3 (plus d'informations ici) et devrait sortir en version finale pour la UC Esri (fin juin).

Et l'API JavaScript 3.x ?

La version actuelle est la version 3.16 (voir cet article). Esri annonce des développements actifs jusqu'a la fin de l'année et la poursuite du support des versions 3.x jusqu'au 31 décembre 2018.

  

"Quartz" la nouvelle génération de SDKs ArcGIS Runtime

Les SDKs ArcGIS Runtime permettent le développement d'applications natives pouvant être connectées ou pas à la plateforme ArcGIS. Depuis plusieurs années les SDKs ArcGIs runtime sont disponibles pour les environnements de développement .Net, iOS, MacOS X, Java, Android et Qt. La version "Quartz" est une version majeure qui correspond à un projet de refonte des SDKs ArcGIS Runtime entamé il y a déjà plusieurs années pour répondre aux besoins exprimés par les développeurs d'applications natives.



Cette version "Quartz" a pour motivation de répondre au enjeux suivants:

  • Etre mieux intégrée à la plateforme ArcGIS (en particulier avec le portail, les cartes web, les couches web, ...)
  • Exploiter la totalité des capacités de la plateforme
  • Offrir les mêmes fonctionnalités quelle que soit la plateforme
  • Permettre la conception de carte web
  • Supporter l'affichage de données en 2D et en 3D, y compris en mode déconnecté
  • Supporter plus de formats de données locales (KML, Mobile Map Packages, Vector Tiles, ...)
  • Accéder aux données locales par lecture directe de fichiers
  • Disposer de plus de fonctions d'analyse en local et mieux exploiter la GPU
  • Supporter uniquement le "local server" sur Java et .Net
  • ...
Un des points importants dans l'évolution de l'architecture des SDKs ArcGIS Runtime est d'implémenter un maximum de fonctionnalités au niveau du coeur (C++ core runtime) afin de disposer de toutes ses capacités quelle que soit la plateforme.

Application 3D sur Android réalisée avec
le SDK ArcGIS Runtime "Quartz"
  
En termes de planning, "Quartz" est actuellement en version beta pour iOS, Android et Java et le sera d'ici juin pour .Net, Xamarin, Java et Qt. Esri annonce une version finale avant l'été pour iOS et Android et après l'été pour .Net, Xamarin, Java et Qt.

   
   
Un SDK ArcGIS Runtime pour l'environnement Cross-Platform Xamarin

La version "Quartz" d'ArcGIS Runtime supportera, en plus de Qt/QML, une nouvelle plateforme pour le développement d'applications cross-platform.


En effet, Esri a décidé l'an dernier d'implémenter la plateforme Xamarin (désormais la propriété de Microsoft) pour permettre le développement en .Net d'applications compilées pour iOS ou Android. Avec le SDK ArcGIS Runtime for Xamarin, vous pourrez utiliser Visual Studio et C# pour créer des applications natives ArcGIS sur iOS et Android.

Déboggage d'une application ArcGIS pour Android depuis Visual Studio


Conclusion

J'ai essayé à travers ces 3 articles de vous donner un aperçu des principales évolutions à venir autour de l'écosystème ArcGIS. Bien entendu, nous aurons l'occasion de revenir en détails sur ces évolutions le moment venu. En attendant, vous pouvez revoir en intégralité la vidéo de la session plénière depuis cette page.

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article:

1 comments :

Anselme a dit…

Je vais essayer le sdk arcgis for xamarin car je développe avec visual studio