Relever les défis de la création d’applications multiplateformes – The New Stack

Certains d’entre nous sont assez vieux pour se souvenir de l’époque où chaque plate-forme mobile, même chaque appareil, était un jardin clos en soi. Si vous vouliez un divertissement grand public ou un contenu sur mesure, vos options étaient limitées. Crazy Frog, n’importe qui ?

Nous sommes maintenant confrontés à un monde dominé par iOS et des variantes d’Android, dont chacun a tout intérêt à attirer les développeurs. Et cela laisse les développeurs face à un dilemme.

Devraient-ils développer des applications natives pour chaque plate-forme, au risque de dupliquer les efforts et de surcharger les équipes ? Ou devraient-ils tirer parti des frameworks de développement multiplateformes tels que Flutter ou React, au risque de ne pas offrir le niveau de transparence qu’une application native devrait atteindre ?

Il y a certainement une place pour les frameworks multiplateformes. James Governor, co-fondateur des analystes axés sur le développement Redmonk, a récemment signalé les progrès de Flutter dans un article de blog, notant qu’il “semble bien adapté au problème de la création et du déploiement d’applications attrayantes pour un déploiement sur iOS, Android ou de bureau”.

Bien qu’utiliser Flutter signifie apprendre Dart, a-t-il poursuivi, “ce langage est bien pris en charge d’un point de vue éducatif et peut rendre les équipes beaucoup plus productives pour le développement multiplateforme”.

Pendant ce temps, il a souligné dans son article de blog : “Comme avec Facebook et sa gestion de React, vous n’avez pas besoin d’avoir une entreprise d’un billion de dollars derrière vous pour prospérer en tant que cadre ou langage, mais cela aide certainement.”

De nombreuses organisations “construisent avec iOS à l’esprit”, a écrit le gouverneur, donc Google a une incitation claire à les inciter à construire également pour Android, en jetant son poids derrière Flutter et Dart. Fait intéressant, a-t-il ajouté, Google semble adopter une approche très large pour promouvoir Flutter : “J’ai remarqué que des développeurs et des évangélistes de divers pays africains parlaient de Flutter.”

Mais que pensent les utilisateurs de l’essor des frameworks de développement multiplateformes ? Eh bien, ils ne devraient pas avoir de vue du tout, si les fournisseurs et les développeurs font bien les choses en premier lieu.

Les utilisateurs veulent simplement de grandes expériences, a noté Bruno Garcia, responsable de l’ingénierie chez Sentry, une plate-forme de surveillance des applications : “Les consommateurs attendent désormais une gratification instantanée avec de nouvelles mises à jour et des versions de fonctionnalités régulières et un accès à tout à portée de main.”

Gardons ceci une zone sans Jank

Et cet accès doit rester à portée de main, a ajouté Garcia, avec une stabilité donnée : “Essentiellement, l’utilisateur final n’a aucune idée que l’application n’était pas native du système d’exploitation et il ne doit y avoir aucun problème en ce qui concerne l’interface utilisateur/ UX, jank, latence ou fonctionnalités.

Les interfaces utilisateur qui ne répondent pas ou les écrans à chargement lent devraient être un signe d’avertissement pour les développeurs, dit Garcia – et une jolie animation ne suffira pas à distraire l’utilisateur. “L’heure de démarrage à froid et à chaud d’une application est également essentielle”, dit-il. D’autres problèmes incluent des plantages aléatoires, des actions de bouton qui ne répondent pas et des éléments d’interface utilisateur mal placés.

Alors, comment ces applications problématiques s’échappent-elles sur le marché en premier lieu ? Des problèmes d’expérience et de conception surviennent parce que les technologies multiplateformes créent une interface utilisateur/UX unique qui peut s’éloigner de la plate-forme d’origine, a déclaré Bruno.

Par exemple, les boutons physiques ou numériques d’un appareil peuvent occuper de l’espace sur l’écran, ou il peut y avoir une encoche sur le dessus, ce qui nécessite une conception spécifique pour garantir le bon espacement dans l’interface utilisateur.

D’autres défis peuvent surgir en ce qui concerne les plug-ins – pour Bluetooth, par exemple – ce qui peut obliger les développeurs à s’appuyer sur des bibliothèques open source.

“La clé est de comprendre ce que vous essayez de construire et pour qui vous le construisez, avant de commencer à travailler avec des frameworks multiplateformes”, a déclaré Garcia.

« S’il est important d’être cohérent avec l’UI/UX d’une plateforme. Si vous avez besoin de fonctionnalités matérielles ou si vous devez maîtriser les dernières fonctionnalités du système d’exploitation, une technologie multiplateforme n’est peut-être pas la meilleure option pour votre application, car elle ne pourra pas répondre aux attentes et aux besoins de vos utilisateurs finaux.

Ce sont des choses que les développeurs devraient pouvoir voir. Mais un manque de visibilité continue est un facteur majeur dans les efforts de développement multiplateforme ratés. Comme l’a noté Garcia, il est facile d’oublier que les équipes logicielles ne sont pas seulement composées de développeurs, mais comprennent des chefs de produit, des concepteurs, des spécialistes du marketing et des ingénieurs de support. Au fur et à mesure de l’expansion, les gens sont cloisonnés, les informations ne sont pas toujours bien communiquées aux équipes, et la visibilité et la collaboration deviennent plus difficiles à maintenir.

Mesures pour comparer les performances

“Les développeurs peuvent ne pas être le point de contact pour les signes avant-coureurs comme une erreur”, a déclaré Garcia. “C’est pourquoi il est important d’utiliser des outils efficaces pour alerter les équipes et les personnes responsables appropriées afin de résoudre rapidement tout problème avant qu’il ne devienne un problème plus important pour l’utilisateur final.”

Il est donc très important que les développeurs et l’équipe dans son ensemble travaillent à surveiller les mesures clés et à détecter les problèmes avant qu’une version ne devienne instable ou même inutilisable. Ces mesures incluent la vitesse et les performances de l’application en mesurant le temps d’interaction. D’autres incluent des données sur les plantages et les bogues, sur les démarrages à froid et à chaud d’une application, et sur les images lentes et gelées.

Il est également important de prendre en compte les taux de conversion et de rétention, a déclaré Garcia, ce qui vous permettra de savoir si les consommateurs installent et utilisent une application – ou perdent tout intérêt.

La plate-forme de Sentry, par exemple, fournit des alertes en temps réel sur les exceptions, des rapports de plantage spécifiques au système d’exploitation et des détails sur les sessions et les utilisateurs sans plantage, ainsi que des mesures de performances clés telles que les images lentes et gelées, les démarrages à froid et à chaud.

Fournir de telles données exploitables devrait permettre aux développeurs de repérer un problème, de le résoudre rapidement et de revenir au code d’expédition, a déclaré Garcia. Mais, a-t-il ajouté, l’entreprise se concentre également sur l’expérience du développeur : “Elle s’intègre directement dans le flux de travail, de la seconde où vous poussez jusqu’à la production.”

Cela signifie également que Sentry a une idée de ce qui se passe réellement lorsque les développeurs adoptent des outils multiplateformes. Et les résultats sont encourageants.

“Je dirais que Flutter est idéal pour les outils et est soutenu par Google”, a déclaré Garcia, “Unity a un moteur de jeu accessible et React Native est facile à adopter car il est basé sur JavaScript et développé par Facebook, donc nous l’avons vu gagner rapidement en popularité.

Sentry a récemment publié un support pour .NET MAUI, basé sur C #, et la société s’attend à ce qu’il gagne beaucoup de terrain, car il est soutenu par Microsoft.

Est-ce que cela rendra la navigation multiplateforme claire à l’avenir? Pas entièrement. Les développeurs doivent avoir à gérer uniquement plusieurs systèmes d’exploitation, a déclaré Garcia. “Il sera également intéressant de voir comment le pliage des appareils, la construction pour les ordinateurs de bureau, les mises à jour des processeurs apporteront de nouveaux défis aux développeurs.”

Image sélectionnée par Richard Burlton sur Unsplash.

Leave a Comment