Angelo Buscemi, Adobe et Sébastien Fabbri, Logica

Trois approches pour le développement d’apps mobiles

| Mise à jour
par Angelo Buscemi, Adobe et Sébastien Fabbri, Logica

Les smartphones et tablettes constituent d’excellents outils pour le travail en déplacement et permettent d’effectuer des tâches complexes, à condition de disposer d’applications répondant aux exigences des entreprises. Trois approches permettent de réaliser de telles apps, avec pour chacune des avantages et des inconvénients.

De nombreuses entreprises équipent leurs collaborateurs de smartphones et de tablettes. Elles mettent ainsi à leur disposition un outil leur permettant de présenter aux clients des informations et graphiques individuels et actualisés, générés de façon ad hoc, ou de réaliser des tâches administratives en déplacement, comme la saisie d’honoraires. Il n’existe en général pas de solution clé en main pour répondre aux exigences de telles applications. On distingue ainsi trois manières d’implémenter une app métier sur un smartphone ou une tablette: les apps natives, les apps web et les apps hybrides.

Apps natives

Les apps natives sont pour ainsi dire la manière classique d’implémenter une application. Programmées en Objective-C pour iOS, en Java pour Android et en C# ou VB.Net pour Windows Phone 7, les apps natives peuvent être mises à disposition des utilisateurs via les app stores correspondants. L’un des avantages des apps natives est l’accès direct aux fonctions de l’appareil. L’app peut ainsi profiter du GPS et de la caméra du smartphone, ou encore accéder au répertoire des contacts, au calendrier ou à la galerie photos. En général, les apps natives sont par ailleurs très performantes. Un inconvénient majeur réside toutefois dans leurs coûts de développement. Leur implémentation nécessite d’une part de faire appel à des experts. Leur emploi demande d’autre part de récrire l’applicatif pour chaque plateforme et de les maintenir séparément dans la durée au gré des mises à jour. Les coûts augmentent par conséquent à chaque appareil supporté.

Apps web

HTML5, CSS et JavaScript permettent d’ores et déjà de créer des pages web à peine différentes des applications de bureau. Ces applications web peuvent être facilement optimisées pour les tailles d’écran et les interfaces tactiles des smartphones et des tablettes. Les apps sont dès lors sollicitées et utilisées directement dans le navigateur de l’appareil. Elles ne sont en revanche pas disponibles via les app stores des fabricants. Cette approche a l’avantage d’être moins onéreuse, les coûts de développement étant réduits par rapport aux apps native, du fait qu’elles peuvent être réalisées par des développeurs web. Elles sont d’autre part accessibles depuis le navigateur de n’importe quel appareil, ce qui évite d’avoir à recompiler pour chaque type de terminal. Comparées aux apps natives ou aux apps basées sur Flash/Flex, les apps web ne peuvent en revanche pas profiter pleinement des possibilités graphiques des appareils, de sorte qu’il faut accepter des compromis au niveau de l’interface utilisateur. Elles ne peuvent pas encore exploiter toutes les fonctions locales des terminaux (calendrier, répertoire etc.) et requièrent généralement une connexion internet. Dans certaines circonstances, la performance peut ainsi être affectée, la page mettant plus de temps à être chargée lorsque la connexion est lente.

Apps hybrides

Les apps hybrides sont un moyen idéal de réunir les atouts des approches native et web. Comme les apps web, elles sont immédiatement compatibles sur toutes les plateformes. Il n’est donc pas nécessaire de redévelopper l’application à chaque fois. Les apps hybrides peuvent être implémentées en HTML5, CSS et JavaScript ou – pour les applications demandeuses en données avec une interface utilisateur élaborée – à l’aide d’Adobe Flash ou Apache Flex, et mises à disposition pour les appareils iOS, Android, RIM et autres via des frameworks, tels que PhoneGap, Sencha ou Titanium. Comme les apps natives, elles peuvent également être téléchargées depuis les app stores des fabricants et sont disponibles sur l’appareil en tant qu’app complète. L’ergonomie et le rendu graphique de ces applications est aussi plus proche des apps natives et propose donc en général une meilleure expérience utilisateur.
 Les apps hybrides ont d’autre part l’avantage de pouvoir accéder aux fonctions locales des appareils, qu’il s’agisse de localisation via le GPS ou d’accès au répertoire, au calendrier et à toutes les autres fonctions des smartphones et tablettes; HTML5 le permet également dans certains cas mais offre moins de possibilités pour le moment. De plus, contrairement aux apps web traditionnelles, les applications hybrides ne nécessitent pas d’être connecté à internet, car le code est contenu dans l’applicatif installé sur l’appareil. Les frameworks tels que Adobe AIR offrent en outre une base de données locale de sorte qu’il est possible de travailler hors connexion, les données étant synchronisées dès que l’appareil est à nouveau en ligne. Enfin, puisque le même code est utilisé pour toutes les plateformes, la maintenance et les mises à jour fonctionnent de manière bien plus rapide et économique.

En conclusion

Les apps hybrides sont une alternative économique aux apps natives, tout en offrant des fonctionnalités et une expérience utilisateur semblables. Sans compter que les frais de développement ainsi économisés peuvent être investis dans davantage de convivialité et de usability. Elles constituent donc une alternative particulièrement intéressante lorsque l’app doit être disponible sur plusieurs appareils.

 

Kommentare

« Plus