Forums Développement Multimédia

Les formations Mediabox
Les formations Mediabox

Flex 4 en un jour - Les nouveautés d'Adobe AIR 2

Compatible Flex 4. Cliquer pour en savoir plus sur les compatibilités.Compatible ActionScript 3. Cliquer pour en savoir plus sur les compatibilités.Par tannoy (Antony Chauviré), le 10 février 2011

Cet article est une traduction d'un mini livre nommé Flex 4 in a Day de Mihai Corlan.

Adobe a donné son accord concernant la traduction de ce mini-livre.

Les nouveautés d'Adobe AIR 2

AIR 2 est la nouvelle version de la plate-forme d'Adobe qui permet aux développeurs de créer des applications Internet riches, exécutées en dehors du navigateur. Depuis la version initiale, il y a eu quelques améliorations du langage, des corrections de bugs mais peu de nouvelles fonctionnalités jusqu'à cette nouvelle version. La version 2 inclut un grand nombre de nouvelles fonctionnalités et d'améliorations de performances.

Processus natifs

La fonctionnalité de “Processus natifs”, l'une des fonctionnalités les plus demandées par les développeurs, permet aux applications AIR de démarrer et d'interagir avec les processus d'origine. Pour avoir accès aux processus natifs, vous devez utiliser un installateur d'applications natives pour installer votre application au lieu de l'installateur d'applications intégré dans le moteur d'exécution AIR.

La classe flash.desktop.NativeProcess permet à une application AIR de lancer, d'interagir avec et de terminer un processus. Les interactions programmées sont facultatives et asynchrones et peuvent être réalisées grâce à l'utilisation de flux standard. Si le processus ne peut pas communiquer à travers ces flux, l'application AIR ne peut pas communiquer avec le processus.

La classe flash.desktop.NativeProcessStartupInfo contient des informations sur un processus destiné à être lancé. Une instance de cette classe est passée comme argument à la fonction NativeProcess.start().

La classe flash.events.NativeProcessExitEvent est la classe d'événements standard envoyée par le processus natif quand il est quitté. Cet événement contient le code de sortie du processus, de sorte qu'il puisse être utilisé pour d'autres actions.

Mise à jour de version de WebKit

Une nouvelle branche de Webkit, équivalente à la branche de Safari 4.0.3, a été utilisée pour AIR 2.

Les principales nouveautés sont:

  • Création de versions de WebKit pour ne pas casser la compatibilité avec AIR 1.5
  • Ajout de l'élément <head> au document s'il n'est pas présent
  • Ajout du rapport d'erreur pour un appel XMLHttpRequest vers une ressource non-existante
  • Les requêtes XMLHttpRequest de type POST ayant un longueur de 0 ne sont pas transformées en requêtes de type GET comme le fait AIR 1.5
  • Un meilleur support de JavaScript, CSS3, l'élément Canvas et des données: URL.

Le nouveau moteur JavaScript (SquirrelFish Extreme) exécute les applications jusqu'à deux fois plus vite qu'avant, sans aucune modification de code. Les tests de performance ci-dessous montre une impressionnante différence de performance entre AIR 1.5 et 2.0. Les meilleurs résultats obtenus par Safari sont dues aux optimisations de taille auxquelles AIR 2 doit se conformer.

Références de performance utilisant Google V8 et WebKit SunSpider

Système d'exploitation / Référence AIR 1.5.3 AIR 2 Safari 4.0.4
Windows XP / V8
(La plus grande valeur est la meilleure)
158.6 1157.8 1509.4
Windows XP / SunSpider
(La plus petite valeur est la meilleure)
3286.4 1625.4 666.2
Mac OS X 10.6 / V8
(La plus grande valeur est la meilleure)
374.4 2522.8 2619
Mac OS X 10.6 / SunSpider
(La plus petite valeur est la meilleure)
1758.8 608.2 374.4

En outre, en termes de support CSS3, AIR 2 est livré avec quelques caractéristiques notables:

  • Transformation, animations et transitions 2D;
  • Barres de défilement stylisables – Utilisation de propriétés CSS propriétaires pour mettre en forme et configurer les barres de défilement;
  • Support du texte en colonnes – Mise en page du texte dans un conteneur à travers un nombre arbitraire de colonnes;
  • Zoom – AIR 2 supporte la nouvelle propriété de zoom

Nouvelle API réseau

AIR 2 apporte plusieurs améliorations clés, notamment les serveurs de socket sécurisés, IPv6 et UDP.

Toutes les classes de réseaux, y compris les classes de Socket, prennent en charge les protocoles IPv4 et IPv6.

La nouvelle classe flash.net.DatagramSocket fournit la capacité de communiquer avec d'autres hôtes utilisant le protocole Internet UDP.

La classe flash.net.SecureSocket permet aux applications de se connecter avec des serveurs sécurisés utilisant SSL et TLS et d'activer une communication cryptée. Le socket est connecté uniquement si le système d'exploitation a pu vérifier qu'il n'y a pas de problèmes avec le certificat ou la chaîne de certificats.

Une application AIR peut agir comme un serveur en utilisant la classe flash.net.ServerSocket. En ajoutant un écouteur pour le serveur de socket, le code peut être notifié des messages quand une connexion a été établie grâce à l'événement flash.events.ServerSocketConnectEvent.

D'autres améliorations incluent un support pour interroger les enregistrements DNS des ressources - Flash.net.dns.DNSResolver et les interfaces réseau disponibles sur l'hôte - flash.net.NetworkInfo et flash.net.NetworkInterface.

Meilleure intégration avec le système d'exploitation

AIR 2 vise une meilleure intégration avec le système d'exploitation et le système de fichiers grâce à certaines fonctions comme la détection des périphériques de stockage de masse, l'API d'ouverture de documents, l'amélioration de l'API d'impression et le support pour les installateurs natifs.

La gestion des dispositifs de stockage de masse est assurée par la classe flash.filesystem.StorageVolumeInfo. La classe représente chaque appareil disponible et accessible sur l'ordinateur et donne des informations sur les propriétés des dispositifs. L'accès est fourni au niveau du répertoire racine en tant qu'objet flash.filesystem.File.

L'Ouverture de documents, avec l'application par défaut associée au type de fichier, est accompli grâce à l'utilisation de la méthode openWithDefaultApplication de l'objet flash.filesystem.File. Pour des raisons de sécurité, les types exécutables ne peuvent pas être ouvert, à moins que l'application n'ait été déployé par un installateur natif.

En termes d'impression multi-plateforme, AIR 2 a ajouté encore plus de classes à celles existantes. Les nouvelles classes sont regroupées sous le même package flash.printing et couvrent des fonctionnalités telles que la spécification des valeurs disponibles pour les formats de papier - classe PaperSize, la méthode d'impression - PrintMethod, et les options disponibles pour boîte de dialogue d'impression qui s'affiche à l'utilisateur – PrintUIOptions.

L'enregistrement audio local

Avec la version 2, AIR supporte l'accès au microphone par la classe flash.media.Microphone. La classe permet à une application d'interroger le dispositif et de définir différentes propriétés. En outre, il permet d'accéder aux flux sonore ainsi, les données peuvent être jouées ou enregistrées. Les données d'échantillonnage à la volée peuvent être obtenues en utilisant un objet SoundTransform.

Support de la gestion des gestes et du touché multiple (gesture and multi-touch)

Grâce à cette nouvelle fonctionnalité, une application AIR peut utiliser des gestes tels que le pincement, le défilement, la rotation, la mise à l'échelle et le touché sur deux doigts. Presque tous les composants visuels du framework Flex offre le support de gesture et multi-touch en permettant l'utilisation d'événements spéciaux. L'interrogeation des dispositifs en vue de déterminer s'ils sont multi-touch peut être obtenu par l'utilisation de la classe flash.ui.Multitouch. Les API Multi-touch et Gesture sont également disponibles avec la pré-version de AIR pour Android.

Les autres fonctionnalités notable sont:

  • La gestion des exceptions globales dans le cadre de la mise à jour du FlashPlayer;
  • Support de lecture d'écran (Windows uniquement) - les boîtes de dialogue d'exécution peuvent être lues;
  • les points de sauvegarde des transactions de base de données - la base de données SQLite inclus dans AIR fournit un support pour les points de sauvegarde au sein des transactions. La classe flash.data.SQLConnection offre trois nouvelles fonctions - SQLConnection.setSavepoint (), SQLConnection.releaseSavepoint () et SQLConnection.rollbackToSavepoint () pour travailler avec des points de sauvegarde;
  • File promises - une nouvelle fonctionnalité permettant la création et la manipulation de références à des fichiers qui n'existent pas encore. À un certain moment dans le processus, les fichiers doivent être créés.

Plus d'informations concernant les nouvelles fonctionnalités de AIR 2 (y compris des applications de démonstration) peuvent être trouvées aux adresses ci-dessous:







Page précédente | Sommaire | Page suivante