Sortie de AIR 2.7 – Nouveau runtime et packager iOS
Si vous êtes sur Twitter, vous n'avez pas pu rater cette annonce. AIR 2.7 est sorti en version release. L'annonce a été faite sur le blog de la team Flash Player (qui est regroupé avec la team AIR):
Adobe AIR 2.7 Now Available: iOS apps 4x faster
Les nouveautés mobiles
La grande nouveauté de cette version 2.7, c'est la possibilité de réaliser une application packagée pour iOS qui aura de bien meilleures performances qu'avec un packaging AIR 2.6. Alors pour les utilisateurs, c'est complètement transparent. En fait, si le développeur de l'application ne re-compile pas son application avec le SDK AIR 2.7, celle-ci gardera les mêmes performances. En effet, sous iOS, Apple interdit d'avoir un runtime séparé comme sous Android. AIR est donc compris dans l'application. La MAJ doit être faite par le développeur pour iOS.
En ce qui concerne Android, Adobe AIR 2.7 est disponible sur le Market. Si vous l'avez déjà installé, Android vous proposera automatiquement de télécharger la mise à jour. Les performances seront meilleures mais pas avec un écart comme celui d'iOS.
Voici une petite vidéo qui vous présente la différence:
Pour faire la transition, je vous conseillerai en fait d'attendre la sortie de Flash Builder 4.5.1 (update gratuite). En effet, celle-ci va contenir les bons SDK pour packager votre application sans problème. Cette update sera disponible au mois de Juin, encore quelques jours à attendre donc. Sinon, vous pouvez aller chercher le nouveau SDK ici:
Télécharger le kit SDK Adobe AIR
Au delà de ces performances, il y a un point très important pour vous les développeurs. AIR SDK 2.7 apporte un nouveau type de packaging. Avant vous aviez "ipa-debug", "ipa-test" et 2 autres pour ad hoc et app store. Vous avez maintenant des versions appelées "interpreter".
Ces nouveaux types de packaging (run et debug) vont vous permettre de faire un IPA en quelques secondes. Il faut noter que la création d'un IPA classique prend au minimum 5 minutes, ce qui rendait l'application très difficile à tester pendant le développement. Bien sûr, ces versions "interpreter" ne sont pas parfaites. L'inconvénient de ces versions est que les performances sont dégradées. Votre application va donc "ramer" mais cela vous permet de tester la navigation dans votre application ou le multi-touch par exemple, sans attendre une "vraie" compilation.
Pour les possesseurs de téléphone ayant une mémoire interne faible (Nexus one et HTC Desire par ex.), Adobe AIR peut maintenant s'installer sur SD, de quoi vous laisser de la place pour le reste.
Les nouveautés Desktop
La version Desktop comprend elle aussi une update que vous pouvez télécharger ici (runtime):
Pour les développeurs, de nouvelles APIs sont disponibles:
- Media Measurement: Une sorte de "Google Analytics" pour vos applications (aussi disponible en API Flash Player 10.3) pour tracer votre traffic sur toutes les plateformes. Plus d'informations sur le site web de SiteCatalyst. Je n'ai pas encore vraiment compris en quoi cela consistait, ni le pricing mais dès que je le sais, je vous fais signe
- Acoustic echo cancellation: Si vous utilisez les API Microphone, vous avez une option permettant de supprimer l’écho pour une meilleure qualité de transmission.
Voilà, il y a aussi une news sur Linux (à moitié mauvaise) qui a été un peu éclipsée par cette sortie. Cela fera l'objet d'un autre billet sur flex-tutorial.
AIR Mobile – Adobe AIR est-il fait pour votre projet iOS, Android, …?
Voici un petit billet d'introduction pour une série d'article qui vont porter sur le développement d'applications mobiles avec Adobe AIR. Quand on parle d'applications mobiles, on parle bien sûr des smartphones mais aussi des tablettes tactiles qui se font de plus en plus nombreuses.
Mais avant de vous lancer dans ce genre de développement, il faut vous assurer que vous vous engagez sur la bonne voie. En effet, chaque technologie a ses avantages et ses inconvénients et Adobe AIR ne déroge pas à la règle. De nombreuses autres technologies peuvent vous aider à parvenir à vos fins, suivant vos aspirations (et votre patience) comme Titanium, PhoneGap ou même un bon vieux site en HTML.
On va ici parler des applications natives. Avant de décider quelle technologies utiliser pour faire du natif, regardez aussi si un simple site "HTML5" ne suffirait pas à vos besoins.
Les points forts d'Adobe AIR pour mobiles
Voici, selon moi (en essayant de rester objectif un maximum), les points forts de la technologie Adobe AIR pour Mobiles
Déploiement multi-plateformes
C'est sûrement un des plus grands avantages, Adobe AIR vous permettait déjà d'exporter pour Windows, Mac et Linux sans vous soucier du packaging. Avec les projets mobiles, AIR vous permet de toucher davantage de plate-forme, toujours à partir d'une base commune. Ainsi, c'est Adobe qui fait le travail afin d'adapter le runtime pour chaque plateforme et pas le développeur qui doit apprendre à développer pour ces dernières.
L'univers du développement natif est plus fragmenté que celui du navigateur web. Chacun son implémentation, chacun son OS et chacun son langage de programmation. Si vous codez une application native en Java pour Android, vous ne pourrez ré-utiliser aucune partie de votre code, tout est à refaire pour chaque langage. Vous pensiez avoir tout vu avec le support d'IE6? Retour à la case départ, on prend les mêmes et on recommence.
De la même manière, si vous commencez avec une application AIR pour Mobile, vous aurez moins de mal à faire une application web par la suite.
Pour une entreprise comme celle pour laquelle je travaille, nous avons des ressources limitées en termes de développeurs. Ayant déjà fait l'expérience de se lancer sur plusieurs langages, nous savons que moins il y a de technologies différentes dans notre produit, plus la maintenance est aisée. Développer en natif sur chaque plate-forme vous impose de former votre équipe et de maintenir plusieurs bases de code. Chaque développeur ayant un niveau différent, vous allez avoir des différences de qualité dans votre produit final.
Ré-utilisation de votre code existant
Dans mon cas, c'est sûrement le point qui nous a fait choisir AIR. Nous développons actuellement des applications cartographiques en Flex, qui s'exécutent dans un navigateur web grâce à Flash Player. Notre composant cartographique par exemple(celui qui affiche les cartes et qui est le centre de l'application), est écrit entièrement en ActionScript 3, aucune liaison avec le framework Flex. Nous avons pu réutiliser directement cette librairie dans notre projet AIR, sans aucune modification. Si nous avions du re-développer ce composant en Java et en Objective-C, cela nous aurait prit quelques mois (et encore, pas sûr d'y arriver au final).
Si vous avez déjà un existant en Flex ou (mieux) en ActionScript, vous allez sauver un temps précieux en utilisant à nouveau votre code.
Adobe AIR 2.6 pour Android disponible sur le Market
Depuis le 24 Février, une nouvelle version d'Adobe AIR pour Android est disponible, AIR 2.6. Cette nouvelle version apporte de nombreuses améliorations et est bien sûr retro-compatible avec les applications Android que vous avez déjà installé. Vous pouvez donc faire cette mise à jour directement depuis votre mobile sur la page du market Android pour Adobe AIR:
https://market.android.com/details?id=com.adobe.air
Support des dernières versions d'Android
Android évolue rapidement sur de nombreux nouveaux terminaux et notamment les tablettes qui vont sortir en 2011. AIR pour Android est maintenant complètement supporté sur les versions d'Android suivantes:
- Android 2.2 (FroYo)
- Android 2.3 (Gingerbread)
- Android 3.0 (Honeycomb)
La liste des devices supportant Android peut être trouvée à l'adresse suivante:
http://www.adobe.com/flashplatform/certified_devices/
Amélioration des performances
Les performances des applications AIR pour Android ont été globalement améliorées, avec notamment:
- Décodage H.264 à 30 fps
- Gain de 20% de perfs sur le scrolling
- Animation et jeux utilisant le GPU à 50 fps
Nouvelles fonctionnalités
- Support for the latest Android system gestures
- Bitmap Capture for StageWebView, which provides tighter visual integration between Flash and HTML content
- Asynchronous Bitmap Decoding, which improves the performance of transitions in image-intensive applications
Et pour les autres plateformes?
AIR pour Android est donc déjà en déploiement mais quid des autres plateformes? Et bien Adobe a annoncé que le SDK et runtime Adobe AIR 2.6 pour Desktop sera disponible durant le 1er semestre 2011.
Si vous voulez utiliser la beta d'AIR 2.6 SDK et en savoir plus, inscrivez-vous sur la prerelease Adobe
Adobe AIR – Utilisation d'une base SQLite locale
Le runtime Adobe AIR apporte des fonctionnalités supplémentaires par rapport à Flash Player, notamment des interactions plus fortes avec le système natif. Parmi ces fonctionnalités, vous avez par exemple la possibilité d'enregistrer / charger des fichiers avec un répertoire dédié à l'application ou bien la possibilité de manipuler une base SQL locale.
Ces deux mécanismes peuvent vous permettre d'enregistrer de la donnée en local sur le poste de l'utilisateur, sans qu'il le sache. Ces techniques sont donc parfaites pour créer des systèmes de synchronisation. En effet, dans le cas d'applications mobiles / desktop, il se peut que votre utilisateur perde sa connexion à Internet. Dans ce cas, vous pouvez sauvegarder les informations qu'il a entré (dans un formulaire par exemple) dans une base de données locale. Une fois la connexion rétablie, votre application pourra aller puiser dans cette BDD les informations et les envoyer au serveur.
Ce n'est qu'un exemple d'utilisation mais une base de données locale peut aussi vous servir à stocker d'autres informations comme une base de produits. Votre application pourrait ainsi fonctionner et afficher des informations sans avoir besoin d'une connexion à Internet.
Les prochains tutoriaux seront donc dédiés à l'utilisation de cette base SQLite et aux optimisations de celle-ci.
AIR, SGBD et SQLite
Comme dit en introduction, Adobe AIR permet de créer et de travailler avec une base SQL locale.
Une BDD locale se différencie d'une base située sur un serveur par plusieurs points. Le premier est le mode de stockage. dans le cas d'une BDD locale, les données ne se situent pas sur un serveur mais dans un fichier résidant dans le système de fichiers de l'utilisateur.
Une BDD locale n'a pas besoin d'un gestionnaire de base de données (SGBD). On effectue directement les opérations sur le fichier. Ce fichier peut assez facilement être trouvé par un utilisateur et ouvert comme une base classique. La sécurisation de données et donc importante, ne stockez pas de mot de passe en clair par exemple.
L'implémentation de BDD locale utilisée par Adobe AIR est donc SQLite dont le code source est dans le domaine public et utilisée par Mozilla, Symbian, Oracle et bien d'autres.
Petite précision lors de vos recherches futures, on dit bien "SQLite" et pas "SQLLite" comme je le pensais au départ (version "Lite" de SQL
). Un seul L donc.
Adobe AIR inclus un moteur de base de données relationnelle basée sur le langage SQL. Lorsque vous voudrez "parler" à votre base de donnée, vous allez donc utiliser du SQL que vous allez encapsuler dans des objets de l'API Adobe AIR.
AIR ne décide pas de l'emplacement de votre base de données de manière arbitraire. Pour ouvrir une base de données, vous allez simplement lui donner une référence vers un fichier se trouvant sur le disque de l'utilisateur. On le verra, cela se fait très facilement grâce à l'API File d'AIR.
Aide et documentation
Une documentation très complète et de qualité peut être trouvée sur le site d'Adobe:
Working with local SQL databases
Les points les plus importants sont abordés. Si vous voulez en savoir un maximum sur SQLite en peu de temps, cela constitue un très bon point de départ.
Si vous débutez en SQL, vous devrez vous familiariser avec la syntaxe. Pour cela, il y a déjà de très bon guides sur le net:
http://www.commentcamarche.net/contents/sql/sqlintro.php3
Outils d'administration SQLite
Dans les prochains tutoriaux, on va manipuler une base de données locale avec Adobe AIR. Pour des raisons de debug, vous voudrez sûrement voir le contenu de votre base locale. Vous pourriez utiliser une application AIR pour cela mais il vous suffira en fait d'aller chercher votre base de données et de l'ouvrir avec un outil d'administration pour en voir le contenu.
J'utilise personnellement l'extension SQLite de Firefox qui est très claire. Voici les outils que vous avez à votre disposition:
- SQLite Admin AIR Application
- SQLite Manager Firefox Extension
- SQLite Database Browser
- Lita – SQLite Administration Tool
- SQLite Sorcerer
Voilà, maintenant que vous avez été introduit à SQLite, on va commencer à manipuler notre base de donnée
AIR pour BlackBerry – Mise à jour SDK 0.91 avec support Flash Builder Burrito, Flex SDK 4.5, Windows 64 bits et Linux
Il y a quelques semaines, je présentais les techniques de développement pour les futures tablettes BlackBerry Playbook. A l'époque, la première version du SDK était assez buggée, notamment sur certains points assez critiques mais contournables:
AIR pour BlackBerry – Le BlackBerry Tablet OS SDK est disponible (AIR 2.5)
AIR pour BlackBerry – Installer le SDK et le simulateur (exe) sur systèmes Windows 64 bits
Au moment de l'écriture de ces articles, le SDK était en version 0.90. La version 0.91 est sortie depuis quelques jours et apporte pas mal de corrections. Tout d'abord, le support Windows 64 bits qui permet une installation plus aisée sur ces systèmes.
Télécharger la beta 2 du SDK AIR pour BlackBerry
Mais le point le plus intéressant est sûrement que le SDK est maintenant complètement intégré à Flash Builder 4 "Burrito", au même titre qu'Android. On commence à voir comment AIR va permettre de packager facilement des applications sur plusieurs plate-formes:
So far, seulement Android et BlackBerry mais j'espère vraiment que le prochain Packager for iOS offrira la même intégration.
Installation du SDK BlackBerry sur Flash Builder 4 Burrito
L'installation est très simple (l'installeur s'occupe de tout). Un tutorial détaillé est disponible sur le blog de Renaun Erickson:
Update to PlayBook SDK provides Flash Builder Burrito Plugin







