Web, Technologies, IA, Vidéo...

juil. 06, 2010

Différences entre projet de web-app mobile et projet d'application mobile

On me demande souvent quelle est la différence entre application et web-application. Je vais par ce billet définir chacun et indiquer leurs avantages et inconvénients.

Applications

Une application mobile est un programme informatique utilisant un SDK (Software Development Kit) basé sur un OS (Operating System) tel qu'iOS ou Android. Le SDK se définit par :

  • un langage de programmation (Java pour Android, Objective-C pour Apple, Silverlight pour WindowPhone 7 WP7) qui permet de développer l'application
  • un ensemble d'APIs (Application Programming Interface) permettant d'utiliser ou d'accéder à des éléments matériels du terminal. L'API sur laquelle il est important de s'arrêter est l'openGL qui permet de faire de la 3D et donc des jeux évolués. A noter que WP7 sera quant à lui basé sur un autre type API.

Les applications permettent d'avoir une interactivité plus poussée et elles permettent également d'avoir à disposition très facilement toutes les informations à un instant T. La logique est totalement différente par rapport à un site web et il est absolument nécessaire de prendre en compte ce point lors de la phase de spécifications du projet.

Cependant deux problèmes se posent : le temps de développement (2 mois pour une application de type standard) et le versionning. En effet, si un bug apparaît sur une application, il est nécessaire de repasser par une phase de développement, recette et soumission de l'application; on parle de changement de version. Ce paramètre est très important et explique la nécessité de faire une phase de recette poussée et complète.

Un dernier point important à noter également est que l'application, contrairement à la web-application, est disponible sur la place de marché de l'OS (AppStore d'Apple, AndroidMarket de Google, ...). Ceci permettant donc une potentielle visibilité, je dis potentielle car l'application sera noyé dans des dizaines voire centaines de milliers d'autres. Ce paramètre est donc à prendre en compte dans la phase de communication.

Web-application

On entend par web-application un site mobile évolué qui utilise les performances des navigateurs embarqué dans le mobile (Safari mobile, Chrome sur Android, etc..). Ces derniers disposent des éléments suivants :

  • différentes fonctionnalités du xHTML et également du HTML5
  • le support du Javascript (différents frameworks sont disponibles JQueryTouch par exemple)
  • un ou plusieurs librairie Javascript et associé au navigateur permettant d'accéder par exemple au GPS.

Deux avantages principaux (les inverses de l'application) : le temps de développement (on est sur des technologies webs) est court, la gestion des mises à jour sont réalisées en totale transparence pour l'utilisateur puisque l'on est sur une technologie client-serveur. On peut également ajouter que ce type de développement permet de servir n'importe quel terminal de type smartphone : une web-application sous Android sera également disponible sur iPhone.

Etant sur des technologies webs, il est important de mettre en place les bonnes pratiques suivantes :

  • les règles de SEO/référencement, même si actuellement, Google ne rends pas prédominant le mobile, il est important d'être présent.
  • la possibilité de rediriger l'utilisateur depuis le site web standard vers le site mobile et vice-version. Je conseillerais également de permettre cette redirection page à page.

En conclusion, je conseillerais la méthode suivante : faire une application mobile (sur iPhone et Android) pour avoir la visibilité des places de marchés, mais ne surtout pas oublié les web-applications. Même si cette dernière sera le plus souvent beaucoup moins ambitieuse que l'application.