Les ArcGIS Maps SDKs for Native Apps vous permettent de créer des applications
cartographiques natives supportées par plusieurs plateformes (tablettes,
smartphones, ordinateurs) et pouvant tirer parti des capacités des
périphériques à destination desquelles elles sont développées.
Parmi les nombreuses plateformes de développement disponibles,
Flutter est actuellement extrêmement populaire, d'une part pour sa
capacité à gérer le multiplateforme avec un unique code source, et
d'autre part pour ses nombreux
outils et fonctionnalités permettant d'améliorer la productivité des
développeurs.
Afin de pouvoir permettre l'accès à cette plateforme aux développeurs faisant
appel à ArcGIS pour intégrer des capacités géospatiales à leurs applications,
Esri a développé
un nouvel SDK venant enrichir sa gamme de SDKs pour applications natives :
l'ArcGIS Maps SDK for Flutter.
La version bêta de ce SDK pour Flutter est désormais
disponible en bêta sur le site Early Adpoter d'Esri, alors n'hésitez pas à aller le tester. Dans la suite de cet article, je
vous propose de voir ensemble en quoi la prise en charge de cette nouvelle
plateforme de développement va pouvoir vous supporter dans la création de vos
prochaines applications cartographiques.
Qu'est-ce que Flutter?
Flutter est une
technologie open source créée par Google, qui gagne rapidement en popularité
pour le développement d'applications mobiles multiplateformes grâce à de ses
nombreuses fonctionnalités améliorant la productivité des développeurs, à sa
forte communauté et à son cycle de développement rapide. Il utilise le langage
de programmation Dart, un langage de programmation moderne et concis,
et propose une approche de développement basée sur des widgets
personnalisables. Flutter permet aux développeurs de construire des interfaces
utilisateur riches et réactives avec un seul code source, sans avoir à
réécrire le code pour chaque plateforme. Cela en fait un outil populaire pour
le développement d'applications mobiles et multiplateformes.
Pour en savoir plus, je vous renvoie vers
cet article
où nous nous sommes penchés plus en détail sur les raisons ayant poussé
Esri à se lancer dans le développement d'un SDK pour Flutter.
La bêta du SDK ArcGIS pour Flutter
Le SDK Flutter combine les avantages et les fonctionnalités de Flutter avec
les capacités géospatiales et la prise en compte de la localisation des SDKs
ArcGIS pour applications natives.
Si vous êtes déjà familier avec la famille des SDK natifs, vous vous sentirez
tout de suite à l'aise avec les fonctions de cette première bêta du SDK
Flutter, telles que la cartographie, le géocodage, le routage et le hors
ligne.
En tant que bêta, le SDK verra ses fonctionnalités ajoutées progressivement.
Cette première version bêta se concentre sur la visualisation de cartes 2D en
ligne et hors ligne, le géocodage et le routage, ainsi que sur les flux de
travail d'édition de données. Esri ajoutera des fonctionnalités à chaque
nouvelle version jusqu'à atteindre le même niveau que les autres SDK natifs.
Notez que pour l'instant,
les plateformes prises en charge par le SDK sont les plateformes mobiles
sous iOS et Android.
Vous pouvez consulter le site
Early Adopter
pour plus d'informations.
Pour vous donner une vue d'ensemble des fonctionnalités de la version bêta du
SDK Flutter, Esri a mis à votre disposition un
repo d'échantillons du ArcGIS Maps SDK for Flutter sur GitHub. Le repo est régulièrement mis à jour avec de nouveaux échantillons.
Ce repo contient des exemples de code qui démontrent les capacités du SDK
Flutter et comment les utiliser dans votre propre application. Vous trouverez
ici comment travailler avec les workflows typiques des SDK natifs dans votre
application Flutter, avec des exemples comprenant les fonctionnalités
suivantes : couches, rendus, symbologie, cartes et vues de cartes (mapview),
géocodage, routage, géométrie, identification, travail hors ligne, requêtes,
localisation, authentification, paquetages de cartes mobiles, etc.
Le repo propose également une application de visualisation des échantillons
qui peut être exécutée sur un émulateur ou un appareil iOS ou Android, afin
que les développeurs puissent facilement visualiser les échantillons en un
seul endroit. Les échantillons peuvent également être exécutés
individuellement.
Une fois que vous avez téléchargé la version bêta du SDK Flutter Maps sur le
site
Early Adopter
et que vous avez suivi les instructions de démarrage, vous êtes prêt à créer
votre première application Flutter Maps SDK. N'oubliez pas qu'avec Flutter, vous pouvez créer votre application à partir d'une seule base
de code et l'exécuter sur des émulateurs ou des appareils iOS et Android.
Une fois que vous aurez commencé à développer, n'hésitez pas à
partager vos feedbacks avec Esri via le forum dédié accessible sur le
site du Early Adopter. Ces retours d'expérience sont très précieux car ils
permettent d'orienter le développement pour mieux correspondre à vos attente
et de corriger de potentiels bugs.
Les notions fondamentales du développement avec Flutter
Parlons maintenant des concepts clé du développement avec Flutter, de comment
ils peuvent améliorer votre productivité et de comment les utiliser en
synergie avec les capacités du système ArcGIS.
Widgets Flutter
L'un des concepts fondamentaux de Flutter est que l'interface utilisateur (UI) est construite avec des widgets Flutter. Les widgets sont les blocs de construction de l'UI de votre application,
définissant à la fois la mise en page et les éléments interactifs, ainsi que
la gestion de l'état.
Lors de la création d'une application avec l'un des SDK natifs d'ArcGIS, la
vue cartographique (map view) agit comme l'interface utilisateur qui affiche les couches et les
graphiques de la carte. Dans la version bêta du SDK Flutter, la classe
ArcGISMapView elle-même est également un widget, ce qui vous permet de
contrôler totalement l'emplacement de votre carte dans votre application. Par
exemple, vous pouvez l'envelopper dans un widget Flutter Stack et superposer
des contrôles d'interface utilisateur, ou vous pouvez l'envelopper dans un
widget Flutter Expanded pour remplir l'espace restant dans l'écran de votre
application.
Vous pouvez également facilement remanier les widgets dans l'IDE que vous avez
choisi pour Flutter en enveloppant les widgets existants dans de nouveaux
widgets ou en les supprimant en fonction des exigences de conception de
l'application. L'arbre des widgets de Flutter permet de comprendre facilement
l'architecture de la conception de votre application.
Hot Reload
La fonctionnalité Stateful Hot Reload, appelée Hot Reload, fait partie des
raisons de la popularité de Flutter. Celle-ci permet la mise à jour en direct
de la présentation de l'interface utilisateur sur vos appareils ou émulateurs
sans avoir à recompiler. Elle fonctionne en injectant du code mis à jour dans
la machine virtuelle (VM) Dart, et lorsque la VM est mise à jour, Flutter
reconstruit l'arborescence des widgets, ce qui vous permet de visualiser
facilement et rapidement les modifications apportées à la conception de votre
application.
Nous en avions parlé dans l'article de débrief de la plénière du Dev Summit,
où la fonctionnalité avait été présentée en démonstration.
Un autre exemple de Hot Reload est illustré ci-dessous. Il s'agit d'un
prototypage rapide d'un changement de conception de l'application par la mise
à jour du style d'un thème violet à un thème blanc et bleu (dans ce cas, en
utilisant l'échantillon
Set Basemap).
Et si Flutter n'est pas pour moi ?
Prérogatives de votre DSI, besoins spécifiques pour un périphérique, projet
déjà engagé sur une autre technologie, préférences personnelles... Les
promesses offertes par le SDK pour Flutter ont beau être très excitantes,
plusieurs raison font que celui-ci puisse ne pas coller totalement à vos
besoin de développement. Sachez qu'ArcGIS dispose d'une gamme complète pour le
développement d'applications natives, parmi laquelle vous pourriez trouver une
technologie plus adaptée pour répondre à vos attentes. N'hésitez pas à
consulter la documentation de ces SDKs pour en apprendre plus :
- ArcGIS Maps SDK for .NET - pour déployer sur des appareils Windows, Android ou iOS
- ArcGIS Maps SDK for Qt - pour déployer sur des appareils Windows, Linux, macOS, iOS et Android
-
ArcGIS Maps SDK for Kotlin
- pour déployer sur des appareils Android
- ArcGIS Maps SDK for Swift - pour déployer sur des appareils iOS comme les iPhones et les iPads, ou sous macOS utilisant Mac Catalyst
Aucun commentaire:
Enregistrer un commentaire