Adobe AIR
Adobe AIR en quelques mots …
Adobe AIR (Adobe Integrated Runtime) est une machine virtuelle multi-plateforme qui s'exécute sur le système d'exploitation et pas à l'intérieur d'un navigateur comme le fait Flash Player. On parle alors de "Rich Desktop Application" ou RDA. Ces applications riches peuvent être développées en HTML/Ajax (JS), en Flash (ActionScript) ou en Flex pour ensuite être déployées comme une application bureautique. Le plug-in Adobe Air est aujourd'hui disponible pour les systèmes d'exploitation Windows, Mac et Linux.
Télécharger la dernière version du Runtime Air
AIR pour iOS, Android et BlackBerry Tablet OS (smartphones / tablettes)
Avant l'arrivée des smartphones, il y avait seulement 2 grands types d'application: Bureautique (Desktop) et Web (Navigateur). Pour répondre à ces 2 demandes, Adobe a deux runtimes (environnements d'exécution): AIR pour le Desktop et Flash Player pour le navigateur. Ces runtimes assurant une compatibilité Windows/Mac/Linux d'une part et tous les navigateurs web d'autre part.
Mais avec les smartphones (et plus particulièrement l'iPhone), il faut désormais compter avec une nouvelle plateforme ou plus exactement plusieurs nouvelles plateformes. Un peu comme avec les navigateurs web, de nombreuses plateformes se sont développées, avec plus ou moins de succès. Les plus populaires étant les plate-formes iOS (iPhone, iPad), Android (multiple constructeurs) et BlackBerry.
Ces nouvelles plateformes ont aussi initié un nouveau type d'application ou plutôt un nouveau mode de consommation. Toutes ces plate-formes s'articulent autour d'un ou plusieurs "store" à partir desquels on peut télécharger des applications, gratuites ou non. Chaque smartphone est donc doté d'une batterie d'applications, ayant chacune une fonctionnalités bien précise (client Twitter, client LeMonde, …). Malheureusement pour nous, développeurs, chacun a son propre langage de programmation: Objective-C pour iOS et Java pour Android par exemple.
Heureusement, Adobe vous permet de capitaliser sur votre code existant pour créer des applications natives pour ces plate-formes.
Plusieurs APIs spécifiques aux environnements mobiles sont disponibles parmi lesquelles:
- Multitouch/Gestures
- Screen Orientation
- Saving images to Photo Library
- Accelerometer
- Geo-location
- Cut / Copy / Paste
- Video Camera Access
- Microphone Access
- Screen Orientation / Fullscreen
- Phone/SMS/Email/Browser/Android Market Integration
- Session Cache Support – Restore App State
- Hardware Buttons Support
- Local Databases SQLite
Flash Builder se dote donc d'un nouveau type de projet "Flex Mobile Project" permettant de générer directement des applications natives Android. Les paradigmes Desktop et Mobile étant différents, il est normal qu'un nouveau type de projet fasse son apparition. On peut donc utiliser Flash Builder pour développer, tester sur l'émulateur ou debugger (par USB ou par Wifi sur device).
A l'issue du développement de votre projet Mobile, vous pouvez grâce au compilateur AIR créer des applications natives pour chaque plateforme. Ces versions peuvent ensuite être envoyées sur les différents Store/Market.
iOS: iPhone, iPod Touch, iPad
iOS a été historiquement la première plateforme mobile supportée par les technologies Adobe, en 2009. Lors du lancement de la Creative Suite 5, Adobe a lancé le Packager For IPhone (PFI). On pouvais donc exporter des applications iOS natives (.IPA) directement depuis Flash Professional.
Il est aujourd'hui possible de créer des applications natives pour iOS (IPA) grâce aux outils Adobe en standard.
Android
Depuis le 7 Octobre 2010, Adobe AIR 2.5 a été lancé sur le Market pour les téléphones mobiles tournant sur Froyo (2.2). Sur Android, l'environnement d'exécution AIR est disponible comme une application à part que vous pouvez télécharger depuis l'Android Market.
Il est aujourd'hui possible de créer des applications natives pour Android (APK) grâce aux outils Adobe en standard.
BlackBerry Tablet OS
La tablette BlackBerry Playbook est compatible avec Adobe AIR. Et même mieux, Adobe AIR est une des bases de la tablette, les applications natives comme le navigateur, étant écrites elle-mêmes avec Adobe AIR. On parle ici uniquement du BlackBerry Tablet OS et pas des smartphones avec clavier.
La plupart de ce qui a été dit pour Android est vrai pour BlackBerry Tablet OS. Quelques différences cependant, comme par exemple le simulateur qui est une machine virtuelle Linux. BlackBerry a aussi diffusé un SDK additionnels qui vient se greffer à AIR comportant des composants "natifs" à cette plateforme, directement utilisables dans votre code.
Certaines des APIs vous permettent d'implémenter de nouvelles fonctionnalités dans votre applications comme par exemple la consultation du niveau de batterie, les notifications ou les achats directement dans l'application. Renaun Erickson a écrit de nombreux tutoriaux à ce sujet, je vous invité à consulter son blog pour plus d'informations.
Il est aujourd'hui possible de créer des applications natives pour BlackBerry Tablet OS (BAR) grâce aux outils Adobe en standard.
Adobe AIR Desktop
Durant les dernières années, la mode a été de prendre des applications bureautiques pour les inclure dans des navigateurs internet. Ce choix a été motivé par plusieurs facteurs :
- Croissance d’Internet
- Développement relativement aisé d’applications Web
- Possibilité de viser plusieurs systèmes d’exploitation à travers les navigateurs
Les premières applications ont été construites principalement grâce au couple HTML / JavaScript qui se basait principalement sur les changements et rafraichissements de la page.
Sont ensuite arrivées les applications (« type Ajax ») permettant d’effectuer plusieurs opérations sans recharger la page afin d’améliorer l’expérience utilisateur. Ce type d’application est appelé Application Internet Riche (RIA : Rich Internet Application). La croissance du nombre de ces applications Web autour de services communautaires et d’accès par API a crée ce que certains appellent le Web 2.0.
Malgré cela, les applications Web intégrées au navigateur souffrent des plusieurs problèmes :
- Les applications déployées sur un navigateur ont leur propre interface utilisateur qui peut rentrer en conflit avec l’interface du navigateur lui-même. Les boutons précédent/suivant peuvent provoquer une confusion par exemple
- A cause des restrictions d’accès à l’ordinateur du client, les applications ouvertes dans un navigateur n’apportent pas tous les types d’interaction qu’une personne peut attendre d’une application (glisser-déposer de fichiers par exemple)
- Les différences entre les principaux navigateurs du marché rendent le développement d’applications Web de plus en plus long et laborieux
La mode commence maintenant à s’inverser, et l’on cherche à proposer à l’utilisateur des applications bureautiques nouvelle génération s’appuyant sur les ressources disponibles en ligne. Ces applications sont appelées RDA (RDA : Rich Desktop Application) et nécessitent un programme supplémentaire (« plug-in ») pour fonctionner. Il y a aujourd’hui deux principaux programmes permettant d’utiliser ces applications RDA : Adobe Air et Microsoft SilverLight.
Développer des applications pour Adobe AIR
Puisque les applications Adobe AIR fonctionnent de manière uniforme sur les principaux systèmes d'exploitation, vous n'aurez pas à écrire plusieurs versions de votre code, vous aurez le même rendu quelque soit le contexte d'exécution.
Pour démarrer, je vous conseille de télécharger Flash Builder (qui contient le SDK AIR) et de suivre les tutoriaux présents sur flex-tutorial.fr
Fonctionnalités du SDK AIR Desktop
Puisque les applications Air ne sont pas bridées par le navigateur, vous aurez accès à des fonctionnalités supplémentaires propres aux applications bureautiques. Vous pouvez bien sur toujours profiter des fonctionnalités apportes par l'API Flash Player 10.
Voici une liste non-exhaustive des fonctionnalités supplémentaires d'Adobe AIR:
- Ecriture/Lecture de fichiers sur le disque
- Base SQLLite permettant de conserver et de gérer des données sur le poste client à l'aide de requêtes SQL
- Drag And Drop (glisser-déposer) de fichiers vers ou depuis une application AIR
- Gestion d'un mode connecté/déconnecté
- Affichage de pages HTML (moteur de rendu basé sur WebKit comme Safari ou Chrome)
- Création de fenêtres natives (avec le look and feel des fenêtres de votre OS)
- Possibilité de personnaliser le look des fenêtres (transparence, forme, etc.)
- Répertoire réservé à l'application pour l'écriture de fichiers
- Mises à jour automatisées…
Applications utilisant le runtime AIR Desktop
De nombreuses applications utilisent Adobe Air. Parmi les plus importantes, on peut compter AOL, BBC, Ebay, Nasdaq, New York Times et bien d'autres applications comme FineTune qui sont excellentes.
Vous pouvez retrouver de nombreuses autres applications Adobe Air sur le Adobe Air Marketplace.









