Concertation Flex 5 – Bilan et résultats
Il y a quelques jours, je vous annonçais l'organisation d'une rencontre entre développeurs FR pour imaginer la roadmap de la prochaine version de Flex:
Concertation Flex 5 – Partagez vos idées sur l'évolution du framework Flex
Chose promise, chose due, cette concertation a bien eu lieu cette après-midi. Ce billet va présenter les résultats des différents sondages réalisés pendant cette session ainsi que la liste des fonctionnalités que les développeurs demandent. Bien sûr, cela ne veut pas dire que ces éléments seront intégrés dans la roadmap, mais cela permet de doser le ressenti des développeurs sur les éléments manquants à Flex.
Avant de dévoiler les résultats, je tiens à remercier tous ceux qui ont participé à cette réunion (en cumulé, on a du atteindre les 80 participants).
Je vais mettre les résultats par ordre décroissant de votes. Le nombre entre parenthèses représente le nombre de votes.
Le compilateur FalconJS (Flex->HTML5) conviendrait-il à vos projets?
- (26) – Oui (sous réserve de bonnes performances)
- (10) – Non, je n'aime pas les cross-compiler, je préfère écrire mon contenu HTML5
- (7) – Non, j'ai des fonctionnalités impossibles à réaliser sans Flash Player
- (1) – Mon client ne me demande pas de migration / ne peut pas migrer
Comptez-vous (ou votre entreprise) participer au projet Spoon?
- (16) – Oui, en fonction du temps disponible
- (9) – Non, je continue flex j'attends de voir le travail de spoon avant de me décider
- (4) – Oui, participation active
- (4) – Non, mais je veux profiter des nouveautés du framework
- (2) – Non, je souhaite m'écarter de Flex.
Viennent ensuite les fonctionnalités attendues par les développeurs. Ces derniers ont d'abord tous donné les fonctionnalités qu'ils souhaitaient voir (en vrac). Celles-ci ont été consignées dans une liste de 40 points différents. Au bout d'une grosse heure de discussions, les participants ont pu voter (sans voir les résultats) pour une ou plusieurs fonctionnalités.
Fonctionnalités les plus demandées
- (27) – Amélioration du langage (constructeurs privés, surcharge d'opérateurs, generics, metatags, enums, classes abstraites, introspection) pour venir au même niveau que Java
- (26) – Terminer la "sparkisation" de tous les composants (Tree, Charts,…)
- (23) – Amélioration du simulateur pour AIR mobile (résolutions, …)
- (22) – Outils de debug avancés (pouvoir suivre les propagations des évènements par ex.)
- (21) – Gestion du contenu HTML (y compris sur mobile)
- (20) – Réduire le couplage fort du code du SDK en utilisant davantage d'interfaces
- (20) – Amélioration des composants Spark (Label selectable, Autocomplete, …)
- (20) – Amélioration du debug sur mobile ( player debug + erreurs ANEs)
- (19) – Affichage natif des PDFs
- (19) – Possibilité d'embarquer un navigateur (type Webkit pour AIR) aussi en web dans Flash Player
- (18) – SQLite en web, pas que dans AIR
- (17) – Intégration officielle de maven (archetypes & co)
- (17) – Réduire la taille des swc du framework
- (17) – Etre plus souple avec des règles de securité incompréhensibles (cross domain, clavier en full screen, etc.)
- (15) – Impression
- (15) – Intégration avec les gestionnaires d'historique / mot de passe navigateur
- (15) – Faire le rendu graphique des composants en passant par le GPU
- (14) – Support du développement des ANEs
- (14) – Améliorer StageWebView pour communication avec JS / DOM + SWV Desktop
- (14) - Réanimation des outils orientés qualité: Flex CPD, FlexPMD, et améliorer l'intégration à Sonar
- (14) – JPEGEncoder et PNGEncoder du SDK plus rapides (Alchemy) et asynchrones
- (13) – Suppression des composants MX + modification des packages trop communs comme core.
- (13) – Un système de création et de partage de composants à la sauce App Store avec 3 niveaux progressifs: 1) Instable: proposé à la communauté et rapidement testé 2) Stable: Validé par plein de développeurs qui l'ont utilisé en prod 3) Officiel: intégré dans le framework Flex
- (13) – Outil d'obfuscation du code
- (12) – Remplacer la classe Tween fournie par Adobe car trop lente)
- (12) – Personnalisation du menu contextuel en click droit (FP 11.x)
- (11) – Faciliter l'updating des applications AIR compilée avec Captive Runtime
- (11) – Référencement
- (10) – Contrôle des metatag à la compilation (par exemple: un Bindable dans une interface peut ne pas être Bindable dans l'implémentation, idem pour les [Event] dont le compilateur ne contrôle pas l'existence d'un dispatch ===> les interfaces gagneraient encore plus en intérêt)
- (10) – Permettre la contribution au Framework via Git
- (9) – Sortir les intégrations des compilateurs (ADL et autres) de FB, dans une appli externe (pour une meilleur intégration du SDK dans d'autre IDE)
- (9) – Gestion du son dans les applications
- (8) – Réduire les dépendances vers UIComponent à 0
- (8) – Permettre des installations automatiques (one click) de technologies stacks en local, genre (Spring/Hibernate on Tomcat ; EJB3/Hibernate on JBoss ; Spring/Hibernate on Tomcat or Jetty )
- (8) – Régler le problème de différence de rendu des polices embedded dans une application AIR Desktop, selon les plate-formes
- (7) – Envisager une meilleure intégration de GraniteDS
- (7) – Fusion des projet GraniteDS et BlazeDS + support du RTMP
- (7) – Améliorations BlazeDS : gestion de types BigInteger et BigDecimal de base.
- (6) – ASDoc: Support des variables de compilations + possibilité de générer seulement une partie (celle qui fonctionne)
- (4) – Améliorations BlazeDS : intégrer d'emblée le non-blocking NIO de manière à permettre la scalabilité du messaging
Analyse rapide des résultats
Il est intéressant de voir que la fonctionnalité la plus votée est une amélioration du langage ActionScript 3 sur lequel repose Flex. La plupart des développeurs Flex ont de l'expérience dans d'autres domaines / langages (Java, le plus souvent) et souhaitent arriver aux mêmes possibilités syntaxiques. Cela peut aussi permettre aux frameworks d'injection de dépendance de devenir plus puissants et de mieux s'intégrer avec le code (metatags compilés, introspection, …).
Pour le reste, je crois que les fonctionnalités parlent d'elles-même. Pour n'importe quel développeur Flex, le Top 10 peut améliorer sa productivité et la qualité de son code.
Encore une fois, merci à tous les participants d'avoir donné un peu de leur temps !
Comme je l'avais annoncé dans mon billet précédent, je serai à San Francisco la semaine prochaine chez Adobe pour discuter de la roadmap de Flex. Votre parole sera donc entendue
Industrialiser vos projets Flex avec Hudson, Maven, Sonar, FlexPMD et FlexCPD
Dans le monde Java, il existe de nombreux outils permettant de vérifier l'intégrité de votre code (tests unitaires) mais aussi pour vous assurer que la qualité de votre code est respectée. Ces outils vous permettent d'assurer la robustesse des applications que vous créez.
Parmi les plus populaires, on peut compter:
- Hudson / Jenkins pour l'automatisation de build (intégration continue)
- Maven pour gérer les dépendances entre vos projet et le cycle de build
- Sonar pour tester la couverture de code et mesurer la qualité de votre code
- PMD pour vérifier la présence de mauvaise pratiques dans votre code
- SVN / Git pour la gestion du versioning de vos projets
La mise en place de ces outils est assez laborieuse, surtout si vous voulez les ajouter à un projet existant (surtout Maven) mais le jeu en vaut la chandelle. Le travail à plusieurs sur un projet et les évolutions rapides de votre projet (notamment par Spring Agile) vous obligent à mettre de tels outils en place pour vous assurer qu'aucune régression ne soit possible.
Dans le monde Flex, ces outils existent aussi. Les serveurs de Continous Integration (Hudson / Jenkins) sont agnostiques de la technologie utilisée. Vous pouvez donc lui faire lancer des builds Java ou Flex, ou les deux. Maven est disponible grâce à flex-mojos et PMD est possible avec FlexPMD.
Pour vous aider à mettre en place ces outils, j'ai trouvé un blog très intéressant qui explique la mise en place de cet outils:
- How to install Jenkins on Scientific Linux for Flex Development
- How to enable Flash/Flex project analysis in Sonar
- How to install FlexPMD in Flex Builder 4.5
- How to install FlexCPD in Flash Builder 4.5
- How to add a Hudson Status Bar to Flash Builder( or FDT)
- How to install maven in Flash Builder 4.5
- How to setup Git on Flash Builder 4.5
- How to import GitHub projects into Flash Builder
- How to install Subclipse on Flash Builder 4.5
Bonne lecture
La librairie DataFilterLib disponible sur Maven (en + de Google Code)
Une petite news pour annoncer la présence de ma librairie DataFilterLib sur les repository publics Maven. Si vous ne connaissez pas la DataFilterLib, allez y jeter un coup d'oeil, cela peut vous enlever une fière chandelle du pied
:
DataFilterLib – Filtrez votre donnée de manière simple et dynamique
Et le projet sur Google Code:
http://code.google.com/p/flex-datafilterlib/
Grâce à un *énorme* boulot de Frédéric Thomas (@webdoublefx), cette librairie est maintenant disponible pour vos builds Maven, dans un repository public:
https://oss.sonatype.org/index.html#nexus-search;quick~datafilter
Le processus a été très laborieux pour Frédéric, un grand merci à lui qui a réussi à publier la librairie tout en contournant les bugs de Maven
. Si vous voulez faire un build de votre projet Google Code sur Maven, vous pouvez me demander, Frédéric m'a rédigé un document détaillé.
Rencontre TTFX du 4 Novembre 2010 à Bordeaux – Compte-rendu
Pour ceux qui ne sont pas dans la région bordelaise mais qui sont tout de même intéressés par la combinaison Maven et Flex, voici le compte-rendu "officiel" de cette rencontre.
Jeudi 4 Novembre dernier s'est tenue la deuxième session des tontons sur Bordeaux.
Une bonne trentaine de personne a pu ainsi assister à une présentation dispensée dans l'ordre par David Mouton, Isabelle Olivier, et Mickael Ruellan sur :
- News du jour sur la flash platform et retour sur Max 2010
- Maven : les grands principes
- Maven : Mise en place d'un projet Flex avec Maven
La conférence s'est ensuite terminée par un buffet autour duquel tout le monde s'est retrouvé pour echanger sur celle-ci, discuter de l'avenir de flash, évoquer des problématiques personnelles, etc…
A cette occasion nous nous sommes concertés pour décider du sujet de la réunion suivante et c'est "TDD et FlexUnit" qui a été choisi.
Mais avant elle nous aurons droit à une présentation sur le remoting et le messaging avec BlazeDS et LCDS.
Pour rappel c'est vous qui décidez des sujets à venir et si vous souhaitez présenter quelque chose, faite le nous savoir.
Un grand merci à Adobe pour nous avoir offert le buffet, ainsi qu'a l'ENSEIRB-MATMECA pour nous avoir reçu dans ses locaux.
Enfin pour terminer les liens qui font suite à cet événement :
A cette occasion nous nous sommes concertés pour décider du sujet de la réunion suivante et c'est "TDD et FlexUnit" qui a été choisi.Mais avant elle nous aurons droit à une présentation sur le remoting et le messaging avec BlazeDS et LCDS.
Pour rappel c'est vous qui décidez des sujets à venir et si vous souhaitez présenter quelque chose, faite le nous savoir.
Un grand merci à Adobe pour nous avoir offert le buffet, ainsi qu'a l'ENSEIRB-MATMECA pour nous avoir reçu dans ses locaux.
Enfin pour terminer les liens qui font suite à cet événement :
[Offre d'emploi] – Développeur Flex sur Marseille (13)
Développeur Flex (Marseille – 13) – Offre d'emploi
- Titre: Développeur Flex
- L'entreprise: Le Groupe SNEF (http://www.snef.fr) est spécialisé dans les métiers courants forts, courants faibles, procédés industriels, génie climatique et maintenance. Ses prestations couvrent l'étude de conception, l'installation, l'exploitation et la maintenance. Elles s'adressent aux industriels, au secteur tertiaire, aux opérateurs de télécommunications, à la Marine ainsi qu'aux collectivités et administrations publiques. Créé en 1905 à Marseille où se maintient son siège social, le Groupe SNEF est aujourd'hui la première entreprise nationale indépendante de son secteur et emploie plus de 9000 personnes.
Profil Recherché
- Profil recherché:
- Vous êtes passionné par la technique et possédez un bon profil humain ? Venez exprimer votre créativité et réaliser votre potentiel en participant à des projets d'envergure.
- Compétences Techniques Requises:
- Java 1.5+ / J2EE
- Maven
- SQL
- Flex 4, Action Script 3.0 et Flash (IHM en Flex, connectivité back avec BlazeDS)
- Expérience Requise: -
- Formation: -
- Disponibilité: Immédiate
Conditions d'embauche
- Lieu : Marseille (13)
- Rémunération: 30/34 K€
- Contrat: CDD
Pour postuler
- Contact:
- Pour postuler, envoyez votre CV à lionel.estorach (AT) snef (POINT) fr





