Web app ou application native : comment faire le bon choix pour votre solution métier ?

Publié le 4 juin 2019 par Nicolas Mérouze | application web

Cet article est publié sous licence CC BY-NC-SA

Il n'y a jamais eu une telle fragmentation dans les appareils électroniques. Alors que Windows et les PC ont été dans une position de quasi-monopole pendant des années, les choses ne sont plus ce qu'elles étaient depuis l'arrivée des tablettes, smartphones, et la croissance du Mac.

Votre solution métier doit-elle être une web app ou une application native ?

Les deux apportent des avantages et inconvénients. Le choix devra se faire par rapport à votre projet. Voici quelques éléments pour vous aider à prendre une décision.

web app vs application native

Qu'est-ce qu'une Progressive Web App (PWA) ?

Le web a évolué rapidement et continue de changer fréquemment. De nouvelles fonctionnalités sont ajoutées à chaque nouvelle version des navigateurs, et ces nouvelles versions sortent bien plus régulièrement.

De nombreuses fonctionnalités ont permis aux applications web de pouvoir avoir un certain nombre de fonctionnalités qui étaient destinées aux applications natives auparavant.

  • Service workers : ils permettent d'exécuter du code qui ne bloque pas l'interface utilisateur ce qui n'est pas le cas avec des applications web classiques ou il faut veiller à ce que le code JavaScript s'exécute rapidement pour ne pas bloquer l'interface trop longtemps.
  • Mode hors-connexion : il est maintenant possible d'utiliser des applications web hors-connexion pour celles qui sont compatibles.
  • Notifications : comme pour les notifications des applications natives, les sites et applications web peuvent désormais envoyer des notifications si l'utilisateur l'autorise.
  • Responsive Design : il est désormais très simple et rapide de créer une interface utilisateur sur une application web qui s'adapte à tous les écrans.

Tous ces ajouts permettent désormais aux applications web de rivaliser avec les applications natives sur les ordinateurs de bureau, mais surtout sur les smartphones et les tablettes. Une application web incorporant ces fonctionnalités portent un nouveau nom : Progressive Web Applications ou PWA.

PWA vs application native

Sur mobile, les PWA peuvent être ajoutées à l'écran principal du smartphone ou de la tablette permettant aussi d'utiliser cette application web sans les contours du navigateur. De ce fait, l'expérience est très similaire à une application native.

Aucune installation n'est nécessaire, le processus est donc bien plus simple que l'installation d'une application native ou l'installation nécessite une authentification préalable ainsi que le téléchargement parfait conséquent des fichiers. En effet, les applications disponibles sur les app stores font bien souvent plusieurs centaines de mégaoctets alors que des applications web sont souvent à moins d'un mégaoctet.

Même si, en général, une application native est plus performante qu'une application web dans son utilisation, le chargement est une autre histoire. Il n'est pas rare de devoir attendre une dizaine de secondes quand on ouvre une application native alors que les PWA sont optimisées pour se lancer le plus rapidement possible.

Télécharger le guide ultime pour réussir votre application web métier

Quels sont les bénéfices économiques des PWA ?

De nombreuses entreprises ont adopté les PWA avec des résultats impressionnants.

Trivago a remplacé leur ancien site par une application web progressive et l'engagement a augmenté de 150% !

Plus un utilisateur revient, plus il y a de chances qu'il trouve quelque chose d'intéressant. Et en effet, Trivago a vu une augmentation du nombre de clics sur leurs offres d'hôtels de 97%.

Au lieu de se battre avec la concurrence dans les app stores, Trivago a tiré avantage de son traffic web existant pour améliorer l'expérience utilisateur sur mobile avec une PWA. Une stratégie économique pour des résultats très encourageants !

Application Mobile

Applications hybrides sur les ordinateurs de bureau

Malgré le fait que les applications web peuvent avoir des notifications et rester toute la journée ouverte, Avoir des applications distinctes est toujours populaire.

Mais de plus en plus de ces applications ne sont que des applications web dans une fenêtre native. C'est le cas par exemple de Slack. L'application de communication collaborative numéro une dans le monde est une application web embarquée dans une application native.

Vous aurez la même expérience dans un navigateur qu'en utilisant leur application « native » et c'est le même code derrière. C'est devenu possible avec Electron qui permet d'embarquer des applications web dans une application native et est compatible avec Windows, Linux et macOS.

Plus besoin d'avoir des équipes web et natives séparées, plus besoin de développer du code spécifique pour chaque système d'exploitation. C'est un gain de temps et d'argent important et permet de garder les bénéfices d'une application web en les combinant avec les bénéfices d'une application native.

Il y a cependant un problème qui peut se révéler être important. Ces applications peuvent consommer beaucoup de RAM et en avoir plusieurs sur un ordinateur pas très puissant peut causer des lenteurs que vous n'auriez jamais eues avec de vraies applications natives.

Applications hybrides sur les mobiles

C'est une technique utilisée depuis le début des smartphones mais qui a été très inférieur pendant des années aux applications natives.

Comme Electron, PhoneGap permet de mettre une application web dans une coquille d'application native. Mais les performances sur mobile sont assez mauvaises, ce n'est donc pas une solution qui est très répandue.

Cependant, plusieurs librairies permettent d'écrire des applications natives avec des technologies normalement web. C'est le cas par exemple de React Native. React est un framework pour créer le côté client d'une application web. Il est open-sourcé et développé à l'origine par Facebook. Ils l'ont ensuite adapté pour le mobile pour créer de véritables applications natives avec du JavaScript et React.

Cela permet d'avoir de meilleurs performances que PhoneGap tout en utilisant des outils familiers pour beaucoup de développeurs.

Distribution des applications natives vs SaaS

Pour une application native, il est courant de payer une licence pour utiliser chaque nouvelle version majeure. La tarification est souvent assez complexe et les clients n'ont pas une grande visibilité sur l'obsolescence de la version achetée. Ce modèle est obsolète.

En effet, avec une application web il est très facile de la distribuer en tant que SaaS, Software-as-a-Service. Les clients payent tous les mois et les mises à jour sont fréquentes.

C'est le modèle adopté par tous les acteurs des applications métier à l'heure actuelle.

Le problème de la distribution des applications natives sur mobile

La distribution des applications mobiles se font sur l'App Store d'Apple et le Play Store d'Android et il est impératif de suivre leurs règles. Elles sont parfois injustifiées et peuvent changer du jour au lendemain. Cela peut créer de nombreux problèmes pour la distribution initiale mais aussi dans le futur.

Pour des applications métier qui ne sont pas publiques, la distribution est légèrement différente. Pour iOS il faut utiliser le « Apple Developer Enterprise Program » permettant de distribuer une application mobile moyennant 299$ par an. Cependant l'hébergement n'est pas inclus et il faut auto-héberger toute la partie permettant de télécharger l'application et la mettre à jour. Des services proposent de le faire comme Appaloosa, cela rajoute bien sûr un coût supplémentaire.

Pour Android, la distribution des applications privées se fait dans le Play Store, le processus est donc plus simple qu'avec Apple.

Conclusion

Les questions à se poser pour prendre la bonne décision :

  • L'application métier va-t-elle devoir être publique ?
  • Y a-t-il des fonctionnalités qui requièrent un accès bas niveau au système d'exploitation ?
  • Dans le cas d'une application mobile, est-ce que la solution retenue respecte les règles de l'App Store et le Play Store ?

Dans un nombre de cas important, porter son choix sur le développement d'une application web est le choix le plus sûr.

Faire les bons choix de technologies permettra de faire des applications hybrides facilement avec Electron ou React Native si un besoin imprévu requiert une fonctionnalité que ne délivrent pas les navigateurs.


L'équipe Synbioz.
Libres d'être ensemble.

Télécharger le guide ultime pour réussir votre application web métier