AIR pour iOS – Compiler une MobileApplication Flex 4.5 pour iOS avec PFI
Le but de ce tutorial est de pouvoir compiler une application Flex Mobile en une application native pour iOS (iPhone / iPad). Les lignes de commandes présentes dans ce tutorial fonctionne avec la version présente de PFI (11 Oct 2010) qui pourra changer lorsque la prochaine version de PFI (Package For IPhone) sortira.
La dernière mise à jour de PFI est disponible en téléchargement sur les Adobe Labs:
http://labs.adobe.com/technologies/packagerforiphone/
En attendant de faire mieux…
La prochaine version de PFI sera vraisemblablement complètement intégrée à Flash Builder Burrito lors de sa sortie, un peu comme BlackBerry Tablet OS et Android sont actuellement supportés. En attendant, il est toujours possible de compiler des applications en ligne de commande. Le process sera sûrement le même une fois le nouveau packager sorti, ces lignes de commande pourront donc vous être utiles si vous faîtes de l'intégration continue par exemple pour laquelle vous allez builder sans Flash Builder.
Le Packager For IPhone actuel gère seulement Adobe AIR 2.0.2 et pas les nouvelles API AIR 2.5. Avant de compiler votre application, il est préferable de retirer toute référence vers ces APIs. Pour la liste des APIs actuellement non supportées, vous pouvez vous fier à cet article:
Encore une fois, lorsque Adobe aura mis à jour le packager, ces recommandations ne seront plus d'actualité.
Des performances encore faibles
Si vous arrivez jusqu'au bout du tutorial, vous allez pouvoir déployer votre application sur votre matériel iOS. J'ai testé sur un iPad et un iPhone 4. Les performances de l'iPad sont plus que médiocres et les performances sur iPhone sont plutôt mauvaise, d'autant plus que la résolution est totalement différente.
Vous pouvez en revanche vous servir de ce tutorial pour compiler vos applications ActionScript pour iOS, qui devrait fonctionner de manière plus fluide.
Selon Michael Chaize, notre Evangelist français, les performances seront bien meilleures dans la prochaine version du Packager, ne perdons pas espoir
.
Un forum plein d'informations
Le forum Packager For IPhone est rempli de bonne ressources ainsi que d'utilisateurs ayant fait de multiples tests, notamment au niveau des performances. Si vous avez un problème, je vous conseille de rechercher si la question n'a pas déjà été posée / résolue:
http://forums.adobe.com/community/labs/packagerforiphone?view=discussions&start=0
Ce qu'il vous faut pour ce tutorial
Pour réaliser les différentes étapes de ce tutorial, vous n'aurez ni besoin d'un Mac, ni de XCode. En revanche, les logiciels suivant sont recommandés / obligatoires:
Flash Builder 4.5 "Burrito"
Ce n'est pas obligatoire mais Burrito va nous faciliter la vie sur plusieurs points. Tout d'abord pour la création du projet mobile et pour le lancement des "Run Configuration" d'Eclipse qui vont nous permettre de compiler notre application en quelques clics. Sinon vous pouvez le faire avec votre IDE préféré mais c'est à vous de vous débrouiller
Télécharger Flash Builder Burrito
Packager For IPhone (PFI)
Télécharger PFI depuis les labs Adobe
Dézippez l'archive et placer la sur votre disque.
SDK Flex >= 4.5
On va réaliser des compilations avec le compilateur "amxmlc" présent dans le SDK Flex / AIR. Veillez donc à avoir la dernière version, au moins la 4.5. Si vous avez installé Flash Builder Burrito, vous devriez avoir le SDK Flex Hero 4.5 directement.
Un appareil sous iOS (iPhone et/ou iPad)
Pour pouvoir tester votre application au format IPA, il vous faudra un iPhone ou un iPad. Peut-être cela fonctionne avec le simulateur iOS sous Mac / XCode mais n'utilisant pas ces éléments, rien de sûr.
iTunes
Pour transférer votre fichier IPA, vous ne pouvez pas le faire par mail ou USB comme sur Android, il vous faudra obligatoirement passer par iTunes. Vous aurez aussi besoin de iTunes pour déterminer votre Device ID (UDID), subtilement caché dans l'interface. Ah oui et vous aurez en plus la joie de devoir installer (parfois sans vous le demander) des logiciels tierce comme Quicktime ou l'Updater automatique d'Apple. Tous les utilisateurs d'iTunes vous le diront, ce logiciel est une merde mais il est cependant indispensable.
Certificats et comptes Developper iOS
Alors voilà la partie la plus complexe, qui pourtant, ne requiert presque aucune compétence en programmation! Pour pouvoir compiler votre application avec iOS, il vous faudra avoir un compte développeur iOS (99$ par an) afin de pouvoir générer votre certificat iOS. C'est sûrement la partie la plus longue car il va falloir faire pas mal de manipulation avant d'obtenir vos fichiers mobileprovision et p12.
Première étape: Récupérer les documents auprès d'Apple
Avant toute chose, vous pouvez commencer par récupérer les fichiers dont vous aurez besoin auprès d'Apple. Cette étape peut prendre du temps car vous devrez créer un compte Développeur et sortir la CB. Le prix est de 99$ / an mais à ce prix là, vous aurez la possibilité de mettre des applications sur l'AppStore et de générer vos certificats.
La procédure est assez laborieuse et dépend de votre OS. Heureusement, le guide Developper fourni par Adobe explique toutes les étapes en détail, que vous soyez sur Windows ou Unix. Commencez donc pas lire les pages 4- de ce document:
http://download.macromedia.com/pub/labs/packagerforiphone/packagerforiphone_devguide.pdf
Quelques précisions:
Si vous vous enregistrez comme entreprise et pas comme individuel (mais toujours avec le Developper Program à 99$/an), le process est plus long car Apple va vous demander des documents qui prouvent votre identité (enregistrement auprès de la chambre de commerce je crois).
Pour le point 6/b, qui consiste à récupérer l'identifiant UDID de votre device, il faut bien cliquer sur le numéro de série affiché dans iTunes pour que celui-ci affiche l'UDID. C'est complètement tordu et non intuitif mais cela fonctionne:
Pour la partie "Convert an Apple developer certificate to a P12 file on Windows" que vous devez faire avec OpenSSL, vous aurez peut-être des warnings vous indiquant que l'opération s'est mal passée. Mais en fait, le fichier que vous devez générer pour la première étape (mykey.key) est bien là, dans le répertoire "/bin".
A la fin des nombreuses manipulations, vous devriez avoir un fichier xxx.mobileprovision (généré par le site d'Apple) et un fichier iphone_dev.p12 que vous avez généré avec OpenSSL (si vous êtes sous Windows). Si vous avez ces 2 fichiers, bravo, vous avez déjà fait une bonne partie du chemin!
Création d'une application Flex Mobile
Pour pouvoir tester notre application, il faut déjà avoir son application mobile à compiler. Ici on va prendre le projet "TwitterTrends" qui est disponible en téléchargement comme sample de "Hero":
http://labs.adobe.com/technologies/flexsdk_hero/samples/
http://download.macromedia.com/pub/labs/flexsdk_hero/samples/twittertrends/twittertrends.fxp
Télécharger le fichier FXP et importez le dans Flash Builder (Fichier > Import Flash Builder Project). Si vous n'avez pas Flash Builder, dé-zippez le FXP comme une archive et récupérez les sources. Voilà, il va nous falloir récupérer d'autres fichiers mais on va voir avant la démarche de compilation à suivre
Compilation d'un IPA, comment ça marche?
Pour compiler un IPA avec PFI, il vous faut plusieurs éléments:
- Un fichier xxx.mobileprvision
- Un fichier iphone_dev.p12 et son mot de passe
- Un fichier NomDeLAppli-app.xml, qui va décrire votre application
- Le fichier SWF de votre application que l'on va compiler
- Quelques icônes ( certains optionnels):
- icon 29×29
- icon 48×48
- icon 57×57
- icon 72×72
- Quelques Splashscreen (optionnels):
- Default.png (320 x 480px) pour iPhone
- Default-Landscape.png (1024x768px)
- Default-Portrait.png(768x1024px)
- Default-PortraitLandscapeLeft.png(1024x768px)
- Default-PortraitLandscapeRight.png(1024x768px)
- Default-PortraitUpsideDown.png(768x1024px)
Les splashscreen doivent être placés directement dans le répertoire "src". Les noms sont arbitraires et les fichiers doivent se nommer de cette manière pour que le packager les prenne en compte. L'emplacement des icônes doit correspondre aux chemins donnés dans le fichier xxx-app.xml. Il est plus simple de tous les mettre dans un répertoire "icons". Maintenant que vous avez les certificats, on va générer le SWF de notre application.
Générer le fichier SWF de notre application avec amxmlc
Si vous voulez compiler une application Flex 3 / Flex 4 / pure AS3, vous avez un fichier SWF créé à chaque compilation dans le répertoire "bin-debug" de votre application. Au début, j'avais pensé que je pourrais utiliser ce SWF directement mais si vous faîtes cela, vous aurez par la suite l'erreur suivante:
Exception in thread "main" java.lang.Error: Unable to find named traits: mx.collections.errors::SortError
at adobe.abc.Domain.resolveTypeName(Domain.java:195)
at adobe.abc.Domain.resolveTypeName(Domain.java:112)
at adobe.abc.GlobalOptimizer$InputAbc.resolveTypeName(GlobalOptimizer.java:274)
at adobe.abc.GlobalOptimizer$InputAbc.readCode(GlobalOptimizer.java:983)
at adobe.abc.GlobalOptimizer$InputAbc.readBody(GlobalOptimizer.java:531)
at adobe.abc.GlobalOptimizer$InputAbc.readAbc(GlobalOptimizer.java:404)
at adobe.abc.GlobalOptimizer$InputAbc.readAbc(GlobalOptimizer.java:280)
at adobe.abc.LLVMEmitter.generateBitcode(LLVMEmitter.java:160)
at com.adobe.air.ipa.AOTCompiler.convertAbcToLlvmBitcode(AOTCompiler.java:329)
at com.adobe.air.ipa.AOTCompiler.GenerateMacBinary(AOTCompiler.java:600)
at com.adobe.air.ipa.IPAOutputStream.compileRootSwf(IPAOutputStream.java:196)
at com.adobe.air.ipa.IPAOutputStream.finalizeSig(IPAOutputStream.java:366)
at com.adobe.air.ADTPackager.createPackage(ADTPackager.java:65)
at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:165)
at com.adobe.air.ADTEntrypoint.parseArgsAndGo(ADTEntrypoint.java:132)
at com.adobe.air.ipa.PFI.parseArgsAndGo(PFI.java:152)
at com.adobe.air.ADTEntrypoint.run(ADTEntrypoint.java:68)
at com.adobe.air.ipa.PFI.main(PFI.java:112)
ou
Exception in thread "main" java.lang.Error: Unable to find named traits: mx.collections.errors::ItemPendingError ...
Cela est apparemment (cf réponse de Scott Szretter sur ce post) aux RSL ou dans notre cas à Flash Builder. La solution est de compiler notre SWF en ligne de commande avec "amxmlc" et pas "mxmlc". Vérifiez aussi que vous n'avez pas oublié de copier le SWF de /src/ dans /bin-debug/ ! (voir plus loin).
Pour me simplifier la vie, j'ai créer une "External Tools Configuration" dans Flash Builder mais le processus peut aussi être fait avec Ant si vous le souhaitez. Dans Flash Builder, rendez-vous dans le menu Run > External Tools > External Tools Configurations… Une nouvelle fenêtre va s'ouvrir. Créez une nouvelle configuration (new launch configuration).
Flash Builder "Burrito" – Les nouveautés (productivité, mobile, …)
Il y a maintenant quelques semaines, Flash Builder "Burrito" est sorti en public release lors du salon Adobe MAX 2010. Je n'avais pas encore eu le temps d'en parler, notamment des nouveautés apportées par cette version, ce qui va être résolu par cet article
.
Notez que cette version est une version "public release", il est donc pour l'instant déconseillé de l'utiliser dans un environnement de production.
Dans ce billet, je vais détailler les évolutions importantes, et notamment celles que je trouve très intéressantes au quotidien. Avant tout, si vous voulez lancer le téléchargement pendant la lecture de l'article, voici le lien:
http://labs.adobe.com/technologies/flashbuilder_burrito/
Améliorer votre productivité au quotidien
C'est selon moi l'objectif principal d'un IDE, de vous accompagner et de vous aider dans votre développement. Flex Builder 3 faisait assez peu de choses et assez lentement. Flash Builder 4 a commencé à corriger le tir en apportant quelques améliorations et en améliorant de manière significative, la vitesse de l'IDE (notamment lors de la recherche de référence et le refactoring). Flash Builder 4 ajoute quant à lui de nombreuses améliorations, dont certaines vraiment indispensables au quotidien.
En côtoyant des développeurs Java au quotidien sous Eclipse, il est parfois rageant de voir qu'ils ont accès à des fonctionnalités très simples telles que la création de variables locales (+refactoring) ou à des templates de code automatiques, lorsqu'il font une itération avec un for each par exemple.
D'ailleurs, de nombreux autres IDEs du marché ont attaqué sur ces points de productivité là. Pour l'instant, les seules alternatives à Flash Builder sont:
- IntelliJ Idea: J'en ai entendu beaucoup de bien dernièrement, notamment au niveau de la gestion des modules. Ne gère pas le dev ActionScript dans sa version gratuite et Open Source, seulement Java et Groovy. Il vous faudra débourser 528 euros pour la version entreprise.
- FDT 4: 700$ pour avoir un Debugger alors que Flash Builder le propose dans sa version standard à 250$, rly?
- FlashDevelop: l'alternative gratuite en .Net
- Amethyst: Pour ceux qui aiment Visual Studio
Après, on pourrait joyeusement "troller" sur tel IDE est mieux que l'autre etc. Pour moi, Flash Builder 4 représente le meilleur rapport qualité / prix / performances / futur.
En tout cas, pour ce qui est des fonctionnalités de productivité, le vide est comblé. En vrac, templates de code en AS3, génération d'event handler, renommage d'une variable dans un fichier ou dans le workspace, génération de classes / interfaces pour les types déclarés mais non reconnus, création de variables locales, complétion de code sur les metadata…
Flex et composants mobile (AIR pour Android – iOS) – L'approche Hero
La dernière release du SDK Flex, Flex 4.5 alias "Hero" comporte des composants prévus pour la mise en place d'interfaces pour mobile. Vous pourrez aller jeter un oeil sur les spécifications de ces composants sur le site qui y est consacré. Par exemple, la spécification sur les composants View et ViewNavigator:
http://opensource.adobe.com/wiki/display/flexsdk/View+and+ViewNavigator
Cela fait quelques mois que la sortie de Hero a pris du retard. Au lieu d'attendre, j'ai préféré prendre les devants et regarder les specs pour voir comment ces composants pouvaient m'être utiles. Les specs sont assez complètes et l'on trouve même les interfaces détaillées (au sens programmatique et au sens graphique). J'ai au départ commencé à faire "mon propre Hero" à partir des specs mais j'ai vite buté sur certains points qui sont, à mon avis, bloquants.
Dans ce billet, je vais présenter l'approche Hero ainsi que celle que j'ai mis en place pour les comparer. Le but est aussi que vous me donniez votre avis, n'hésitez donc pas à utiliser les commentaires !
L'approche Hero
Comme je l'ai dit plus haut, l'approche Hero est bien décrite dans les specs. Mais si vous n'avez pas envie de les lire, mieux vaut faire un petit recap.
On a deux composants principaux: View et ViewNavigator. Une View est un objet graphique représentant un écran de votre application. Un ViewNavigator représente un objet logique, qui va gérer les View.
Le composant ViewNavigator
Le composant ViewNavigator peut facilement être comparé au composant mx:ViewStack. En effet, celui-ci permet la navigation entre des écrans, avec en permanence, une et une seule vue affichée, celle qui est la plus "haut" dans la pile. Mais la plus grande différence est que ViewStack va contenir des enfants graphiques alors que ViewNavigator est un simple objet logique. Les View ne sont pas des enfants de ViewNavigator, elles sont juste traitées par le ViewNavigator.
Pour ajouter une View au ViewNavigator, il faut lui passer la classe de la View (typiquement, un composant qui hérite de View). On ne lui passe pas une instance mais bien une référence vers la classe.
Par exemple, je crée une View nommée MyView.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
title="View">
<s:layout>
<s:VerticalLayout />
</s:layout>
<s:Button label="Push" click="navigator.pushView(MyView)"/>
<s:Button label="Pop" click="navigator.popView()"
visible="{navigator.length > 1}"
includeInLayout="{navigator.length > 1}"/>
<s:Button label="Pop to First View" click="navigator.popToFirstView()"
visible="{navigator.length > 1}"
includeInLayout="{navigator.length > 1}"/>
</s:View>
Et voici le code de mon application principale, ne contenant que le ViewNavigator:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<!-- Create the ViewNavigator and have it display MyView when created -->
<s:ViewNavigator id="navigator" width="100%" height="100%" firstView="{MyView}"/>
</s:Application>
Dans cet exemple, MyView est passée automatiquement au ViewNavigator car elle est précisée dans le paramètre "firstView". Mais si elle ne l'était pas, on aurait du faire:
navigator.pushView(MyView);
Le ViewNavigator va alors instancier la vue et l'afficher. Pour revenir à la dernière vue (typiquement, la touche Back sur Android), il suffit de faire un navigator.popView(). Le ViewNavigator a en interne, une pile, que l'on peut voir comme un Array. Un "pop()" va supprimer le dernier élément de la pile et la vue qui était auparavant avant-dernière sera affichée.
Passage de données à une vue et sauvegarde de l'état applicatif
A chaque ouverture de vue, on peut passer un objet (non-typé dans l'interface, on peut donc passer n'importe quel objet) afin de lui passer de la donnée pour qu'elle puisse s'initialiser. Par exemple pour une vue qui présente le listing d'un répertoire, on va passer le chemin du répertoire à lister à la vue.
Adobe MAX 2010 – Des exclusivités dès le premier jour !
La première keynote Adobe a eu lieu et le moins que l'on puisse dire, c'est qu'elle a tenu ses promesses! Je le rappelle encore une fois, je ne suis pas employé Adobe et n'ai aucun gain à faire la promotion de leurs solutions. Mais il faut avouer que la présentation donnée ce soir laisse rêveur!
Vous pouvez encore voir ce keynote sur le site d'Adobe MAX (http://max.adobe.com/online/).
Pendant 2 heures, Kevin Lynch a présenté les nouveaux outils Adobe et dévoilé de nombreux éléments:
La Flash Platform sur une multitude d'écrans (Desktop, Mobile, Tablet, TV)
L'apparition de nouveaux appareils a changé beaucoup de choses pour nous, développeurs. De nouveaux challenges sont apparus et Adobe nous donne des outils pour y répondre. Je suis d'accord avec tous ceux qui diront qu'Adobe a mis beaucoup de temps pour cela mais on commence à comprendre maintenant que ces efforts portent leurs fruits. En effet, cela fait pas mal de temps (2-3 ans?) que l'on parle de l'Open Screen Project, ce partenariat industriel entre Adobe et les grands constructeurs "d'écran" (HTC, Sony, Samsung, Motorola, et bien d'autres). Mais ce genre de partenariats prend du temps et des ressources, il n'est donc pas étonnant qu'il arrive à montrer ce potentiel après plusieurs années.
Pendant ce keynote, on a donc vu un multitude de device sur lesquelles les technologies Adobe tournent dont (de mémoire):
- Google TV (et autres BoxSet)
- iPad
- Samsung Galaxy Tab, première tablette Android 2.2 qui va sortir bientôt
- BlackBerry Playbook, prochaine tablette Blackberry dévoilée pour la première fois au grand public qui interprète "nativement" des applications AIR !
- Motorola Droid 2, offert à chaque participant à MAX, la chance
- Samsung Galaxy S, HTC Desire et d'autres Motorola
- … et d'autres
On voit la puissance de la Flash Platform au grand complet qui permet d'avoir une intégrité au milieu de cette batterie de plate-formes. A ma connaissance, aucune technologie ne permet de faire cela et des partenariats tels que ceux crées par Adobe ne pourront pas être mis en place par d'autres entreprise en un clin d'oeil. S'engager sur les technologies Adobe n'est donc pas un "pari" mais bien une solution qui a de l'avenir.
HTML5
Adobe n'est pas seulement la Flash Platform, elle développe aussi des outils tels que DreamWeaver qui permettent de créer des sites internet en HTML5. Pendant la keynotes, on a pu voir l'assemblage dynamique d'images et de textes au sein d'un même document, le tout en temps réel, très impressionnant (difficile à expliquer par écrit). Ces développements faits par Adobe seront intégrés aux prochaines versions de WebKit, Adobe ne travaille donc pas uniquement sur des solutions propriétaires.
Adobe AIR on TV
Voici un élément qui n'avait jusque là jamais vraiment été abordé, le domaine des téléviseurs. Le téléviseur fait partie de ces nouveaux écrans sur lesquels on peut produire du contenu. L'exemple donné est celui de la Google TV, qui intègre un OS Android et gère directement Flash Player 10.1 pour la navigation sur Internet (Youtube par exemple). On a aussi pu voir les télés Samsung embarquant un système permettant de jouer des applications AIR sur un téléviseur. L'application exemple était une application AIR de PayPerView directement intégrée au sein du téléviseur.
Tout cela en qualité full HD, décodée par le hardware et donc complètement fluide. AIR on TV se base sur AIR 2.5 qui est sorti de sa beta pour sortir aujourd'hui
Adobe et BlackBerry
Vous le savez sûrement, les applications iPhone natives sont écrite en Objective-C, les applications Android natives en Java. Grâce à Adobe AIR, on peut créer des applications avec AIR et les convertir en applications natives pour ces deux plate-formes. Blackberry se lance lui aussi sur le terrain des tablettes avec son futur BlackBerry Playbook.
Et pour le développement d'applications, BB n'a pas choisit un autre langage que AIR! On a pu ainsi voir que le lecteur multimédia ou le navigateur était des applications Adobe AIR. C'est encore un stade plus avancé d'intégration, lorsque l'on va sur le site BlackBerry développeur pour Tablet OS, on vous propose de télécharger le SDK AIR 2.5. D'ailleurs, celui-ci est maintenant disponible en téléchargement, j'en parlerai dans un prochain article
De nouveaux produits en public pre-release!
Depuis ce matin, Adobe a sorti plusieurs produits en pre-release avec des noms de code plutôt douteux. Je vais y revenir un par un sur flex-tutorial mais voici rapidement la liste:
- Flex 4.5 SDK "Hero" avec composants pour mobiles
- Flash Builder 4 "Burrito" avec intégration complète des développements mobiles et d'autres améliorations pour améliorer la productivité de votre travail
- Flash Catalyst "Panini": Le nouveau Catalyst permet une communication dans les deux sens entre Burrito et Panini (c'est la qu'on se rend compte de la cohérence des noms de code
). Il permet aussi de créer des composants resizable pour la création d'interface fluides pour plusieurs types d'écran.
En plus de cela, de très bonnes ressources (apk, fxp, samples, vidéos…) ont été mis en ligne. Je reviendrais sur ces outils un par un dans plusieurs billets car il y a beaucoup à dire.
Flash Player et la 3D (+ contrôleurs de jeu)
La dernière partie de la keynote fut consacrée aux prochaines possibilités natives de Flash Player. Thibault Imbert en avait légèrement parlé sur son blog et on a pu voir une démonstration vraiment impressionnante des prochaines capacités de Flash Player. Ainsi, on a pu voir le rendu 3D d'une voiture avec reflexion, transparence & co. Et tout cela avec une consommation CPU de 0% ( rendu effectué par le hardware). Et en bonus, Adobe a annoncé qu'il travaillait sur le support des contrôleurs de jeu comme des manettes de XBox et autres.
En fin de démo, Kevin Lynch a donc conduit la voiture dans un jeu entièrement en 3D rendu par Flash Player grâce à un volant + pédalier Logitech. Honnêtement, la qualité était proche de celle de très bon jeux de courses du marché sur console, impressionnant !
Conclusion
Avec toutes ces annonces, Adobe a prouvé à ceux qui en doutaient encore que leurs outils font partie des meilleurs, avec une vraie cohérence entre les plate-formes. Après tout cela, mais nuit vont devoir raccourcir pour vous proposer toujours plus de tutoriaux et d'informations sur flex-tutorial, il faut cravacher pour suivre toutes ces innovations mais je ferai de mon mieux
. Exciting times !
Adobe MAX à Los Angeles dans quelques jours, de bonnes nouvelles en perspectives
Du 23 au 27 Octobre se tiendra la grande messe d'Adobe, Adobe MAX. Lors de ce rassemblement, des dixaines et des dixaines de sessions vont présenter les nouveautés Adobe ainsi que des workshops pour expérimenter par soi-même. J'aurai vraiment aimé participer une fois à cet évènement mais je ne serai pas à Los Angeles malheureusement ^^.
Au passage, le site adobe.com a changé de look, si vous voulez y jeter un oeil.
Sur le blog du Product Manager Flex, on peut lire certains intitulé particulièrement alléchants:
- Flex Roadmap – What’s coming up in the next release of Flex (codenamed “Hero”) as well as what is planned for subsequent releases. I won’t just be focusing on Flex framework UI pieces. We will talk about the next-generation compiler effort and some exciting features being planned for “below the stack” as well as get an update on Flex’s open source efforts and commitments.
- Deep Dive into Mobile Development with the Flex SDK
- What’s New in Flash Builder "Burrito"
Et d'autres que vous trouverez sur la page de son blog:
MAX and must-not-miss MAX sessions
A mon avis, une version de Hero devrait arriver très bientôt, avant MAX je l'espère (le site est down actuellement). Même si j'ai pour ma part crée mon propre framework mobile, cela devrait aider pas mal de développeurs







