Rss Feed

Loader application Flex / AIR

Nous avons développé plusieurs applications AIR / Flex. La plupart sont soumises à des clauses de confidentialité, mais heureusement quelques unes ne le sont pas, nous pouvons ainsi vous montrer le chargement.

Pour chaque application, nous réalisons un loader personnalisé à l’identité de la société qui indique l’état de chargement de l’application et le numéro de version.

En effet, au démarrage de l’application, nous pouvons être amenés à charger des modules ou des datas. Le temps de chargement et d’initialisation de l’application AIR peut prendre plusieurs secondes, il est donc important d’informer l’utilisateur de ce chargement.

load1.jpg

 

load3.png

 

load2.png

Loader AIR from Matsiya on Vimeo.

10 astuces pour optimiser les performances de Flex

Voici un article publié sur InsideRIA parlant de bonnes pratiques pour avoir un code flex performant.

A lire sans plus attendre : insideria tips for flex

Externaliser la configuration de ses remoteObjects.

Vous avez l’habitude de « hardcoder » les urls d’accès de vos remoteObjects, mais devez à chaque fois qu’il y a un changement de serveur recompiler tout le projet ? Ou bien lors du passage du projet entre le serveur de test et le serveur de prod ?

Christophe Coenraets nous propose un article simple et clair sur l’utilisation d’un fichier xml externe pour gérer cette configuration des remoteObjets.

À consulter sans attendre : l’article.

Magazine Flash/Flex en ligne

Le magazine en ligne « Flash & Flex Developper’s magazine » dans son édition de Mars vient d’être mis à disposition gratuite. Il est possible de le télécharger au format PDF à l’adresse suivante : http://www.ffdmag.com/prt/view/about-the-mag/issue/1015.html.

On retrouve dedans des infos sur des points précis du développement de flex, mais aussi sur des aspects plus génériques comme l’architecture de son application à l’aide du framework Cairngorm.

On y trouve aussi un intéressant article sur l’utilisation de modèles 3D, créés grâce au logiciel libre Blender, dans flash grâce à Sandy 3D.

A lire de toute urgence pour les anglophones.

Flash Builder 4 & Flash Catalyst sur l’Adobe Labs

C’est parti !! Adobe lâche les betas de Flash Builder 4 et Flash Catalyst…(pour ceux qui auraient manqué l’info, Flex Builder a été rebaptisé Flash Builder). C’est un lot de nouveautés pour Flash Builder 4, pour en savoir plus, je vous invite à lire l’article « What’s new in Flash Builder 4 beta » de Tim Buntel.

Flash Catalyst, plutôt destiné aux designers, va permettre de simplifier considérablement le lien designer/développeur, vous trouverez ici quelques vidéos et tutoriaux pour la prise en main.

flashbuilder.jpg

Contourner l’erreur de parse des && dans le mxml

Voici une petite astuce d’écriture pour éviter de devoir inverser les conditions lorsqu’on les place dans du code mxml. En effet, Flex ne supporte pas que l’on ait les opérateur && dans du code mxml.

Le code : <mx:Label text= »matsiya » visible= »{condition1 && condition2} » /> devrait fonctionner dans la logique, puisque <mx:Label text= »matsiya » visible= »{condition1 || condition2} » /> fonctionne très bien, mais ce n’est pas le cas.

On pourrait certainement chercher pourquoi derrière il refuse cette compilation car le code mxml n’étant autre que du code as3, la raison doit se trouver là dedans. Néanmoins, ce problème d’écriture résulte souvent dans une prise de tête.

Pour le contourner, il suffit alors d’écrire sous la forme suivante :

<mx:Label text= »matsiya » visible= »{(int(condition1)*int(condition2))==1} » />

Cela rend le code un peu moins lisible, mais est terriblement efficace.

Réponse GZipée dans Zend AMF

Contrairement à AMFPHP, Zend AMF n’offre pas la possibilité de compresser en gzip les réponses, ce qui peut être très embêtant dans le cas de requêtes renvoyant un grand volume de données (il peut exister un facteur 100 entre une réponse standard et une réponse compressée).

Cette fonctionnalité peut facilement être ajoutée en utilisant gzcompress ou gzencode.

echo "x1fx8bx08x00x00x00x00x00".gzcompress($zendAmfServer->handle());

Exposer ses services avec BlazeDS et Axis2 grâce à Spring

Si l’intérêt d’utiliser BlazeDS pour faire communiquer une application Flex avec des services distants n’est plus à prouver, il en résulte souvent un manque d’interopérabilité des services.

Dans le cas d’une application qui pourrait avoir des interfaces multiples (web, ajax, swing etc …) il est alors préférable d’utiliser des services de type SOAP ou REST. On peut par exemple imaginer une application Air et une application pour iPhone développée en Cocoa qui accèdent au même applicatif serveur et qui partagent la même session hibernate. Une solution simple serait alors de dupliquer les classes de services, mais cela engendrera par exemple la duplication de la connexion à la base de donnée. L’utilisation de Spring peut alors grandement nous faciliter la tâche, en effet il est possible de partager un contexte entre servlet et donc de n’accéder qu’à une seule instance que ce soit par Axis2 ou BlazeDS.
[Lire la suite...]