animation spinner

Applications hybrides : avantages, limitations & conséquences de test

Applications hybrides : avantages, limitations & conséquences de test

applications hybrides

Que sont les applications mobiles hybrides ?

Les applications hybrides sont des applications disponibles sur les App stores et qui s’installent sur un device, comme n’importe quelle autre application. Ces applications ont la particularité de combiner des éléments des applications dites natives (développées pour une plateforme en particulier, iOS ou Android par exemple) et des web apps (disponibles sur internet via un navigateur et non installées localement).

Les applications hybrides sont logées dans un conteneur natif qui utilise une plateforme mobile WebView. Lors de l’utilisation de l’application, ce système affiche un contenu web en son sein, grâce à l’utilisation de technologies web (CSS, JavaScript, HTML, HTML5). Il s’agit en réalité de pages web issues du site desktop et adaptées pour un affichage WebView. Cet affichage du contenu web peut avoir lieu dès l’ouverture de l’application ou bien se produire sur certaines parties de l’application uniquement (sur le tunnel de vente seulement par exemple).

Pour accéder aux fonctionnalités hardware des devices (accéléromètre, appareil photo, contacts…) sur lesquels elles sont installées, il est possible d’inclure des éléments natifs des interfaces utilisateurs pour chaque plateforme (iOS, Android) : du code natif sera alors utilisé pour accéder à des fonctionnalités précises afin de créer une expérience utilisateur fluide. Les applications hybrides peuvent également s’appuyer sur des plateformes offrant des APIs JavaScript si ces fonctionnalités sont appelées depuis une WebView.

 

Quels sont les avantages des applications hybrides ?

Les applications hybrides présentent un certain nombre d’avantages :

  • Allier l’expérience utilisateur avec l’agilité du cycle de développement et des coûts maitrisés.
  • Contourner les limitations de l’App store Apple: pour déployer une application sur l’App store Apple, il faut soumettre l’application et attendre sa validation. Le temps de validation variera en fonction du moment de l’année, mais aussi de s’il s’agit d’une première version de l’application ou bien d’une mise à jour. Il est généralement compris entre 1 à 7 jours. Les applications hybrides présentent donc un grand avantage pour les développeurs souhaitant pouvoir mettre à jour leur application fréquemment puisqu’il n’est pas nécessaire de resoumettre la nouvelle version si les éléments modifiés ne touchent pas au code natif.
  • Trouver des talents : la plupart des applications ont une version iOS et une version Android. Elles sont donc développées en utilisant le langage de programmation correspondant : Objective-C ou Swift pour iOS, Java pour Android. Les applications hybrides permettent quant à elles l’utilisation de langages utilisés de façon fréquente par les développeurs web (HTML, JavaScript et CSS) qui peuvent donc utiliser leurs connaissances. Il est ainsi plus facile de trouver des talents pour développer une application hybride.
  • Réutiliser le code de la partie web app: le code est écrit une fois et déployé ensuite sur toutes les plateformes mobiles.
  • Réduire les temps de développement et les coûts : le code étant écrit une fois, cela réduit considérablement les temps de développement et les coûts par rapport aux applications natives nécessitant d’une part un développement pour iOS et d’autre part un développement pour Android.

 

Quelles sont les limitations des applications hybrides ?

  • Une interface utilisateur limitée : les applications hybrides on en effet un design qui n’a pas le ressenti d’un design natif. L’interface utilisateur n’est donc pas aussi fluide. Les possibilités (3D par exemple) sont aussi limitées du fait de l’utilisation du WebView qui ne permet pas d’exploiter tout le potentiel du device.
  • La difficulté ou l’impossibilité d’exploiter toutes les capacités des plateformes : chaque plateforme, iOS ou Android, a des capacités uniques qu’un développeur peut souhaiter exploiter. Si tel est le cas, c’est en utilisant une combinaison de plugins et de code spécifique à la plateforme que cela pourra être réalisé pour une application hybride. Cela complexifie d’autant le projet de développement de l’application.
  • Des performances et des transitions entre les pages plus lentes
  • Une dépendance vis à vis de la vitesse du navigateur

 

Quelles conséquences pour les tests ?

 

…tests automatisés

Le test d’une application hybride peut se faire de la même manière que pour une web app. Pour chaque cas de test, un script sera alors écrit. De prime abord, les phases de test semblent être grandement simplifiées.

La complexité arrive lorsque l’application contient également du code natif, ce qui est fréquemment le cas. Chaque cas de test aura alors de multiples scripts de test, chacun écrit dans le langage natif de la plateforme sur laquelle il faut tester.

Il faut alors également se pencher sur les bugs qui peuvent exister de façon individuelle sur les plateformes, tout en gardant les versions synchronisées entre elles.

 

…tests manuels

Les tests manuels pour une application hybride différeront également par rapport aux tests d’une application native. Si cette dimension est connue à l’écriture de la stratégie de tests, il s’agira alors d’adapter l’effort, le type de tests réalisés et les étapes de tests afin d’adresser l’aspect graphique de façon plus poussée.

- L’appel à une WebView introduit en effet un risque supplémentaire dans l’application avec une notion de fragmentation liée à l’appel d’une page dans un container : il faudra alors vérifier la bonne intégration de la WebView (pas de double header ou menu par exemple) mais également la bonne adaptation à la taille de l’écran alloué à la WebView (ce qui implique d’élargir le scope de devices à tester).

- Les tests fonctionnels devront également être plus poussés, et ce particulièrement sur les zones de clics par exemple, ou encore pour les Call to Actions (leur fonctionnement, leur taille…).

- Le comportement purement mobile pouvant être impacté (perte de connexion, de données, changement d’orientation, multi-tâches) sur le périmètre web app, il faudra également y apporter beaucoup d’attention.

- Et enfin il faudra s'intéresser aux interactions natif-WebView sur les dimensions de gestion de compte / session. Par exemple lorsqu’un utilisateur se logue dans l’application sur la brique native, il faudra s’assurer que l’expérience est transparente sur la WebView (pas de nécessité de se reconnecter par exemple).

L'enjeu des tests manuels sera donc de valider que l’expérience est fluide pour les utilisateurs. Le choix entre une application native ou hybride étant purement technique et interne à l’organisation, elle ne doit avoir aucun impact ou limitation pour les utilisateurs.

 

Types d’applications : comment faire son choix ?

Avant de se lancer dans le développement d’une application hybride, il s’agira donc de prendre en compte un certain nombre de facteurs afin de créer un produit digital apportant aux futurs utilisateurs entière satisfaction et tous les résultats business escomptés par l’entreprise.

Les questions suivantes permettront d’amorcer un début de réflexion…

  • A quels utilisateurs cette application sera-t-elle destinée ?
  • Sur quelles plateformes souhaitons-nous l’exploiter ?
  • Va-t-elle être distribuée via les App Stores ?
  • Avons-nous besoin de faire des mises à jour très fréquentes ?
  • Quel est le niveau de complexité des fonctionnalités que nous souhaitons mettre en place ?
  • Avons-nous besoin de faire appel à des fonctionnalités natives des devices ?
  • Quelle expérience utilisateur souhaitons-nous offrir ?
  • Quelles sont nos ressources en développement ?

…tout en ayant à l’esprit les avantages et limitations des applications hybrides, qui pourront aider dans le choix du type de développement nécessaire à la réussite du projet.

 

DEMANDER UN AUDIT

 

Demandez une étude ou un devis