Introduction à ArcGIS Runtime - 1/2
J'ai évoqué plusieurs fois ces derniers mois ArcGIS Runtime en le présentant comme une des nouveautés importantes d'ArcGIS 10.1 mais sans prendre le temps de détailler cette nouvelle solution de développement d'Esri. Tout d'abord, ce qu'il faut bien comprendre c'est qu'ArcGIS Runtime est dédié au développement d'applications natives (connectés ou non) et qu'il s'agit en réalité d'une série de 6 runtimes adressant chacune une plateforme d'exécution spécifique: iOS, Android, Windows Phone, Windows Mobile, Windows, Linux et Mac. Les SDKs ArcGIS Runtime pour les plateformes mobiles (iOS, Android, Windows Phone, Windows Mobile) existent déjà depuis la version 10 d'ArcGIS, cependant leur dénomination n'était pas associée (jusqu'à maintenant) à la terminologie "ArcGIS Runtime".
Ainsi lorsque l'on parle d'ArcGIS Runtime aujourd'hui on évoque généralement la nouvelle solution de développement bureautique (Windows, Linux). C'est sur cette solution que se focalise cet article en deux parties.
ArcGIS Runtime, pour quoi faire ?
ArcGIS Runtime propose une nouvelle technologie et une nouvelle architecture pour le développement d'applications SIG. Capable de travailler sur des données locales (Géodatabases) aussi bien qu'avec des services web ArcGIS, les applications ArcGIS Runtime proposent l'essentiel des fonctionnalités SIG y compris des fonctions spécifiques issues des extensions comme Spatial Analyst ou Network Analyst. Lors de la construction de l'application, le développeur choisi les fonctionnalités et les librairies associées à déployer. Ceci permet de réduire la taille de l'application et potentiellement les coûts de licences.
Un nouvel ArcGIS Engine ?
Pas vraiment. ArcGIS Engine c'est ArcGIS for Desktop en "pièces détachées", c'est-à-dire un ensemble de librairies qui permettent un accès à des objets de bas niveau au socle d'ArcGIS for Desktop (les ArcObjects). Même si ArcGIS Runtime permet de faire l'essentiel de ce que fait ArcGIS for Desktop, l'approche en termes de programmation est un accès à des objets de plus haut niveau. Ceci le rend plus simple et plus productif à coder, sans pour autant limiter le développeur en termes de fonctionnalités. Fonctionnellement, ArcGIS Runtime se positionne entre ArcGIS Mobile et ArcGIS Engine. Enfin, l'architecture technologique d'ArcGIS Engine est également très différente, avec une adhérence beaucoup plus faible vis à vis du système et aucune dépendance à des objets COM.
Quels environnements de développement ?
ArcGIS Runtime propose 2 moteurs d'exécution (runtimes): Windows et Linux. Pour adresser ces plateformes, le développeur dispose de 3 SDKs pour construire son application:
- WPF (.Net)
- Java (Java)
- QT (C++)
La philosophie de ces SDKs est très proche de celle des APIs et permet à un développeur de passer de l'un à l'autre très facilement. Par exemple, si vous développez aujourd'hui avec Flex ou Silverlight, la transition vers ArcGIS Runtime sera des plus naturelles. Comme pour les APIs Web, vous allez pouvoir exploiter la puissance des scripts et des modèles de géotraitements ArcGIS ce qui facilite grandement le développement et le portage de votre code. Pour cela, ArcGIS Runtime tire profit des nouveautés d'ArcGIS for Desktop 10.1 en ce qui concerne l'empaquetage des traitements ( Geoprocessing Packages et Locator Packages) mais aussi l'empaquetage des données (Map Packages, Layer Packages et Tile Packages).
Dans une seconde partie, je décrirais l'architecture technique d'ArcGIS Runtime pour montrer en quoi elle constitue une solution de développement innovante. J'évoquerais également les niveaux de licences et les fonctionnalités associées.
2 comments :
Bonjour,
Je ne vois pas la version du SDK du runtime pour Qt sur le portail (j'ai un compte EDN). Est-ce normal ? Si oui, avez-vous des indication sur sa disponibilité ?
Le SDK QT (C++) sortira de manière différée, normalement plutôt vers la fin de l'année 2012.
Enregistrer un commentaire