Quelle est la différence entre une web app et une application native ou hybride ?

1 – Qu’appelle-t-on web app ?

Une web app est une application mobile développée avec des langages de développement web (HTML5, CSS3, Angular ou React) et exécutée depuis un navigateur web mobile. Son fonctionnement se veut très proche de ce que pourrait proposer une application classique (téléchargée depuis un store).

 

Il n’y a pas besoin d’installer une application et les mises à jour sont transparentes pour l’utilisateur. Cependant, elle ne peut fonctionner sans connexion Internet.

 

Les web apps sont par exemple utilisées pour des versions de site web optimisées, ou des projets simples.

 

2 – Qu’est-ce que le développement natif ?

Une application native est développée dans le langage propre à la plateforme choisie et permet donc d’utiliser pleinement les capacités des appareils cibles.

 

Chaque grande plateforme a son ou ses propres langages :

  • le Swift pour iOS (Objective C auparavant)
  • le Java ou le Kotlin pour Android

 

L’utilisation de ces langages est différente et nécessite donc de faire appel à un développeur spécialisé.

Pour une application souhaitant être publiée à la fois sur l’Apple Store et le Play Store, il faudra donc multiplier le coût de développement, mais le résultat n’en sera que meilleur sur certains aspects :

  • expérience utilisateur respectée pour chaque plateforme
  • performance, puisqu’on pourra profiter de la pleine puissance de calcul du téléphone

 

3 – Et l’hybride dans tout ça ?

Une application hybride est à mi-chemin entre web app et application native. Elle se télécharge depuis un store, se lance comme une application classique mais s’exécute dans une web view (une page Internet chargée dans l’application).

Son développement s’effectue avec les langages du web et on peut choisir de porter cette application sur plusieurs plateformes à la fois (iOS et Android).

Elle permet un fonctionnement hors-ligne et offre la possibilité d’exploiter les capacités du système comme l’appareil photo, le GPS, les notifications, l’accéléromètre, le stockage de fichiers, etc.

 

4 – Comment faire son choix ?

Quelques éléments de comparaison dans le tableau ci-dessous :

 

 

Web app

Application native

Application hybride

Compatibilité sur les plateformes

(+) Compatible sur tous les terminaux

(-) Compatible sur 1 seule plateforme

(+) Compatible sur tous les terminaux (nécessite une configuration particulière pour chacune)

Expérience utilisateur

(-) Limitée (même ergonomie et graphisme pour toutes les plateformes)

(+) Sur mesure

(-) Limitée (même ergonomie et graphisme pour toutes les plateformes)

Performances

(-) Réduites (dépend de la qualité du réseau et du navigateur utilisé)

(+) Optimales

(-) Réduites (dépend de la qualité du réseau)

Hors connexion

(-) Non disponible

(+) Disponible

(+) Disponible

Distribution et mise à jour

Via Internet
(+) Mises à jour transparentes

(-) Fidélisation plus compliquée qui influe sur le trafic de l’application

Sur un store
(-) Nécessite une re-publication et validation à chaque mise à jour (un peu long pour iOS)

Sur un store
(+) Mises à jour transparentes pour la partie web

Monétisation

(-) Impossible de vendre le téléchargement de l’application

(+) Publicité

(+) L’application peut être payante sur le store (mais un pourcentage est prélevé)

(+) Achats in-app

(+) Publicité

(+) L’application peut être payante sur le store (mais un pourcentage est prélevé)

(+) Publicité

 

Le coût de développement dépendra de la complexité du projet envisagé. Pour une interface mono-plateforme, le temps et le coût de développement seront assez proches, peu importe le type d’application.

A partir du moment où l’on voudra une application multi-plateforme, le coût du projet sera forcément moins élevé pour une web app ou une application hybride que pour des applications natives. Mais pour faire son choix, il faudra impérativement tenir compte des contraintes (fonctionnalités, ergonomie, fluidité, performance).