Point important sur les décisions d'Adobe sur le futur de la Flash Platform et de Flex
Si vous suivez l'actualité récente d'Adobe, notamment par Twitter, vous savez que les 10 derniers jours ont été mouvementés. Il y a eu des annonces, des rumeurs, des contres-annonces, des excuses et même une pétition. Je vais essayer de résumer la situation et ce que j'en pense.
Il est important de rappeler que je ne travaille pas pour Adobe, pas de directives de mon côté donc, même si ces dernières années en tant que développeur Flex ont fortement orienté mes opinions.
L'histoire est longue, prenez donc un verre (alcoolisé si vous êtes développeur Flex). Tout a commencé par un communiqué d'Adobe:
Flash to Focus on PC Browsing and Mobile Apps; Adobe to More Aggressively Contribute to HTML5
La fin du développement de Flash Player pour mobile
On apprend donc qu'Adobe ne va pas continuer le développement de Flash Player pour mobiles (Android et Blackberry). Une annonce qui en elle-même aurait pu être mieux amenée. En effet, Flash Player sur mobile, notamment sur Android n'était pas anecdotique. Vous vous rappelez sûrement les publicités à la TV pour la tablette Samsung qui peut "lire des vidéos en Flash". Flash Player est dans le top 5 des applications les plus téléchargées sur le Market Android, et c'était un petit pied de nez à Apple.
La version actuelle de Flash Player pour mobile ne sera pas retirée, elle sera juste gelée sur cette version. La première réaction des développeurs de la communauté Flash / Flex fût assez unanime. Personne ne créait de contenu à destination de Flash sur mobile, personne ne perdait donc de business puisque cette plate-forme n'était pas mis en avant dans les phases de vente (ou alors vous avez de très bon commerciaux).
C'était aussi mon avis, d'autant plus que la qualité de cette version de Flash Player laissait à désirer. Propriétaire d'un Android depuis un moment, je sais repérer une page qui a du Flash par le lagg qu'il apporte. A rajouter en plus de cela, les clignotements "volontaires" lors d'un zoom sur la page. L'utilisation de Flash sur Android était assez désagréable, mais ça servait bien pour afficher une vidéo Youtube, et pouvoir cliquer sur le logo pour arriver sur l'application native.
La seconde réaction a été plus terre-à-terre avec des personnes faisant partie des phases d'avant-vente. Pour eux, cela accroît la difficulté de "vendre du Flex" au client, en venant s'ajouter à la mauvaise publicité déjà acquise par le Flash Player (virus, propriétaire, iPad, …). Effectivement, la nouvelle a été relayée par les journaux techniques en ligne rapidement, ce qui prouve aussi l'importance de l'annonce. Le fait est que 99.5% des gens ne font pas la différence entre Flash Player et Flash Player "Mobile". Il y a donc eu une confusion et certains y ont même vu une intervention de Steve Jobs depuis sa tombe. Du grand n'importe quoi.
Le message était assez concis, et a remonté de nombreuses questions auxquelles les employés d'Adobe n'avaient visiblement pas le droit de parler. On a donc eu un silence pendant une journée, avec des évangelistes qui parlent de la senteur de leur nouvel appartement et pas de ce qui préoccupe la communauté. Dans le même temps, Adobe fait l'annonce de ses résultats fiscaux de l'année (apparemment , assez bons) et annonce qu'ils se séparent de 750 employés.
Un cocktail parfait pour attirer les bonnes blagues (j'avoue m'être bien marré sur Twitter) et des rumeurs, qui ne sont pas fait attendre. La première est que toute l'équipe de Flash Professionnal s'est faite licenciée. On apprend ensuite que tout le développement se ferait désormais en Inde. Des rumeurs vites démenties par Mike Chambers, qui en profite pour faire un point sur le futur de Flash Pro.
Flash Professional and the Future
On apprend dans le même temps par @Adobe que les développeurs Flash pourront exporter vers HTML5 dans la version CS6. De quoi se demander à quoi sert Adobe Edge, qui sortait en beta3 dans le même temps. Peut être pour tâter le terrain.
Un rumeur circule aussi, disant que la version 4.6 serait la dernière sortie par Adobe. Elle était bien bonne celle-là, et Falcon on le met au placard?
A la suite du billet de Mike Chambers, de nombreux autres employés / evangelists Adobe ont eux aussi publié un billet expliquant que l'arrêt de Flash Player Mobile permettait à Adobe de se concentrer sur d'autres sujets, et que certains employés avaient été déplacés dans des équipes travaillant sur des problématiques HTML. On nous dit aussi que Flash Player va bien continuer sur le Desktop, avec des améliorations principalement destinées au jeu vidéo (mouse lock, text input full screen lock, Molehill 2, …) et à la vidéo (Dolby 7.1, …).Cool, on sait déjà que ce sont certains des points forts de Flash Player.
Certains dénoncent aussi la "brutalité" du message. Adobe aurait bien pu déprécier le produit pendant 2 ans, comme le fait souvent Google par exemple. Ou simplement le laisser mourir, doucement. Personne ne s'en serait rendu compte. Adobe a sûrement été trop honnête pour le coup.
Et Flex dans cette histoire?
Pendant ce temps-là, les développeurs Flex se demandent un peu ce qu'il se passe, n'ayant pas vraiment des news les concernant directement. Les Product Manager du SDK Flex répondent donc qu'ils préparent un billet pour le lendemain, pour faire le point sur Flex. Je pense que l'on s'est tous attendus à lire un billet nous disant que tout allait bien, que Flex était là pour rester et que la Roadmap annoncé pour MAX allait être respectée. Le genre de message sympa qui allait rassurer la plupart d'entre nous. Au lieu de cela, nous avons pu lire ce billet sur le blog officiel de la Flash Platform:
On apprend rapidement direct qu'Adobe va donner entièrement le SDK en Open Source à la communauté. Vous le savez sûrement, jusque là, Adobe réalisait la maintenance du framework, dont les sources étaient déjà partiellement ouvertes. Là, il ouvrent aussi le code de leurs librairies ainsi que les sources du compilateur. La version 4.6 du SDK Flex va donc sortir le 29 Novembre 2011 (pour une fois qu'on a la date), et ce sera la dernière version maintenue par Adobe. Flash Builder cependant, sera toujours développé par Adobe, en tout cas maintenu pour qu'il puisse fonctionner avec les prochaines versions de Flex. C'est le strict minimum, on ne sait pas s'il contiendra des améliorations ou non, surtout que l'on apprend qu'une partie de l'équipe du Flex SDK a été transférée pour travailler sur du HTML.
Mais ce qui a mis le feu aux poudres, c'est cette auto-question spéciale "balle dans le pied":
Does Adobe recommend we use Flex or HTML5 for our enterprise application development?
In the long-term, we believe HTML5 will be the best technology for enterprise application development
On a donc un billet des Product Manager de Flex qui annonce qu'HTML5 est la solution à apporter désormais, si vous travaillez sur le long terme. Je ne sais pas vous, mais je pense pas que vos clients achètent du jetable qui sera hors-sujet dans quelques temps. Personne ne conçoit des solutions "entreprise" sans penser long terme, je pense. Dîtes moi si je me trompe. A partir de cela, le billet n'apporte pas beaucoup de réponses à toutes les questions que n'importe quel développeur Flex peut se poser à la lecture de cette article (version 5? compilateur HTML? Flash Player open source?). On reste encore sur notre faim.
On apprend dans le même temps que ce qu'Adobe appelle "la communauté" est représenté par le projet "Spoon" dont je vous avais déjà parlé sur flex-tutorial il y a quelques semaines:
http://www.flex-tutorial.fr/2011/08/12/le-projet-spoon-cherche-des-volontaires/
Le but initial du projet Spoon était de travailler main dans la main avec Adobe pour que la communauté puisse participer au SDK Flex, notamment par la soumission et la vérification de patchs. Une volonté assez noble, je m'étais même porté volontaire pour participer à l'époque. Mais vous n'avez peut-être jamais regardé ce qui se passe du côté du projet Spoon, car on entend pas vraiment parler. Le fait est que Spoon en est au point mort. Après l'appel à volontaires, ce sont créés 3 Google Groups qui ont finalement été rassemblés en un Google Group nommé "Open Spoon Community".
Pour l'instant, Spoon n'est qu'une mailing-list, avec 28 membres et un nombre de threads qui peut être compté sur les doigts d'une main de Simspon.
https://groups.google.com/forum/#!forum/open-spoon-community
Avec un long post de M. Labriola qui explique ce qu'il prévoit de faire. Notamment avec Asylum, un projet ambitieux (même qualifié de fou par son créateur) qui permettrait de vérifier la cohérence des patchs en faisant des vérifications sur le bytecode final du SWF. Je vous laisse lire le thread si vous en avez envie:
https://groups.google.com/forum/#!topic/open-spoon-asylum/hi0deRq0V7I
J'avais à l'époque répondu, mais mon message n'a jamais reçu de réponse. Les personnes actuellement responsables du projet Spoon sont très douées, on y compte par exemple M. Labriola, J. B. Campos, Joel Hooks (créateur de RobotLegs), … Mais voilà que soudainement, Spoon récupère le fardeau Flex, ce qui doit pas mal changer leurs plans (je crois avoir lu qu'ils ont appris la nouvelle une semaine avant). Dans le même temps, ils vont aussi récupérer certains développeurs actuels du SDK Flex.
Mon avis sur la situation
La situation est délicate. Adobe annonce que le futur des applications "entreprise" repose sur HTML5 et donne la gouvernance du SDK à un groupe encore jeune qui n'a pas encore fait ses preuves. C'est un peu comme si je vous donnais un yoghurt, en vous disant "tiens je te le donne, il est gratuit mais il est périmé depuis 2 jours, ça devrait passer. En plus il est gratuit, tu devrais être content, non?"
Non. Pas vraiment. Entre les licenciements et les abandons de produits, Adobe a fait un très mauvais travail de communication, même certains evangelists s'en sont excusés. Sauf que ce sont les annonces officielles d'Adobe qui sont relayées par les Business Insider, Le Monde et autres journaux numériques. Pas celles des evangelists. Vous n'avez peut-être même pas remarqué mais pendant ce temps, Adobe AIR 3.1 et Flash Player 11.1 sont sortis en release et le pricing du Creative Cloud a été annoncé.
Ça n'a pas déchaîné les foules, tout le monde étant occupé à discuter de la situation actuelle.
L'ouverture du SDK à la communauté est-elle une bonne nouvelle?
A mon avis, non. Personnellement, j'aime développer en Flex car Adobe avait toujours son aval sur le développement du produit. L'assurance d'avoir un seul Flash Player, maintenu par une seule entreprise est aussi rassurante. Adobe assurait la vie de Flex, notamment grâce aux evangelists, à son avant-vente sur les grands comptes, aux conférences, etc. La qualité des releases restait bonne avec les versions (tous les SDKs ont des bugs mais dans l'ensemble, je trouvais le code de qualité) et le rythme des sorties était annoncé. Là, on vient de passer le SDK au projet Spoon qui selon moi, va avoir du mal à assumer une telle responsabilité. Maintenir et faire évoluer un SDK requiert plus de bras et d'énergie que quelques volontaires qui travaillent sur leur temps libre. Je ne pense pas que Spoon soit assez mûr pour assumer tout cela, quand on voit la taille importante de l'équipe autour de Flex.
Après, certains pourront me citer quelques "success story" de l'open source, mais personnellement, j'y vois beaucoup d'échecs. Mais même si Spoon arrive à se mettre en route rapidement, il va devenir encore plus difficile de "vendre du Flex" quand ses parents viennent de se séparer de lui en clamant que HTML5 représente la solution sur le long terme. Dans tous les cas, la version 5 de Flex n'est pas prête de sortir, surtout avec les ambitions affichées par Adobe lors de MAX.
Je me souviens d'une présentation assez générale sur les projets Open Source de Julien Ponge (créateur d'Izpack) lors du LyonJUG qui était très intéressante. Notamment lorsqu'il a dit que souvent, les projets étaient rendus "open source" pour les mauvaises raisons. Les 2 grandes raisons étant : un produit en fin de vie que l'on pense renaître de ses cendres grâce aux "justiciers de l'open source", ou un produit qui ne décolle pas. L'impression qui est donnée reste quand même qu'Adobe essaie de se débarrasser de Flex. Maintenant, si aucune nouveauté n'est apportée dans les prochaines versions de Flex, personne ne pourra accuser directement Adobe.
HTML5? rly?
Je ne pense pas qu'il faut vraiment attribuer ces mots aux Product Manager de Flex, il ne font que relayer un changement de stratégie de l'entreprise. Attention à ne pas taper sur le messager.
Je ne vais pas commencer un troll massif sur HTML5 vs Flex/Flash, vous en avez sûrement trop entendu. Le fait est que dans certains cas, les technologies autour de HTML5 sont suffisantes pour arriver à faire une application, mais parfois l'utilisation de Flash apporte des améliorations fonctionnelles (l'upload de base dans GMail et WordPress passe par un Flash). Parfois, elle est même nécessaire car il y a certaines choses que l'on ne peut simplement pas faire avec un HTML/JS/CSS (affichage de la webcam, manipulation sur ByteArray, …). La création d'applications "entreprise/intranet" n'est pas encore au point avec HTML5. En tout cas, aucune solution ne s'est imposée.
C'est un peu la panique sur Twitter depuis cette annonce d'Adobe. Les evangelists essaient de sauver la mise avec des billets pleins d'espoir mais il faut savoir que la communauté des développeurs Flex a pris un grand coup en quelques jours. Les développeurs ayant de l'expérience en Flex (voire une expertise) et ayant déjà touché au développement HTML savent que le développement d'application "entreprise" avec du JavaScript est une plaie. Ce que l'on appelle HTML5 (CSS3/SVG + HTML/JS) est principalement un buzzword. La plupart annoncent qu'ils "font du HTML5" en utilisant jQuery, une librairie supplémentaire avec un nom farfelu, et des transitions CSS3. Au final, ce n'est pas vraiment de l'innovation. Pour les développeurs habitués à un langage compilé comme l'AS3, on pense même faire 2 pas en arrière, notamment quand on essaie d'appliquer nos connaissances en OOP ou en modularité (programmation évènementielle, …).
Alors forcement, quand Adobe annonce à des milliers de développeurs que le Flex c'est has been, et que HTML5 c'est top, c'est la grosse confusion, et personne ne souhaite faire ces 2 pas en arrière.
Le futur de Flex tel que je le vois
Je ne sais pas vraiment si on peut m'appeler développeur "senior", vu que j'ai commencé le développement il y à peine 3 ans, à la sortie mon école d'ingénieur (j'ai 25 ans). Ayant été baigné directement dans Flex, et travaillant quotidiennement sur des projets Flex, j'ai acquis une certaine expertise sur Flex toutes proportions gardées. La rédaction de flex-tutorial m'a aussi donné l'opportunité de faire un gros travail de veille pendant ces 3 dernières années, pendant lesquelles je n'ai pas chômé. Je ne peux donc pas faire de comparaison avec ce qui s'est passé chez Oracle ou chez Microsoft il y a des dizaines d'années, désolé pour les nostalgiques
.
Durant la dernière année, j'ai été ACP (Adobe Creative Professionnal) et j'ai aussi fait partie d'une sorte de pre-prerelease privée chez Adobe, ce qui m'a donné l'occasion de participer à des webinars ou d'obtenir des versions alpha de Flex / Flash Builder. Un "coup d'avance" assez appréciable quand on essaie de tenir son blog à jour. Ce changement de stratégie a cependant été annoncé du jour au lendemain, ce qui a provoqué la surprise de la communauté, moi y compris.
Une mesure plus graduée aurait été appréciable, le temps que le projet Spoon soit up and ready. J'aurais voulu lire qu'Adobe travaillait avec les responsables de Spoon depuis des mois, avec un process sans faille, des patchs déjà acceptés dans le SDK et une vraie vision de l'avenir. Au lieu de cela, Adobe annonce qu'il refile le bébé au projet Spoon. Déroutant.
Flash Player sera encore là pendant plusieurs années, ça j'en suis sûr. Le parc installé est suffisant pour cela. Flex sera encore présent pendant longtemps, sûrement plusieurs années. Pas vraiment grâce à Adobe, le fait est simplement que Flex est utilisé par des milliers de développeurs / sociétés, ayant conçu des applications de haut niveau, difficilement portable en HTML. La transition en HTML de ces applications n'apporterait sûrement pas d'améliorations, je doute que les clients aient beaucoup d'argent à mettre la dedans, surtout que la complexité d'un développement en HTML risque de rendre la note salée.
A mon avis, le projet Spoon n'aurait pas les épaules suffisamment solides pour soutenir le SDK Flex. Je serais vraiment surpris de voir que le projet a fait de grandes avancées sur le programme de Flex 5 dans quelques mois. Et je n'ai pas vraiment envie d'attendre.
Un compilateur Flex vers HTML? Flash Player Open Source?
Beaucoup ont pensé qu'il fallait donc une porte de sortie, comme un compilateur Flex vers HTML, et pas Flex vers SWF. Même si je doute de la possibilité de réaliser ce compilateur, le résultat ne sera jamais à la hauteur des espérances des développeurs. Prenons par exemple Adobe Edge (ou Muse) ou Vaadin (qui s'appuie sur Google Web Toolkit) qui créent un code plus que discutable, dont les performances ne sont pas au rendez-vous. Je ne pense pas qu'il faille espérer ce compilateur comme s'il était le messie.
Le passage en Open Source de Flash Player serait aussi, selon moi, un mauvais move, notamment pour les raisons évoquées plus haut. Un Flash Player open source ne va pas vous amener Flash Player sur iPad. En fait, je ne vois même ce que cela changerait à l'histoire, à part plus de confusion et une décision qui ressemble plus à un échec. Beaucoup ne sont pas de mon avis, ce qui est aussi compréhensible
.
Conflits d'intérêt
Si Spoon ne peut faire évoluer Flex dans des temps corrects, il reste que l'éco-système Flex n'est plus le même. Je doute qu'Adobe continue à envoyer des evangelists de par le monde pour faire la promotion de Flex après une annonce comme celle-là. La situation est vraiment complexe, car Adobe libère Flex mais reste le principal acteur dans le développement de Flash Builder et de Adobe AIR. Ce n'est pas clair, et je vois mal comment cela peut se passer sans conflits d'intérêt (comment faire évoluer AIR sans avoir totalement la main sur l'évolution de Flex).
Adobe semble rester accroché à AIR pour la création d'applications multi-plateforme sur mobile. Mais dans le même temps, Adobe rachète PhoneGap, qui permet de faire des applications natives à partir de contenu HTML (avec notamment un système de build automatisé très cool). PhoneGap est par exemple déjà utilisé dans Dreamweaver CS5.5. Qui peut assurer qu'Adobe va continuer à supporter AIR et ne pas retourner sa veste comme cela s'est passé cette semaine?
Selon Adobe, l'avenir des applications business est dans HTML5 et pourtant, ils ne proposent aucune solution viable, aucune porte de sortie. Un des gros points forts du couple Flex / AIR + mobile était de pouvoir profiter de la même base de code, pour cibler plusieurs plate-formes. Si je commence à faire du HTML pour le web, je ne vais pas maintenir 2 bases de code, une en HTML pour le web et une en AS3/Flex pour le mobile afin de pouvoir exporter avec AIR. Avec AIR, Adobe va donc cibler encore une fois le gaming et plus l'aspect business.
Difficile de continuer à avoir confiance après ces annonces successives, surtout un mois après MAX, qui semble avoir été une belle mascarade. Ce type de changements n'aurait pas du se passer à travers des blogs, il aurait du être préparé et annoncé à MAX, de manière claire.
Et toi, tu fais quoi?
Le constat est difficile, Flex me semble avoir commencé son déclin. Avec un blog tel que flex-tutorial.fr, vous vous doutez bien que ça remet les idées en place. Je me suis laissé quelques jours pour y réfléchir et rien n'est vraiment certain. J'ai consacré des centaines (milliers?) d'heures / soirées / week-end sur ce blog, de manière complètement volontaire car je trouvais / trouve que Flex est un excellent produit. Il semble que Flex soit maintenant tombé dans le marché de "niche", c'est-à-dire qu'il pourra servir à répondre à des clients ayant une infrastructure ancienne (support de IE) ou pour certaines applications qui sont tout simplement impossible de réaliser avec du HTML/JS/CSS.
Je pense que je vais faire un break sur la rédaction de flex-tutorial, un break qui sera peut-être définitif. Je ne vois pas vraiment ce qui va me redonner confiance en Adobe dans les prochains mois, mais il ne faut jamais dire jamais.
Je vais essayer de diversifier mes horizons, notamment en m'intéressant de plus près au Play! framework, qui m'a vraiment séduit lors de ma première prise en main il y a quelques semaines. Avant cela, je vais quand même publier le tutorial que j'ai promis sur Twitter, sur la création d'un clone d'Angry Birds avec le framework Starling. J'attends simplement que le projet Starling sorte de sa phase de beta, car je n'ai pas envie de tout ré-écrire si un préfixe est ajouté à toutes les classes du framework. Il faut avouer que faire du développement en AS3 est plus qu'appréciable, peut-être que faire un peu de gaming de me ferait pas de mal
.
Un commentaire? Une question?
Si vous souhaitez réagir à ce billet, et je vous y invite, vous pouvez utiliser les commentaires ce cet article. Si vous êtes sur Lyon, on pourra aussi en parler au Flex User Group de ce Jeudi
Fabien
Flex Tips – Error #2044: ErrorEvent non pris en charge : text=Error #3702: Context3D non disponible [Résolu]
Un petit "tip" sur un problème qui m'est arrivé en testant le framework 3D pour Flash Player "Minko". Après pas mal de modifications dans le panel "ActionScript Compiler" (ou "Flex Compiler" si vous êtes sur un projet Flex), j'ai eu l'erreur:
Error #2044: ErrorEvent non pris en charge : text=Error #3702: Context3D non disponible.
Assez mystérieux mais en fait très simple à résoudre. Le problème est le mode d'affichage de Flash Player. Pour profiter de Stage3D et de capacités GPU, le wmode doit être fixé sur "direct". Le wmode est un attribut placé au moment de l'intégration du SWF dans la page web HTML.
Le template html contenu dans le dossier html-template de votre projet est en fait régénéré à chaque fois que vous faites une modification dans le panneau ActionScript Compiler pour correspondre à un template par défaut.
Pour corriger ce problème, il faut simplement ajouter le paramètre dans /html-template/index.template.html, dans le code JavaScript:
...params.bgcolor = "${bgcolor}";
params.allowscriptaccess = "sameDomain";
params.allowfullscreen = "true";
params.wmode = "direct";
var attributes = {};
attributes.id = "${application}";
...
Sortie de Flash Player 11, AIR 3, Flex / Flash Builder 4.6 et Adobe MAX!
Si vous vivez dans une cave ou que vous n'êtes pas sur Twitter, vous n'avez peut-être pas entendu les dernières annonces faites par Adobe. Voici donc un petit récapitulatif.
Flash Player 11 et AIR 3 ont été annoncé pour "early October". Petit rappel en passant, Adobe Max, c'est du 1er au 5 Octobre. Même si vous n'êtes pas très fort en devinette, je pense que vous avez compris le message
.
Flash Player 11
Même si les dernières versions de Flash Player (10.1, 10.2 et 10.3) étaient notées comme des versions mineures alors qu'elles apportaient de grosses modifications comme StageVideo, on a ici affaire à une version majeure qui vaut son pesant d'or.
Petit aperçu des fonctionnalités:
- Player 64-bits sur Linux, Mac et Windows. Vous pouvez donc utiliser la version 64-bits de votre navigateur sur votre système 64-bits avec Flash Player. Il y avait eu la version "Square" sur les labs pendant un moment. Le support des systèmes 64-bits est maintenant direct
- Stage3D "MoleHill": Des APIs bas niveau permettant de profiter de l'accélération graphique de votre GPU. Il devient ainsi possible de créer des jeux de qualité (démo http://goo.gl/DJKzs). Notez que vous n'allez pas vraiment utiliser MoleHill directement mais des API plus haut niveau comme Flare3D, Alternativa 3D et les autres qui finissent en 3D
- Support natif du JSON: Amélioration (très importante) des performances de parse des données au format JSON.
- … bien d'autres : http://www.adobe.com/devnet/flashplayer/articles/whats-new-flash-player11.html
AIR 3
- Tout ce qui a été évoqué pour Flash Player 11
- Stage3D pour le Desktop seulement (le mobile devrait arriver plus tard)
- Extensions de code natif: Sûrement la plus grosse amélioration sur AIR depuis longtemps. Vous pouvez accéder aux API du système de manière directe, sans être bridé par les APIs proposées par AIR. Cela se passe en écrivant du code natif sur la plate-forme (C++ sur Windows, Objective-C sur iOS ou Java pour Android). Notez que ces librairies peuvent être partagées, il y aura donc bientôt de nombreuses librairies natives crées par la communauté et vous n'aurez qu'à les utiliser dans vos projets, sans jamais vous occuper du code natif qui est derrière. Les possibilités sont illimitées et vont repousser ce que AIR sait faire sur mobile. On peut ainsi penser aux notifications, à l'accès aux contact, au NFC, …
- Captive Runtime: là aussi, grosse amélioration puisqu'il est possible de livrer une application avec le runtime AIR en un seul package. Plus d'installation nécessaire, plus de runtime partagé, vous pouvez donc transporter votre application sur un clé USB etc. Disponible sur Android et Desktop (déjà disponible sur iOS depuis la sortie de AIR 2.6)
- Background Audio Playing sur iOS: Lecture d'audio en background sur iOS pour des applications de type station radio par exemple
- StageVideo pour mobile
- Support de la caméra frontale (iOS et Android)
- Champ text natif (iOS et Android): Permet d'avoir de vrais champs texte natif, avec par exemple la gestion du copier/coller sur Android ou les réglettes de sélection
- … bien d'autres http://www.adobe.com/devnet/air/articles/air3_whatsnew.html
Flex et Flash Builder 4.6
Au menu de ce Flex 4.6, principalement de nouveaux composants pour mobile:
- SplitViewNavigator qui permet d'avoir deux ViewNavigator côte à côte pour des applications dédiées aux tablettes. Le SVN contient certaines APIs qui vous permettent d'automatiser certains comportements comme la gestion portrait / paysage ou l'affichage du VN de gauche dans un Callout (pop-up)
- Callout & CalloutButton : Composant générique qui permet de faire une sorte de pop-up contextuelle (très utilisée sur iOS)
- SpinnerList & SpinnerListContainer: Composant qui fait une liste avec un "wrap" c'est à dire une liste au défilement infini. Le composant SpinnerListContainer permet de skinner facilement la SpinnerList pour lui donner une forme de "rouleau"
- DateSpinner: Composant à rouleaux permettant de choisir une date (très iOS). Possibilité de customiser facilement le composant, pour notamment le passer en français
- ToggleSwitch: Sorte de CheckBox avec un état ON et un état OFF (très iOS)
- … avec quelques screenshots http://www.adobe.com/devnet/flex/articles/whats-new-flex-flash-builder-46.html
Si vous étiez au Flex User Group à Bordeaux il y a quelques jours, vous avez pu voir ces composants en exclusivité !
Et sinon:
- De meilleures performances
- Compatibilité avec les prochaines versions des plateformes mobiles, notamment iOS5
- Support des Native Extensions et de l'export en Captive Runtime directement sous Flash Builder
- Support du Network Monitor pour les applications mobiles depuis Flash Builder ainsi que des tests unitaires avec FlexUnit
- Une super Welcome page dynamique
Inscrivez-vous à la pre-release
Flex / Flash Builder 4.6 ne sont pas encore de la partie mais vous pouvez vous inscrire à la pre-release qui va démarrer bientôt. Pour tous les développeurs Flex, je vous conseille *très* fortement de vous inscrire, c'est une très belle opportunité de contribuer avec la communauté avec un forum très actif:
Inscription au programme de pre-release Flex et Flash Builder
Adobe MAX
Adobe MAX approche à grands pas (1-5 Octobre) avec certaines annonces un peu téléphonées et d'autres qui restent surprise. On a appris il y a quelques temps la sortie d'un framework nommé Starling, développé par Thibault Imbert (Chef Produit sur la Flash Platform) dont personne n'avait entendu parler. Juste pour en toucher 2 mots, ce framework permet de faire de la 2D (Sprites) accélérée par le GPU, avec donc de très bonnes performances.
Bref, préparez-vous à en prendre plein les mirettes!
Si vous voulez suivre l'évènement en streaming, veuillez vous inscrire à cette adresse:
http://www.max.adobe.com/online/
Perso, je serai en vacances au soleil (et oui), je ne pourrais donc pas vous faire un rapport live comme l'an dernier. Et si vous voulez tout savoir, vous pouvez aussi participer à "Back from MAX" le 27 Octobre à Paris:
Le projet Spoon cherche des volontaires
Les "anciens" du monde Flex s'en souviennent sûrement, en mars 2009 a eu lieu le Flex SDK Bug Quash. Le but de ce Bug Quash était d'aller voir les bugs de Flex rentrés dans le JIRA, effectuer un correctif puis proposer un patch. Il y avait même un système de point avec un ninja, c'était assez bien fait. A l'époque, le SDK Flex était très Open Source, dans le sens où vous aviez accès au /trunk officiel du SDK.
Depuis, la situation a évolué. Le framework Flex est toujours Open Source mais "moins" dans le sens ou vous avez accès aux versions stables (release) et plus au trunk depuis le site officiel:
http://opensource.adobe.com/wiki/display/site/Source
Alors pourquoi ne pas partager le trunk comme avant? Et bien cela vient du fait que Flex et AIR se basent sur les APIs Flash Player. Celles-ci sont en constante évolution, vous pouvez d'ailleurs allez télécharger la dernière beta de Flash Player 11 depuis l'incubator:
http://labs.adobe.com/technologies/flashplatformruntimes/flashplayer11/
Les APIs Flash Player ne sont pas, elles, Open Source. Il y avait donc un conflit à ce moment-là, et les sources que vous auriez dans le trunk n'auraient pas pu être compilées parfois puisque le trunk des APIs Flash Player n'était pas partagé. Bref, je pense que vous avez compris (enfin j'espère).
Le projet Spoon
Le projet Spoon est né de l'initiative de certaines personnes (hors Adobe) qui veulent relancer l'intérêt de la communauté des développeurs Flex dans la contribution au SDK.
Un site web est consacré au projet pour toutes les informations:
http://www.spoon.as/core-values/
Le but du projet est de construire une organisation (pas 3 personnes qui se sont mis d'accord sur Twitter) afin de travailler de près avec les équipes du SDK chez Adobe. Cette coordination permettrait de proposer des patchs de qualité, revus par l'équipe de Spoon, ce qui permettrait un traitement plus rapide du côté d'Adobe. Pour pouvoir s'assurer que les patchs ne "cassent pas tout", le but est aussi de pouvoir intégrer toute la batterie de tests de l'équipe QA de Flash Player.
Bref, un projet très intéressant qui est là pour durer. Si vous souhaitez en savoir plus, 2 sessions de Q&A sont prévues mardi prochain le 16 Août:
http://www.spoon.as/2011/spoon-introductory-meeting/
Recherche de volontaires
Le projet Spoon recherche des volontaires. Si vous voulez mettre les mains dans le cambouis, c'est une opportunité exceptionnelle ! Voici le détail:
http://www.spoon.as/2011/call-for-volunteers/
Si vous avez des doutes, demandez aux responsables de Spoon (@jonbcampos par exemple) sur Twitter ou posez vos questions pendant le Q&A. En tout cas, je me suis proposé comme volontaire, j'espère que d'autres français seront aussi intéressés !
Flash Player Molehill 3D disponible en beta public
On en avait eu la démonstration lors d'Adobe MAX en Octobre dernier, la prochaine version majeure de Flash Player (Flash Player 11 "Molehill") va introduire de nouvelles API bas niveau. Ces APIs seront principalement utilisées pour les contenus 3D qui seront accélérés par le GPU (votre carte graphique) au lieu du CPU (votre processeur).
Vous pouvez dès à présent utiliser ces nouvelles APIs grâce au "Adobe AIR and Adobe Flash Player Incubator". C'est une nouveauté pour Adobe qui partage maintenant des builds *très très* "early" aux développeurs pour avoir un maximum de feedback et des testeurs.
Rendez-vous donc sur ce nouveau site pour télécharger une version "early" de Flash Player 11 que vous pourrez installer sur votre navigateur:
Adobe AIR and Adobe Flash Player Incubator
Une fois que vous aurez consulté cette page, vous serez sûrement intéressé par les pages suivantes:
Digging more into the Molehill APIs
Molehill from scratch with Adobe Flash CS 5
Changing the web, again. by Thibault Imbert
Adobe AIR and Flash Player releases blog
Attention, ces versions de Flash Player que vous pouvez télécharger ne sont pas des versions de production et contiennent encore des bugs. Il est donc conseillé de les utiliser au jour le jour.
Pourquoi utiliser le GPU?
On entend de plus en plus parler d'applications utilisant le GPU, que ce soit Flash Player ou HTML5 avec la future version d'Internet Explorer (IE9). Alors pourquoi autant de bruit autour du GPU? Et bien lorsque votre ordinateur exécute des programmes comme votre navigateur ou Word, il va utiliser le processeur (CPU) pour réaliser les calculs nécessaires. Même si les CPU sont de plus en plus puissants, ils sont parfois insuffisants pour des calculs lourds et lorsque l'on atteint cette limite de processing, c'est toute la machine qui se met à ramer.
Pendant ce temps-là, votre carte graphique (GPU) se repose tranquillement, car celle-ci n'est vraiment utilisée que lorsque vous jouez à des jeux en 3D. Pourtant, une carte graphique est (pour faire simple), uniquement un système permettant de faire des calculs mathématiques à grande vitesse, et celle-ci peut traiter beaucoup (beaucoup beaucoup) plus de ces calculs que votre CPU.
Ces nouvelles technologies qui utilisent le GPU vous permettent donc d'utiliser toute la puissance de votre machine, sans en faire souffrir les autres applications. Adobe a déjà commencé à aller dans ce sens en introduisant "StageVideo" dans la version 10.2 de Flash Player, qui permet de laisser le GPU faire le travail (lourd) de décodage de la vidéo. Les performances ressenties de votre machine seront donc bien meilleures (fini le ventilateur qui se met en route).
Des APIs bas niveaux que vous ne verrez sûrement jamais (c'est tant mieux)
Molehill vous donne donc accès à des APIs très bas niveau pour manipuler des objets 3D (vertex, shaders & co). Vous ne trouverez cependant pas d'API "haut niveau" dans les API de Molehill, comme celles que vous pouviez trouver dans Away3D ou Papervision (scènes, camera, physics, lighting, …). Au premier abord, on pourrait donc croire que vous allez donc tout vous taper vous-même…
Et bien non, ce travail très spécifique va être réalisé pour vous par des spécialistes de la 3D. Ce n'est pas Adobe qui va sortir ces APIs mais bien des frameworks tels qu'Away 3D ou Unity3D. Voici ces partenaires qui ont travaillé avec Adobe pour utiliser les toutes dernières API de Molehill:
Il n'y aura donc pas d'implémentation Adobe mais bien N implémentations réalisées par différentes équipes. Ce sera donc "que le meilleur gagne"
. Cette concurrence induite devrait selon moi permettre aux différents frameworks de se dépasser et de faire de leur mieux pour prendre la place de numéro 1 dans le coeur des développeurs.
Il y a notamment beaucoup à attendre d'Unity 3D qui permettait déjà d'exporter pour iOS, Android et XBox et qui travaille actuellement sur un build Unity 3D pour Flash Player.
Bref, attendez vous à voir arriver de petites merveilles en 3D dans votre navigateur courant 2011.
Des tutoriaux Molehill sur flex-tutorial?
Vous ne verrez sûrement pas de "tutoriaux Molehill" sur flex-tutorial.fr pour plusieurs raisons:
- Les APIs bas niveau de Molehill doivent être manipulées par des spécialistes des traitements 3D. Les développeurs ayant vraiment besoin de les utiliser sont les devs des frameworks cités plus haut et non pas les "end-developpers". Le public est donc réduit et je n'ai pas les compétences en processing pour faire le malin sur ces sujets-là
- Le public visé par Molehill est principalement celui des jeux vidéos. Les développeurs Flex qui créent des applications "entreprise" ne seront que peu concernés par ces améliorations. Il y a cependant certains domaines qui peuvent vous permettre d'utiliser ces nouvelles capacités. En cartographie par exemple, on pourrait afficher des rendus de MNT (Modèle numérique de terrain) directement dans le navigateur au lieu d'utiliser des ActiveX et autres plug-ins externes. Dans tous les cas, vous pourrez trouver des tutoriaux plus poussés sur les sites des différents frameworks.






