Adobe AIR : Le développement Multi-Plateforme pour des applications interactives

De Johnny Fouqueux dans Technique

23 sept 2013

Adobe AIR est un environnement d’exécution basé sur la plateforme Flash permettant de créer des applications natives Multi-Plateformes. Il permet d’encapsuler une application Flash afin de lui adjoindre des fonctionnalités spécifiques aux application natives (accéléromètres, caméras, accès au système de fichiers …)

Cet environnement d’exécution est disponible pour Windows, MacOS, Android (smartphones et tablettes), iOS (iPhone, iPod et iPad), BlackberryOS et Kindle Fire. Il permet, à partir d’un seul code source, de déployer une application sur toutes ces plateformes. L’environnement d’éxécution et le SDk Adobe AIR sont gratuits. En revanche, les logiciels Flash et FlashBuider (anciennement Flex) nécessaires pour développer sur cette technologie sont payants, bien qu’il existe des possibilités pour développer en OpenSource (avec une compilation en lignes de commande).

Dans le cadre d’un développement réalisé pour le Groupe HERVE, nous avons dû développer une application pour tablettes compatible Windows 7, Windows 8 Pro, Android et iPad. Cette application permet de disposer sur un PC ou une tablette des brochures des différentes sociétés du Groupe en mode déconnecté. L’application utilise un mécanisme de synchronisation pour garantir que les utilisateurs ont toujours une version à jour des brochures. De plus, l’application étant montrée directement aux clients, il fallait qu’elle soit élégante, fluide et interactive.

C’est pourquoi nous avons choisi la technologie Adobe AIR.

Lors du développement de cette application nous avons été confrontés à plusieurs problèmes spécifiques à chaque plateforme, ce qui fait que le code source de base n’est pas compatible avec toutes les plateformes à 100% (par exemple, la détection du réseau ou l’accès aux différents répertoire du système de fichiers ne se font pas de la même façon sur les différentes plateformes). Cependant, il est possible de conditionner certaines portions de code selon la plateforme, afin de corriger certains problèmes. Nous avons donc développé une petite partie du code qui est spécifique à chaque plateforme, mais cela reste marginal (environ 2% de code spécifique par plateforme contre 98% de code commun). Cela reste beaucoup plus léger qu’un code source par plateforme.

Un autre avantage de cette plateforme est l’animation. Etant basée sur le moteur Flash (qui est à l’origine conçu pour l’animation), Adobe AIR permet de manipuler l’animation des éléments d’affichage de manière précise et de réaliser des animations complexes. Pour une application de présentation, il est important de présenter une image aboutie et soignée, chose qui n’est pas facilement réalisable avec d’autres technologies multi-plateformes qui sont plutôt taillées pour les applications de gestion. A contrario, Adobe AIR montre rapidement quelques faiblesses dans les applications de gestion, par manque de composants dédiés à cet usage.

En conclusion, Adobe AIR est la technologie idéale pour les applications nécessitant beaucoup d’animations, de fluidité et d’interactivité et destinées à être déployées sur plusieurs plateformes simultanément tout en conservant des coûts de développement maîtrisés (là où du développement natif demandera de ré-écrire l’application pour chaque plateforme).

Il est à noter que cette technologie n’est actuellement pas compatible avec Windows Phone et Windows 8 RT (mais supporté en mode “Bureau” dans Windows 8 Pro) car Adobe estime que les parts de marché de cette plateforme ne sont pas encore suffisantes pour justifier le portage de cet environnement d’exécution. Gageons que si Microsoft parvient à terme à imposer son OS, Adobe n’hésitera pas à ajouter cette plateforme dans Adobe AIR.

 

 

Commentaire

× deux = 16

iMDEO recrute !

REJOIGNEZ-NOUS

A la recherche de nouveaux talents (développeurs web et mobile, chefs de projet,...)

Voir les annonces