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.
Les applications hybrides présentent un certain nombre d’avantages :
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.
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.
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…
…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.