1. Flex 4.5 Air 3.0
Les nouveautés en Flex 4.5 et Air 3.0
(Hors mobile)
Mathurin BODY
2. Flex 4.5(.1)
• Flex 4.5 : depuis le 3 mai 2011
• Flex 4.5.1 : depuis le 20 Juin 2011
Trois principaux axes d’améliorations :
Développement Développement
Evolutions de
d’applications d’applications
Spark
mobiles larges
3. Evolutions de Spark
• Nouveaux composants Spark et nouvelles capacités
• Améliorations des composants existants
• Intégration des librairies et des runtimes Flash 10.2
• Amélioration de la gestion des vidéos et des textes
4. Evolutions de Spark : DataGrid
• Contrat de skinning Spark :
Selection, hover, row/colum separator, caret
et row background graphics sont skinnables
Headers entièrement customisables
• Sélection simple, multiple, par ligne ou cellule
• Spark Datagrid n’étend plus la classe List (pour menu ou combo)
• Scrolling horizontal/vertical glissant
• Redispatch des évènements souris
• Meilleures performances que la mx:DataGrid
• Support de dataProvider dynamique (AsyncListView)
http://www.jamesward.com/2010/10/11/data-paging-in-flex-4/
5. Evolutions de Spark : DataGrid
Mais il manque encore certaines fonctionnalités…
• Les structures de données hiérarchiques
Créer un itemRenderer
http://blogs.adobe.com/aharui/2011/02/sparkdatagridwithhierarchy.html
• Le regroupement de colonnes
Column header est une skin part
Remplacer le column header pour simuler un groupe
• Le column locking
Sur la roadmap pour Flex 5
• La sélection de colonnes
Doit être implémentée
• Footers
Doit être ajouté à la skin
http://blogs.adobe.com/aharui/2011/02/spark-datagrid-footers.html
• Built-in Drag & Drop
Sur la roadmap pour Flex 5
http://blogs.adobe.com/aharui/2011/03/spark-checkbox-datagrid-with-drag-and-drop-support.html
6. Evolutions de Spark : Form
<s:Form>
• Composants skinnables
• Gestion des layouts avancée (horizontal ou stacked) mais
également personnalisable
• Colonne dynamique pour gérer l’affichage d’aide
contextuelle ou message d’erreur
• Séquence des formItems
• Gestion des largeurs
de colonnes par pourcentage
7. Evolutions de Spark : L10N
Formatters et validators Spark
• Fourni un comportement propre au Local basé sur Flash
Player 10.1 globalization APIs (Locale de l’OS)
• Number, Currency, Date/Time formatters & validators
• Tri selon les règles spécifiques de la locale
• Style ‘locale’ appliqué au niveau de l’application et utilisé
pour toute opération propre à la localisation
8. Evolutions de Spark : Image
Spark Image et BitmapImage
• Gestion des skins
• Scale mode (strech ou letterbox)
• Paramétrage de la qualité d’affinage de l’image sur scale
ContentCache
• Mécanisme extensible de caching et queueing du
chargement de contenu distant (amélioration du Loader)
9. Evolutions de Spark : Autres
SkinnablePopUpContainer
• Gestion plus simple et directement en mxml des boites de
dialogue, alerte, fenêtres modales
TextInput, TextArea, Combobox
• Ajout de texte prompt
Module et ModuleLoader
• Principe de skin pour les modules
• Module étend SkinnableContainer
• ModuleLoader étend Group
mx.utils.LinkedList
• Implémente une liste doublement liée
10. Amélioration des textes et des vidéos
Support de OSMF 1.0
• Bugfixes
• Support de HTTP stream : <s:VideoPlayer source="…"/>
Support de TLF 2.0
• Moteur de texte de base pour les composants Spark
• Amélioration des performances (scroll,
affichage de textes longs, …)
11. Développement d’applications Larges
Développement Développement
Evolutions de
d’applications d’applications
Spark
mobiles larges
Améliorations du compilateur du Flex SDK 4.5
• Diminution de la charge mémoire
• Diminution du temps de compilation
• Amélioration de la logique de liaison des RSLs
20 % de gain (durée et mémoire) pour un projet de taille moyenne
12. Gestion des RSLs
Meilleure gestion des RSLs
• Suppression des RSLs non utilisées
• Détection au niveau des modules des RSLs chargées par le
parent ou un module frère
• Le Framework Flex a été redécoupé en plusieurs RSLs pour
limiter les imports de RSLs (e.g. séparation Spark/Halo)
• Réintroduction de la technique du monkey-patch (supprimée
en 4.0 et 4.1) (surcharge des classes du SDK par RSLs).
• Chargement en parallèle des RSLs
13. Flash Builder 4.5
Les nouveautés dans Flash Builder 4.5
• Support de template de code (personnalisable)
• Ajout des quick Assists (avec Ctrl + Shift +1) … un must !
• Renommage, Organiser les imports, Convertir en champ,
Assigner à une variable…
• Autocompletion sur les metadata
• Generation des méthodes, classes, champs non définis
• Alerte des erreurs en tps réel par souligné orange
• Gestion des états par complétion
• Possibilité de choisir un projet Spark only
• Version FB 4.5 avec PHP (Zend Studio)
• Gestion de l’ASDoc
http://www.adobe.com/devnet/flash-builder/articles/flashbuilder45-coding-enhancements.html
14. Air 3.0
Air 3.0 en Release candidate dispo depuis le 6 septembre
(release couplée à la sortie du flash player 11)
Une nouvelle version majeure riche en nouveautés :
• Stage3D (desktop) • Android Market licensing
• Native extension (all) • Background Audio playback
• Captive runtime (android + desktop) • CamerarRoll support for Ipad
• Native Json support (mobile + desktop) • Hardware-accelerated video
• Socket improvement (mobile + desktop) • Native text fields
• Encodage H.264/AVC des cameras (desktop) • Front-facing camera support
• JPEG XR support (mobile + desktop) • Mobile-encrypted local storage
• Higher resolution bitmaps (mobile + desktop) • Device speaker control
• Multichannel audio digital output (TV)
• Advanced controller support (TV)
• Secure random number generation (mobile + desktop)
• Support for cubic bezier curves (all)
15. Air 3.0 : Stage 3D & Native extension
Stage3D : basé sur Flash Player 11 et donc « Molehill »
• APIs bas niveau d’accélération GPU pour la 2D/3D
• Seulement pour le desktop pour l’instant mais mobile à venir
Native extension (toute plateforme)
• La possibilité d’appeler du code natif sur l’environnement
d’exécution
• Une ANE est comme un swc en code natif
• Un besoin essentiel pour le mobile, dispo pour le desktop
16. Air 3.0 : Captive Runtime & JSON
Captive Runtime
• Possiblité d’inclure le runtime AIR dans l’application
• Nouvelles options d’installation d’applications AIR :
• Sans droit d’admin ou basé sur GPO (Group Policy)
• XCOPY deployement
• Run-in-place depuis clé USB
• Couplage à une version spécifique de AIR
JSON
• Parsing natif du JSON au lieu de l’ActionScript
• Améliore les perfs (vitesse et mémoire)
17. Air 3.0 : Socket, H.264 & JPEG XR
Amélioration des sockets
• Meilleure gestion de l’écriture des données sur un socket à
partir d’une application AIR
Encodage H.264
• Seulement pour le desktop
• Possibilité d’encoder le flux capturé par une Camera en H.264
Support JPEG XR
• Nouveau format de fichier supérieur à JPEG (meilleure
compression avec moins de perte, meilleure couleur et gestion
transparence)
18. Air 3.0 : et enfin…
Résolution sans limite des bitmaps
• La taille des bitmaps était limitée à 16 Mpixels
• Plus de restrictions hormis celle de l’OS.
Sortie audio digital multichannel (TV)
• Les applications peuvent jouer du son Dolby Digital ou DTS 5.1
Advanced controller support (TV)
• Une classe GameInput permet de développer des jeux
contrôlés par une manette de jeux (acceleration, boutons, …)
Secure random generation
• Math.random est pseudo-aléatoire. Insuffisant pour la crypto.
Courbes de Bézier cubic
• Dessin de courbes de Bézier cubique natif et non par lib AS3.
19. A paraître…
What’s New in Flash Player 11
Comprehensive Quickstarts for Browser-Based Experiences
Author: Joseph Labrecque
Publisher: O’Reilly Media (October, 2011)
ISBN-13: 9781449311094
Pages: 60 (estimated)
What’s New in Adobe AIR 3
Comprehensive Quickstarts for Desktop and Mobile
Author: Joseph Labrecque
Publisher: O’Reilly Media (October, 2011)
ISBN-13: 9781449311070
Pages: 80 (estimated)