Les nouveautés de Flash Player 10

J’étais ce matin (15/10/2008) chez Adobe pour une présentation de Thibaud Imbert sur les nouveautés du Flash Player 10. Celui-ci en a profité pour aussi dire un mot du nouveau Flash CS4.
Voici ce que j’en ai retenu de tout ça (il y a inévitablement un peu de perte !)

  • Flash CS4
    possibilité de linker avec des .swc (utile par ex si on a besoin d’une classe Flex telle que RemoteObjet)
    refactoring au niveau de l’éditeur d’animation : finies les images-clef, on fait du drag&drop de la forme, cela crée une trajectoire, qu’on peut de surcroît éditer ensuite (déformer, pivoter…)

Les nouveautés Player 10 :

  • Vector
    Nouvelle classe, qu’il faut préférer à Array car a de meilleures performances, surtout si le Vector est initialisé et fixe, mais même sans (2x). Attention, elle a toutes les méthodes de Array sauf sortOn(). Autre inconvénient, pas de pont avec les collections Flex (e.g. ArrayCollection).
  • FX-G
    Pour préparer l’arrivée de Thermo, un nouveau format d’échange de composants graphique : le FX-G (ex MXML-G). Cela permet d’échanger des graphiques entre applications Adobe (par ex. Fireworks vers FB)
  • Pixel Bender (ex Hydra , techno AIF)
    C’est un langage de programmation que développe Adobe pour du traitement d’image intensif (voir ici pour plus d’infos). Cela permet par exemple de parcourir plus rapidement et efficacement des gros bitmap (par exemple, je veux passer une image en N&B, je parcours tous les pixels et reconstruis une nouvelle bitmap -> là c’est intéressant de passer par Pixel Bender). L’IDE spécifique (Adobe Pixel Bender Toolkit) permet d’éditer et compiler de nouveaux filtres ou effets.
    Malheureusement : c’est hors IDE Flash (Adobe Pixel Bender Toolkit) et c’est en pseudo-C !
  • 3D
    Une nouvelle API 3D native (ou plutôt 2,5 D) : pour donner de la perspective à des objets 2D. Cela permet de faire quelques animations sympas en quelques lignes de code, sans pour autant embarquer l’encombrant Papervision ou autre.
    (Air >= 1.5 pour cette API)
  • Flash Text Engine
    une API de 32 classes très bas niveau pour dessiner … du texte. L’API est tellement bas niveau qu’un composant devrait voir le jour (montré en séance) illustrant comment on peut se servir de cette API.
    Disons simplement que ça améliore le rendu des polices (notamment au niveau de l’anti-aliasing, des polices asiatiques etc..)
  • FileReference
    Permet un accès local load/save pour éviter de passer par un serveur -> performance décuplée évidemment (par ex, vidéo de la webcam locale, image transformée etc.. tout ça reste sur le client)
    On peut même faire de la génération PDF côté client (pas besoin de LiveCycle ? ;-) )
    Le save/load ne se déclenche qu’à l’initiative du client (i.e. MouseEvent) pour d’évidentes raison de sécurité (le même genre de sécurité qui empêche du code malveillant de déclencher une webcam à l’insu du user … ;-) ho ho)
    Mais quid de l’accessibilité (puisque seulement via MouseEvent) ?
  • Les améliorations "cachées" :
    - Nouvel événement Event.EXIT_FRAME : bof, par contre Thibaud rappelle  que le Event.FRAME_CONSTRUCTED est déclenché juste avant l’appel des constructeurs du frame, et donc semble plus utile
    - On peut setter le curseur avec ceux de l’OS (requis par buzzword par ex)
    - Accélération GPU : grosso modo, l’oublier (ça ralentit les performances !) sauf si video full screen
    - Loader.unloadAndStop(GC) : si GC=true, cela déclenche le GC. Eh oui, avant quand on déchargeait un swf de l’application, la musique, les vidéos etc.. continuaient de jouer !
    - gotoAndStop est synchrone maintenant (avant le goto menait à un état où les objets n’etaient pas encore disponibles et renvoyaient null)
    - on peut aller jusqu’à 16 Millions de pixels (par ex 4095 x 4095 au lieu de 2880 x 2880), mais attention à la mémoire !!
    - Génération de son : on peut générer du son en local, et par exemple envoyer le PCM à la carte son (44,1 kHz)
    - Accès au clavier (space, <-, -> etc..) en fullscreen
    - Dynamic Streaming : FMS et le client peuvent se parler pour s’adapter aux contraintes réseaux et bande passante
    - RTMFP (Real-Time Media Flow Protocol, c’est en UDP donc plus performant, cf. Tibco RendezVous !) : permet de faire de peer-to-peer entre 2 clients flash. Mais nécessite un handshake avec FMS (Flash Media Server)  : on peut penser que ce handshake va être rapidement codé par la communauté en java ou php ou par Red5 ce qui s’affranchirait de FMS (payant)
About these ads

Une réponse à Les nouveautés de Flash Player 10

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Suivre

Recevez les nouvelles publications par mail.

%d bloggers like this: