Articles taggés avec ‘air’

Introduction à l’architecture AIR

Samedi 28 juin 2008

Je vous ai déjà parlé à plusieurs reprises de l’architecture AIR, par le biais d’applications, mais j’ai pensé qu’il était nécessaire de remettre tout ça dans son contexte afin de mieux la comprendre

L’architecture AIR d’adobe c’est l’aboutissement de la convergence de plusieurs technologies maîtresses chez Adobe. On vu ces dernières années les sites Web à interfaces riches prendre de plus en plus d’ampleur, avec une forte proportions de sites réalisés en Flash. Passé ce premier point, à l’intérêt esthétique indéniable, les ingénieurs Adobe se sont rendu compte que l’orientation métiers de la production graphique de Flash c’était quand même pas extraordinaire pour produire de véritables environnements applicatifs. Je me souviens avoir essayé de produire un configurateur de produits en Flash, rapidement l’équipe de développement était revenu vers une applet Java. C’est ce qui vu l’arrivée  de la technologie Flex donc l’objet est de produire a partir d’un environnement de développement intégré de véritables interfaces riches pour applications Web. Les applications produites sont en fait des fichiers SWF qui s’appuient sur le runtime Flash dans un navigateur pour s’exécuter. Avec cette technologie Adobe parvenait donc à faire revenir dans son giron des tas de purs développeurs qui pouvaient porter leur savoir faire vers la plateforme Flash. De nombreuses communauté on commencé à créer des API pour accéder à tel ou tel service sur le Web, et le potentiel de la plateforme est très vite apparu avec surtout une capacité à mettre en œuvre de solides scénarios de d’interaction avec l’utilisateur.

La richesse de ces applications développées a fait apparaître leur principale faiblesse qu’était leur exclusive intégration dans le navigateur Web. Le modèle de sécurité du runtime Flex ne permettait pas par exemple d’accéder à des ressources locales sur le poste de travail, ou d’interagir de manière complexe avec l’utilisateur. C’est à ce moment là que le runtime AIR est apparu avec comme objectif de nous permettre de passer de RIA (Rich Internet Application) à des RDA (Rich Desktop Application). L’idée de base étant de conserver la portabilité du runtime Flash de Windows à Mac en passant par Linux et d’en faire une plateforme complète.  Toutes les fonctionnalités nécessaire à mettre en œuvre des applications sont intégrée dans le runtime, il ne reste plus qu’à déployer, enfin presque !

XML preferences files

Dimanche 20 avril 2008

Le sujet du jour va être de quelle manière on peut utiliser les facultés de Adobe AIR à accéder au système de fichiers pour réaliser des fichiers de préférences pour une application.Le contexte va être le suivant, on va charger un fichier dans un objet de type XML, et ensuite il n’y plus qu’à aller chercher les variables dans cet objet. Pour ce qui est du sens inverse c’est tout aussi simple, on met à jour les variables et on enregistre le tout dans un fichier XML.

Commençons par quelques déclarations :

import flash.filesystem.*; //pour disposer des classes d'accès aux filesystems
public var prefsFile:File; //Le fichier dans lequel résident les préférences
public var prefsXML:XML; //L'objet XML dans lequel on va mettre nos data
public var stream:FileStream; //le flux qui sera utilisé pour lire/écrire dans le fichier

Ensuite, codons la fonction de lecture qui va voir comme faculté de créer le fichier si il n’existe pas. cette fonction doit être obligatoirement être appelée lors du cycle d’initialisation de  l’application. le fchier est placé dans le répertoire de stockage de l’application, ce qui permet de gérer facilement le portage entre les différents environnements.

private function lireprefs():void {
prefsFile = File.applicationStorageDirectory;
prefsFile = prefsFile.resolvePath("fichierpreference.xml");
stream = new FileStream();
if (prefsFile.exists) {
stream.open(prefsFile, FileMode.READ);
prefsXML = XML(stream.readUTFBytes(stream.bytesAvailable));
stream.close()
}

bon voilà tout va bien le fichier existe, donc pas de soucis, on le lit via le stream pour instancier la variable prefsXML, et le tour est joué. Là ou ça peut se compliquer c’est lorsque le fichier existe pas encore, et qu’il faut le créer au préalable. On positionne donc un else sur la condition précédemment utilisée et on gère cette situation. Dans ce cas on instancie la variable XML depuis une chaîne de texte, et on déclare chacun des noeuds à la suite les un des autres avec leur valeur par défaut :

prefsXML = new XML("<preferences/>");
prefsXML.prenom = "votre prenom";
prefsXML.nom = "votre nom";

Ensuite il faut créer le fichier depuis une chaîne de texte et y injecter le contenu de la structure, puis l’enregistrer sur le disque…

var outputString:String = '\n' + prefsXML.toXMLString();;
outputString = outputString.replace(/\n/g, File.lineEnding);
stream = new FileStream();
stream.open(prefsFile, FileMode.WRITE);
stream.writeUTFBytes(outputString);
stream.close();

C’est ce même bout de code qui sera utilisé lorsqu’il s’agira de sauvegarder le fichier de préférences par exemple lorsqu’on sortira de l’application.

Une fois qu’on a fait tout ça l’application peut continuer sa petite vie tranquille et on utilisera les variables de préférences tout simplement  :

label.text = prefsXML.prenom ;

Voila finalement c’était pas si compliqué, et ça peut dépanner dans bien des situations…

Adobe on AIR tour à Paris

Mercredi 2 avril 2008

Aujourd’hui j’ai fait un petit tour sur l’événement organisé par Adobe pour la tournée de lancement de AIR. Les conférences étaient intéressantes, les orateurs plutôt intéressant et pédagogues. J’ai assisté à deux conférences, celle de Daniel DURA sur l’api AIR dans le détail, ensuite j’ai vu la conférence sur le développement d’applications AIR en HTML. un évènement très enrichissant sur le sujet et qui présage d’un futur radieux pour cette nouvelle technologie. La conférence se passait  dans l’auditorium du palais Brogniart, l’endroit était superbe ce qui n’enlève rien à la qualité de l’évènement. Je vous invite à aller voir le site du tour onAIR pour avoir toutes les informations sur le sujet, et par ailleurs le très bon blog de Michaël Chaize Dès que j’ai un peu de temps je vous reprendrai tout ça dans le détail….