Rechercher dans le blog

Le SDK d'ArcGIS pour Flutter est disponible !

L'ArcGIS Maps SDK pour Flutter est le tout nouvel SDK disponible dans la collection de SDKs natifs d'ArcGIS. Depuis la version 200.6 de ces derniers, il a rejoint les SDKs pour .NET, Qt, Kotlin et Swift et constitue la meilleure option pour développer des applications de cartographie et de localisation natives pour Android et iOS.
Dans cet article, nous allons revenir ensemble sur les raisons pour lesquelles Esri a décidé d'investir dans la technologie Flutter et pourquoi il complète la famille des SDKs natifs, et sur comment il va vous aider à construire des applications cartographiques adaptées à vos utilisateurs. 

Vue d'ensemble du SDK

Avant que nous ne rentrions plus en détails sur les raisons du développement de Flutter, parlons rapidement de ce que ce SDK vous permet de faire avec cette première version.
L'ArcGIS Maps SDK for Flutter 200.6 ne supporte pas encore toutes les capacités disponibles avec le reste des SDKs for Native Apps (nous y reviendrons plus tard dans l'article). Cela dit, cette première version donne tout de même accès à toutes les capacités fondamentales permettant de déjà développer des application répondant à de nombreux cas d'usages :
  • Visualisation et édition 2D (incluant le Geometry Editor) ;
  • Support des webmaps et des APIs fondamentales du portail ArcGIS ;
  • Support de la plupart des types de couches (dont la plupart des couches Esri et OGC) ;
  • Géocodage ;
  • Calcul d'itinéraires ;
  • Localisation de l'utilisateur ;
  • Support en ligne et hors ligne ;
  • Authentification de l'utilisateur ou par clé d'API.
Le SDK a une documentation dédiée ainsi que des extraits de code disponibles sur le site Esri Developer, et est disponible en tant que package pub.dev pour le téléchargement.
Chaque version se verra enrichie de nouvelles fonctionnalités, et nous verrons ce qu'Esri prévoit concrètement pour la suite plus tard dans cet article. Pour l'instant, revenons sur ce qu'est Flutter et sur les raisons ayant poussé Esri à développer un SDK supportant cette technologie. 

Qu'est-ce que Flutter ?

Flutter est un framework de développement open source multiplateforme permettant de développer des applications pouvant cibler différents appareils, dont Android, iOS, Windows, Mac, Linux et aussi le web (le SDK d'ArcGIS pour Flutter cible uniquement iOS et Android). Il a été développé par Google et inclut un grand nombre de fonctions de développement permettant de gagner un temps précieux.
Il s'agit d'un framework d'interface utilisateur réactif et déclaratif, ce qui signifie que vous déclarez votre interface utilisateur (en utilisant les widgets Flutter), et que lorsque l'état de votre application change, l'interface utilisateur réagit automatiquement à ces changements pour refléter l'état actuel de votre application. Ce modèle moderne de développement de l'interface utilisateur permet d'éliminer des catégories entières de code d'interface utilisateur et des bug potentiels.
Flutter s'appuie sur le langage de programmation Dart. Dart a été conçu dès le départ pour être particulièrement bien adapté au développement d'applications clientes, en prenant en charge des fonctions permettant d'augmenter la productivité telles que le Hot Reload. Dart est fortement typé et dispose d'une sécurité null intégrée. Dans l'ensemble, Dart est un langage idéal pour éviter les pièges et les bugs courants de la programmation, et pour prototyper et itérer rapidement sur la conception de l'interface utilisateur. En y combinant le framework réactif Flutter, on obtient un environnement de développement d'applications multiplateforme puissant et facile à apprendre.
Un autre élément clé que beaucoup de développeurs apprécient à propos de Flutter est son utilisation gratuite. Il vous suffit de télécharger Flutter, Visual Studio Code et Android Studio (pour cibler Android) et / ou Xcode (si vous ciblez iOS). Tous ces composants sont disponibles et utilisables gratuitement.
Enfin, les projets Flutter s'appuient fortement sur l'écosystème de packages pub.dev, ce qui facilite l'intégration de bibliothèques tierces (y compris le nouveau SDK Flutter Maps) dans vos applications.
Si vous souhaitez en savoir plus, jetez un coup d'œil à l'article de blog annonçant la version bêta du SDK Flutter Maps, qui présente en détail certaines des fonctionnalités clés et les avantages de travailler avec Flutter.

Pourquoi un SDK ArcGIS Maps pour Flutter ?

Esri évalue constamment la meilleure façon de répondre aux besoins de ses clients. Au cours des dernières années, ils ont entendu Flutter revenir de plus en plus souvent, avec une demande de support croissante pour cette technologie.
Il y a environ deux ans, certaines considérations clés se sont alignées et les ont aidés à décider d'explorer un SDK Flutter :
  • De plus en plus de clients s'engagent activement en faveur de Flutter en tant que framework de développement d'applications de choix pour la création d'applications multiplateformes ;
  • Google a continué à démontrer son engagement envers Flutter ;
  • La communauté des développeurs Flutter a continué à se développer et à mûrir.
Il est déjà arrivé que l'intérêt pour des technologies similaires s'estompent ou perdre de l'élan assez rapidement, mais Flutter montre des signes qu'il s'agissait d'une technologie adaptée et stable pour le développement d'applications sérieuses, et qu'elle ne va probablement pas disparaître de sitôt.
Au Developer Summit de 2023, un client d'Esri a fait une présentationsur son utilisation de Flutter dans ses applications. Cette présentation a également décidé les équipes d'Esri à examiner ce qu'il faudrait faire pour créer un SDK Flutter.

De l'idée initiale à la production

L'architecture de base C++ partagée, robuste et testée, qui alimente les SDK pour applications natives d'ArcGIS a permis de mettre en place un SDK Flutter de démonstration en l'espace de quelques semaines. Il n'y a eu ensuite qu'un pas à franchir pour obtenir une première version bêta privée du SDK, et les choses se sont rapidement développées à partir de là. 
En tout et pour tout, Esri est passé de l'idée initiale, à la validation du concept, à la version bêta privée, à deux versions bêta publiques et, enfin, à cette version de production en l'espace de 18 mois environ !

La première version de production

En travaillant avec quelques utilisateurs clés dans le cadre des bêtas privées et publiques, Esri a identifié un ensemble de fonctionnalités qui répondraient aux besoins de nombreux clients et constitueraient une base solide sur laquelle ils pourraient nous appuyer (il s'agit de la même liste que celle que vous avez vue plus tôt) :
  • Visualisation et édition 2D (incluant le Geometry Editor) ;
  • Support des webmaps et des APIs fondamentales du portail ArcGIS ;
  • Support de la plupart des types de couches (dont la plupart des couches Esri et OGC) ;
  • Géocodage ;
  • Calcul d'itinéraires ;
  • Localisation de l'utilisateur ;
  • Support en ligne et hors ligne ;
  • Authentification de l'utilisateur ou par clé d'API.
Se concentrer sur le développement de ces fonctionnalités clés leur a permis de fournir une API stable, fiable, et largement testée, mais également une documentation fournie, des tutoriels et des extraits de code.

Ce qui nous attend pour les prochaines versions

Proposer un sous-ensemble de fonctionnalités comporte des défis, notamment celui de savoir comment aider les développeurs qui prévoient d'adopter le SDK Flutter Maps, mais qui sont freinés par l'absence d'une fonctionnalité particulière. Esri prévoit d'ajouter des fonctionnalités à chaque nouvelle version jusqu'à ce que la parité avec les autres SDK natifs soit atteinte.
Afin d'être transparents sur le développement du SDK et l'atteinte de cette parité fonctionnelle, Esri a mis a disposition cette page décrivant de manière transparente les capacités encore manquantes, ainsi que les fonctionnalités prioritaires pour les développement des deux prochaines versions.

Commencer à utiliser le SDK Flutter

Le SDK ArcGIS Maps pour Flutter est donc maintenant disponible. Si vous avez construit des solutions pendant la bêta, vous pouvez maintenant référencer le package pub.dev et déployer vos applications en production (notez qu'il y a quelques changements mineurs depuis la bêta 2 que vous devrez prendre en compte).
Pour commencer à utiliser le SDK ArcGIS Maps pour Flutter, rendez-vous sur le site du SDK, qui comprend des ressources de démarrage, des tutoriels, des exemples de code et une référence API complète, ainsi que la page de parité mentionnée plus haut. 
Vous pouvez également visiter le forum dédié à l'ArcGIS Maps SDK for Flutter dans l'Esri Community où l'équipe derrière le SDK équipe est activement impliquée.

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 :

Aucun commentaire:

Enregistrer un commentaire