Catégories
Start-up et applications

Quatre conseils que les développeurs devraient suivre lors de la création d'applications basées sur la localisation

À mesure qu'Internet continue d'évoluer et de mûrir, les outils de développement et les technologues qui les utilisent font de même. Mais à quoi ressemble aujourd'hui une approche plus mature du développement d'applications? Comment les développeurs d'applications gèrent-ils la complexité croissante et offrent-ils des expériences exceptionnelles à leurs utilisateurs?

Les applications qui utilisent des données de localisation présentent des défis supplémentaires. Les utilisateurs s'attendent à des expériences transparentes avec des données fiables et à jour – un défi de conception et d'ingénierie important. Pour aider les développeurs, voici mes quatre meilleures pratiques pour créer des applications basées sur la localisation.

Allégez le fardeau avec les API

Les développeurs qui créent une application ou une fonctionnalité qui nécessite l'utilisation de données externes ou tierces sont souvent confrontés au problème de devoir télécharger de grands ensembles de données à partir desquels des données pertinentes doivent être extraites. Les informations géospatiales, par exemple, sont souvent fournies dans des ensembles de données importants, qui doivent être traités, stockés, gérés et mis à jour manuellement lorsque de nouvelles mises à jour sont publiées par le fournisseur. Cette surcharge technique nécessite un investissement de temps important de la part d'un développeur, rendant impossible l'utilisation de nombreux ensembles de données potentiellement précieux.

Une solution beaucoup plus simple et plus ciblée consiste à consommer les données nécessaires, au moment opportun, et c'est là que les API entrent en jeu. Non seulement les API sont souvent un moyen plus efficace pour les utilisateurs de consommer des données, mais elles ont également tendance à réduire le coût total de création d'une application. Le fournisseur d'API héberge les systèmes qui contiennent les données pertinentes et prend en charge les mises à jour et la gestion, ce qui permet aux développeurs de se concentrer sur d'autres tâches. Les API permettent également de garantir que les données les plus à jour sont utilisées, ce qui peut souvent définir l'ensemble de la proposition d'une application, en particulier si celle-ci repose sur des informations de localisation précises.

Les visualisations de données cartographiques, par exemple, ne remplissent souvent leur objectif que si elles reflètent les données les plus récentes. Les API peuvent alléger le fardeau des développeurs en offrant un accès à des sources de données fiables et bien entretenues.

Validez avant d'intégrer

Le développement d'applications nécessite aujourd'hui l'utilisation d'une variété d'ensembles de données, dont beaucoup viennent dans des formats incompatibles. En fait, les chances que tous les ensembles de données requis soient interopérables sont très faibles, ce qui pourrait signifier une charge considérable au stade de l'intégration des données. En ce qui concerne les données géospatiales sur le Web, par exemple, la norme de facto pour les entités vectorielles est GeoJSON. Cependant, les données spatiales dont les développeurs auront besoin peuvent se présenter sous forme de fichiers de formes, conçus pour les applications SIG, et d'autres, tels que le langage de balisage géographique (GML), KML, GPX, des polylignes codées, des tuiles vectorielles, etc. – chacun nécessitant des outils spéciaux pour travailler avec.

La recherche d'ensembles de données, de formats et de bibliothèques n'est en aucun cas une astuce controversée, mais elle mérite d'être soulignée. La planification et la validation des cas d'utilisation avant d'introduire le code permettra d'économiser du temps, des coûts et de la cohérence. Après tout, il est plus facile de modifier une structure filaire que de réécrire du code – ou pire, de réaliser que vous avez choisi d’incorporer une bibliothèque JavaScript mal prise en charge ou une source de données incomplète.

Chaque développeur connaît bien la douleur d'avoir à résoudre un problème apparemment tout à fait unique – et la joie de trouver un problème complexe a déjà été résolue. Il existe de nombreuses communautés open source actives et florissantes en ligne qui peuvent fournir une assistance aux développeurs Web spatiaux. Les fichiers GeoJSON peuvent être facilement et nativement visualisés avec les bibliothèques de cartographie Javascript populaires, telles que Leaflet, Mapbox GL JS et OpenLayers – il existe une mine d'informations en ligne à ce sujet. D'autres formats n'ont pas le même support, ce qui peut rendre le processus de conversion d'un format incompatible en un format qui peut être facilement intégré au reste de la pile technologique d'une application plus difficile. Des outils tels que maphaper, QGIS, GDAL et Turf.js peuvent aider les développeurs à convertir entre les formats, à reprojeter les coordonnées et à effectuer des processus d'analyse et de manipulation spatiales.

C’est un cliché, mais travailler plus intelligemment, pas plus dur, c’est ce que les développeurs devraient rechercher.

Gérer l'asynchronicité

Le Web présente des défis intéressants pour les développeurs. D'une part, nous ne savons pas combien de temps certains processus prendront. Par exemple, la rapidité avec laquelle les données sont extraites d'une API dépend de la bande passante, de la quantité de données, du serveur, etc. Cela est particulièrement pertinent dans les applications utilisant des données spatiales, car les ensembles de données sont souvent extraits d'API externes et sont souvent volumineux.

Ceci est compliqué par le fait que le code JavaScript repose souvent sur des actifs chargés plus tôt – pour utiliser une variable x, x doit être déclaré et attribué une valeur. Lorsque cette opération d'affectation prend un temps indéterminé, comment savoir quand procéder au calcul de x + 1?

Heureusement, la communauté JavaScript a conçu une suite sophistiquée de solutions à ce problème. Une promesse tient la place d'une valeur qui n'est pas encore connue – le résultat éventuel d'une opération asynchrone. Lorsque l'opération se termine, la promesse est résolue – ou rejetée. En enchaînant les promesses, les programmeurs peuvent créer des programmes qui gèrent efficacement et proprement les opérations asynchrones.

S'appuyant sur les promesses, la syntaxe asynchrone / attente d'ECMAScript 2017 rend «le code asynchrone plus facile à écrire et à lire par la suite», améliorant ainsi la toolbelt que les développeurs peuvent utiliser pour gérer ces opérations asynchrones.

Pour écrire des applications performantes, les développeurs doivent souvent récupérer des données à partir de plusieurs sources, gérer des opérations asynchrones, mais pas attendre qu'un processus se termine avant d'en démarrer un autre – c'est-à-dire qu'ils doivent exécuter des opérations simultanément. Un outil pour cela est la méthode Promise.all (), qui traite un tableau de promesses en une seule fois, ne résolvant que lorsque toutes les opérations sont terminées.

La compréhension de l'outillage et des techniques est donc essentielle. En ce qui concerne les données asynchrones, par exemple, JavaScript dispose de nombreux outils de gestion de données intégrés au langage lui-même, ce qui peut considérablement réduire la complexité potentielle, améliorer les performances et donner de meilleures applications.

Ne négligez pas les plates-formes

Un défi majeur pour les concepteurs et les développeurs est de créer une expérience cohérente sur différentes plates-formes. La création d'une fonctionnalité de visualisation de données incroyable pour une page Web pourrait bien fonctionner sur un écran d'ordinateur portable, mais dans quelle mesure cela se traduit-il lorsqu'il est visualisé sur un smartphone? Pour les applications B2B, les cas d'utilisation sont généralement destinés aux utilisateurs assis devant un PC dans un bureau. Mais de plus en plus, la compatibilité avec les appareils portables, tels que les smartphones, est une exigence.

Pour les développeurs de SIG, créer des visualisations de données cartographiques convaincantes et utilisables qui fonctionnent sur des appareils de bureau et à écran tactile de toutes tailles peut être un défi. L'astuce consiste à concevoir d'abord vos interactions d'interface essentielles pour le toucher. Cela signifie exclure initialement le survol de la souris ou les interactions par clic droit. Vous pouvez ajouter ces interactions plus tard, mais uniquement pour des actions non essentielles telles que des raccourcis vers des éléments qui sont autrement disponibles via d'autres événements de clic / tactile. Il s'agit d'une demande difficile pour des interfaces denses comme les applications SIG qui reposent souvent sur des menus contextuels et des survols pour exposer des informations contextuelles sur une entité géographique.

Un ensemble réduit d'événements d'interaction fait partie intégrante de la philosophie de conception «mobile-first». Cela va de pair avec un petit écran immobilier et des zones de frappe de la taille d'un doigt.

Bien entendu, il n’est pas possible d’ignorer les utilisateurs mobiles. Le design thinking doit donc informer les premières étapes de toute application nécessitant des visualisations de données convaincantes. Parfois, en particulier avec les visualisations cartographiques destinées à prendre en charge le routage ou l'orientation, une approche mobile d'abord doit être adoptée. Dans tous les cas, réfléchissez tôt aux besoins de l'utilisateur et sollicitez des commentaires via des tests utilisateur réguliers.

Alors, voilà. Quelques conseils à prendre en compte avant de vous lancer dans la création d'une application géolocalisée.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *