Comprendre les différents types d’application mobile

14 mai 2018

Vous êtes porteur d’un projet d’application mobile, mais ne savez pas par où commencer ? La première étape consiste à trouver un développeur dont les compétences et spécialisations correspondent au challenge technique que requière votre projet. Alors, pour être sûr de vous adresser à la bonne personne, voici les prérequis.

 

blog-type-applications

 
De manière générale, il existe 3 types d’applications pour les mobiles / tablettes, chacun possédant ses avantages et ses inconvénients qu’il convient de connaître pour un choix éclairé.

 

#1. Les web apps (accessible depuis un navigateur)

Les web apps se lancent depuis un navigateur  (comme Google Chrome / Mozilla Firefox / Safari / Microsoft Edge). Le principe d’une web app est le même qu’un site web, sauf que son contenu correspondra à celui d’une application et non à celui d’un site (la frontière entre les 2 est parfois mince !).

+ Les avantages d’une web app

Une web app ne nécessite aucun téléchargement préalable, de la part de l’utilisateur ; celui-ci accède à votre application mobile comme n’importe quelle page web, via une adresse HTTP.

Un second avantage d’une web app est sa portabilité. Les navigateurs supportant des langages standardisés (HTML / Javascript / CSS), le contenu d’une web app pourra s’exécuter aussi bien sur Mac que sur Windows ou Linux, ainsi que sur mobile, tablette ou sur desktop. Votre application mobile pourra être accessible au plus grand nombre avec un seul code source.

– L’inconvénient d’une web app

La seule contrainte d’une web app est de nécessiter une connexion Internet pour y accéder.

Note : Il est possible d’ajouter un cache persistant permettant de sauvegarder les informations en local sur l’appareil, pour qu’après une connexion initiale, le contenu en cours soit ré-accessible même sans connexion internet, mais cela inclura un coût supplémentaire.

 

#2. Les applications natives

Une application native désigne toutes les applications que vous téléchargez sur les stores d’applications mobiles (App Store ou Google Play store). Une icône présente sur votre écran d’accueil vous permet d’accéder ensuite au contenu. Il existe des applications natives pour tout type de plateforme (desktop, mobiles, tablettes), mais contrairement aux web apps, le langage utilisé pour développer une application native ne correspond généralement qu’à une seule plateforme. Par exemple, développer une application native pour iOS nécessite de développer avec les langages Objective C ou Swift, alors que développer une application native pour Android nécessite de développer en Java.

+ Les avantages d’une application native

L’application native a l’avantage d’être plus performante qu’une web app (car elle accède directement aux ressources de la plateforme ; elle ne passe pas par le navigateur comme intermédiaire). Concrètement, votre application est moins lente dans les moments de transition, de superposition de couches ou d’accès mémoire. Un utilisateur aguerri fait la différence entre une application native et une web app, en termes de réactivité de l’application.

Un autre avantage d’une application native est qu’elle ne nécessite de connexion internet qu’au moment du téléchargement (via les stores, par exemple). L’application native pourra, par la suite, fonctionner sans connexion (sauf mise à jour, etc.).

– L’inconvénient d’une application native

Une application native nécessite de re-développer l’application (du moins une partie) dans le langage approprié à chaque plateforme sur laquelle vous souhaitez la déployer, ce qui a pour effet, soit de vous obliger à limiter les plateformes d’accès, soit de payer plus cher pour la réécrire pour d’autres plateformes (les mises à jour et les évolutions futures seront aussi à dupliquer).

 

#3. Les applications hybrides

Les applications hybrides sont à mi-chemin entre les web apps et les applications natives. Elles se téléchargent, s’installent, et se lancent de la même manière qu’une application native. En interne, par contre, c’est le navigateur qui est utilisé pour exécuter le code, de la même manière qu’une web app (cette subtilité est invisible pour l’utilisateur). Le fonctionnement d’une application hybride permet de combiner les avantages des web apps et des applications natives.

+ Les avantages d’une application hybride

  • L’application hybride fonctionne sans connexion internet (après le téléchargement initial), comme une application native.
  • Elle peut être exécutée sur toutes les plateformes (iOS, Android, Windows…), à partir d’un seul code source, comme une web app. (donc, moins coûteuse)

– L’inconvénient d’une application hybride

En matière de performances, une application hybride souffre des mêmes limitations qu’une web app, puisque c’est ici le navigateur qui exécute le code (de manière masquée).

Les applications hybrides restent toutefois un compromis intéressant en termes de budget et de confort d’utilisation.

Il existe au sein des applications hybrides, diverses technologies permettant de pallier à certains inconvénients, notamment celui des performances limitées, pour en savoir plus, vous pouvez consulter mon article sur les différentes variantes d’applications mobiles hybrides.

 

Récapitulatif pour trouver le bon développeur

Voici un récapitulatif des avantages et des inconvénients pour les 3 types d’applications décrites dans cet article, ainsi qu’un listing des technologies associées pour que vous sachiez vers quel développeur vous diriger, selon vos besoins.

Web apps

  • S’exécute dans un navigateur (Chrome / Safari …)
  • Peu coûteuse à développer
  • Accessible sans installation préalable
  • Nécéssite dans la majorité des cas une connexion internet pour chaque utilisation
  • Performances moins bonnes à l’exécution

Technologies associées : HTML / CSS / Javascript

Applications natives

  • Se télécharge et s’installe depuis un store
  • Aspect plus professionnel et qualitatif
  • Performances d’exécution optimales (moins de ramage)
  • Ne nécessite pas forcément une connexion internet lors de l’utilisation (sauf téléchargement initial)
  • Plus coûteuse à développer (ré-écrire une partie du code pour chaque plateforme souhaitée)

Technologies associées : Java (pour Android), Swift ou Objective C (pour iOS)

Applications hybrides

  • Se télécharge et s’installe depuis un store (tout comme les applications natives)
  • Aspect plus professionnel et qualitatif (extérieurement, elle ressemblera à une application native)
  • Peu coûteuse à développer (tout comme une web app)
  • Performances moins bonnes à l’exécution (tout comme une web app)

Technologies associées : HTML / CSS / Javascript (pour le développement), PhoneGap / Cordova (pour la conversion en app-native)

 

Si vous avez un projet de création d’application dont vous voulez discuter, n’hésitez pas à me contacter.
Me contacter pour un conseil


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *