Techniques de programmation pour le développement mobile

MobileTogether est une plateforme de développement d'applications facile à utiliser et nécessitant peu de code, qui vous permet de créer des applications sophistiquées pour toutes les plateformes à partir d'une seule conception.

Le développement "low-code" ne signifie pas "zéro code". Un spécialiste de bases de données peut commencer par quelques requêtes SQL et utiliser l'interface de glisser-déposer de MobileTogether pour créer une application avec des tableaux et des graphiques élégants, permettant de présenter des données d'entreprise en temps réel. Parallèlement, les développeurs expérimentés utilisent souvent des techniques de programmation familières dans le développement mobile pour créer des solutions MobileTogether très complexes et élégantes.

Les développeurs définissent des fonctions utilisateur, des paramètres, des variables, des boucles, ou une structure de données complexe lorsque cela est l'outil approprié pour la tâche. MobileTogether permet de contrôler rapidement et facilement toutes les fonctionnalités de l'appareil : appareil photo, microphone, GPS, SMS, saisie manuscrite, et bien plus encore. MobileTogether vous aide à concrétiser rapidement votre vision et à créer des applications mobiles vraiment innovantes, avec un potentiel viral.

MobileTogether vise à faciliter l'accomplissement des tâches de manière efficace, sans pour autant imposer une méthode particulière. Examinons quelques exemples de techniques de programmation utilisées dans les applications MobileTogether.

MobileTogether Designer est le.. Outil de bureau pour la création d'applications mobiles multiplateformes. C'est gratuit à utiliser, et il est livré avec une collection d'applications exemples que vous pouvez analyser en détail pour comprendre comment elles ont été conçues.

Fonctionnalités utilisateur dans une application de livraison de colis

L'exemple de livraison de colis est une simulation complète d'une application de livraison de colis réelle. L'utilisateur final joue le rôle d'un livreur pour une entreprise de livraison, chargé de transporter des colis d'un entrepôt du New Jersey vers des destinations à New York, en se guidant grâce au GPS. Vous pouvez exécuter l'application dans la fenêtre Simulateur de l'outil de conception pour observer une représentation réaliste des déplacements vers chaque destination. Si vous exécutez l'application "Parcel Delivery" sur votre propre téléphone, votre appareil mobile utilisera sa fonctionnalité GPS intégrée. Cependant, si vous ne vous trouvez pas physiquement à New York, l'application affichera des itinéraires longs et des estimations de temps pour atteindre chaque destination ! Vous pouvez simplement cliquer sur le bouton "Je suis ici" dans l'application pour ignorer le tracé de l'itinéraire et passer directement à la destination.

L'application "Parcel Delivery" a été conçue par un développeur expérimenté et repose fortement sur des fonctions utilisateur. Par exemple, au début de la journée, l'application affiche à l'utilisateur une liste des livraisons à effectuer. Au fur et à mesure que les livraisons sont effectuées, l'utilisateur peut revenir à cette page pour voir ce qui reste à faire, comme le montrent les images ci-dessous, capturées à partir d'un téléphone Android :

L'application génère les deux affichages à partir d'une seule conception de page, et l'affichage exact est déterminé en fonction des fonctions utilisées par l'utilisateur. Voici à quoi ressemble cette page dans l'outil MobileTogether Designer :

Le développeur a placé deux fonctions utilisateur sur cette page : PartiallyFinishedDestinations() et RemainingDestinations(). Sans approfondir l'analyse, je suppose que l'opérateur conditionnel (IF) qui précède PartiallyFinishedDestinations() renvoie un résultat booléen (vrai ou faux). Est-ce que le chauffeur a déjà effectué une partie de la livraison ? Et RemainingDestinations() doit être la liste de tous les endroits restants à visiter.

Testons l'application dans le simulateur pour vérifier si j'ai raison. Voici la première vue du simulateur pour la liste de tâches :

L'exécution attend un clic sur le bouton "Démarrer la livraison". Au lieu de continuer, nous pouvons cliquer sur le bouton "XPath" situé sous la section "Sources de la page" pour effectuer une analyse approfondie du fonctionnement interne de l'application. Le bouton XPath ouvre la fenêtre ci-dessous, où j'ai déjà sélectionné "PartiallyFinishedDestinations()" dans la liste des fonctions définies par l'utilisateur :

Maintenant, je peux cliquer soit sur le bouton vert "Exécuter" ou sur le bouton "Évaluateur" situés dans la barre d'outils supérieure pour évaluer la fonction :

Le résultat de la fonction utilisateur est faux : le livreur n'a encore rien livré. En effectuant les mêmes étapes pour la fonction RemainingDestinations(), j'obtiens ceci :

Le résultat de la fonction utilisateur RemainingDestinations() est une liste dans laquelle chaque élément est une structure de données contenant tous les détails concernant la destination.

Le logiciel MobileTogether Designer dispose d'un élément de menu principal dédié aux fonctions utilisateur :

C'est ici que le développeur a initialement défini les fonctions utilisateur, et c'est ici que nous pouvons maintenant consulter ou modifier ces fonctions. L'option "Liste des utilisations de tous..." génère un rapport dans la fenêtre "Messages".

Techniques de programmation dans le développement mobile : sous-routines avec paramètres

Les groupes d'actions dans MobileTogether sont essentiellement des sous-routines qui regroupent une série d'actions que vous pouvez appeler à tout moment dans une application. Vous pouvez en savoir plus sur les actions et les groupes d'actions, ou regarder une démonstration vidéo.

Comme pour les sous-routines dans n'importe quel langage de programmation de haut niveau, il est parfois plus efficace de transmettre les valeurs d'entrée à un groupe d'actions au moment de l'exécution sous forme de paramètres. Par exemple, examinons une application appelée "Qualité de l'air" qui interroge des services web du projet "World Air Quality Index" et qui affiche les relevés provenant de capteurs situés dans le monde entier.

La qualité de l'air est dégradée par des catastrophes naturelles comme les incendies de forêt et les éruptions volcaniques, par les activités industrielles et commerciales à grande échelle, et par l'ensemble des comportements individuels des êtres humains, tels que la cuisson, le chauffage et la conduite automobile. Les conditions météorologiques peuvent soit concentrer, soit disperser les polluants, en tout lieu et à tout moment. L'application permet à l'utilisateur de sélectionner un lieu spécifique ou une zone, puis affiche les relevés les plus récents de la qualité de l'air. Cette application a été développée par un particulier.

L'API de l'indice mondial de qualité de l'air utilise des requêtes REST distinctes pour différents types de localisations, et chaque requête renvoie un ensemble de données légèrement différent. Un point commun est que l'heure locale de chaque mesure est renvoyée sous forme d'heure GMT avec un décalage. Il est nécessaire de manipuler ces valeurs pour afficher aux utilisateurs l'heure locale correcte.

Travailler avec les calculs de dates et d'heures peut être complexe ! Croyez-moi, si vous n'avez jamais eu à le faire vous-même, ou consultez notre article sur la validation des transformations de données. Mais c'est une application idéale pour un groupe d'actions, que l'équipe peut créer une seule fois et appeler à partir de différents points du flux de travail. Si nous transmettons les valeurs de l'heure et du décalage en tant que paramètres, le groupe d'actions n'a besoin que d'un ensemble d'actions pour calculer et formater l'heure locale à partir de n'importe quelle réponse à une requête.

Voici la définition du groupe d'actions, telle qu'elle apparaît dans la fenêtre de dialogue "Groupes d'actions" de l'outil de conception :

Les définitions des paramètres se trouvent en haut, avec les noms $time et $adj attribués par le développeur. Étant donné que les cases "Optionnel" ne sont pas cochées, les deux paramètres sont obligatoires chaque fois que le groupe d'actions est appelé.

Le développeur a inclus plus d'étapes dans le groupe d'actions que ce que l'utilisateur pourrait attendre. Il s'avère que tous les fuseaux horaires ne diffèrent pas exactement d'une heure par rapport au GMT. Par exemple, Terre-Neuve au Canada et Téhéran en Iran diffèrent du GMT de plusieurs heures, avec une variation de plus ou moins 30 minutes !

Voici un exemple de la fonction "Calc Local Time" appelée depuis l'intérieur d'un autre groupe d'actions :

C'est la dernière étape avant que l'application charge la carte et la page d'informations pour afficher l'indice de qualité de l'air (AQI) pour une ville. Les paramètres sont transmis directement en utilisant le résultat de la requête API, sans manipulation inutile. Les paramètres peuvent transmettre des valeurs individuelles, comme nous l'avons montré ici, ou des tableaux, ou des structures de données. Vous pouvez utiliser des paramètres avec des groupes d'actions, ou avec des sous-pages, des modèles de contrôle, ou pour lancer automatiquement une autre application lorsque vous fermez une application.

Cet article ne présente que deux techniques de programmation pour le développement mobile que vous pouvez utiliser avec MobileTogether. Mettez à profit toutes vos compétences et vos outils pour créer les applications les plus performantes dans les meilleurs délais ! Consultez nos démonstrations vidéo, découvrez d'autres applications exemples, ou même le manuel en ligne pour un aperçu complet de toutes les informations. Lorsque vous serez prêt à vous lancer et à créer vos propres applications mobiles multiplateformes en un temps record, téléchargez le logiciel MobileTogether Designer.