Quelle stratégie pour Sun JavaFX ?

8 07 2009

logojavafxHier soir, le ParisJUG (Java User Group) a réuni ses membres pour parler de RIA. Bien que jeune, ce JUG remporte un grand succès en termes d’audience et de qualité de présentations. François leDroff a présenté comment Flex et Spring communiquent. La présentation a été filmée et sera bientôt en ligne, je ne vais donc pas en parler dans ce post. La seconde présentation était réalisée par Simmon Ritter, évangéliste de Sun. Pour l’instant, les présentations JavaFX auxquelles j’avais assisté n’étaient données que par des consultants. C’était pour moi une première expérience des messages délivrées par “la Corp”, la société Sun elle même… et j’avoue avoir été surpris par l’approche stratéqigue. Le post sur Flex et SilverLight vous a fait beaucoup réagir, je pense que celui-ci aussi.

JavaFX est un concurrent direct de Flex et SilverLight. L’approche est séduisante car JavaFX complète la plateforme Java pour faciliter la production d’interfaces riches. L’introduction de Simon rappelle efficacement les écueils rencontrés par la communauté Java pour produire rapidement des composants riches d’interface (Swing, Java2D…). Le point fort selon moi de cette technologie est la possibilité de réutiliser du code Java existant (notamment des librairies de calculs complexes, des filtres sur images, etc…).   Simon a ensuite détaillé plusieurs aspects du langage de script donc certaines bonnes idées comme le binding dynamique, la notion de lumière sur une forme vectorielle et la définition de trajectoires qui suivent un tracé vectoriel.

Sun a fait un choix délibéré et surprenant: le fait de simplifier au maximum le langage de script. JavaFX scripting langage est donc beaucoup proche de JavaScript que de Java. Il reprend aussi beaucoup de concepts de l’ActionScript 2 (Flash 8) . Les exemples montrés à la fin par Simon sont une horloge vectorielle (cercles de couleurs par unité de temps), le flipbook (le fait de tourner des pages) et un exemple de communication avec une WiiMote par BlueTooth. Aucun exemple d’application au final! Surprenant. Les exemples montrés sont ceux qu’Adobe présentaient à l’époque de Flash 6. Voici un lien vers mon flip book préféré réalisé en ActionScript. Du coup, voici mes conclusions:

Je pense qu’en fait Sun ne souhaite pas convaincre son coeur historique et sa communauté Java, sinon Sun aurait repris le langage Java pour définir ces interfaces. Ce positionnement peux se justifier s’ils considèrent que les développeurs Java ne sont pas ceux qui ont le plus de sensibilité pour gérer le développement d’interfaces riches. Cela expliquerait les démos plus “effet waouh” pour séduire des développeurs plus habitués à des back-ends. Beaucoup découvraient hier la démo du flip book alors que ces exemples existent depuis plus de 5 ans sur le web. Je pense que Sun cherche à séduire la population des développeurs web qui ont peut de la complexité de Java et qui connaissent mieux JavaScript. Du coup, ils peuvent à moindre effort apprendre JavaFX et proposer des expériences plus riches. Sun communique aussi beaucoup sur sa volonté d’intégration avec les outils de la Creative Suite. Leur studio visuel a été présenté à JavaOne mais n’est pas encore disponible. Les premiers commentaires de Simon laissent à penser qu’il y aura une intégration assez fine avec Illustrator et Photoshop ce qui est une excellente nouvelle pour les designers web. Un peu comme SilverLight à ses débuts, JavaFX semble plus vouloir se positionner face à la technologie Flash. Là où Adobe a décidé de faire évoluer son langage de script ActionScript vers un langage proche de Java avec l’ActionScript 3, Sun choisit de le faire régresser vers du JavaScript (ou de l’ActionScript 2). Le positionnement est donc radicalement différent que celui proposé par Flex ou SilverLight. Bien que l’intégration à une plateforme Java homogène soit séduisante, JavaFX ne semble pas s’adresser directement aux développeurs Java d’Entreprise mais plus aux développeurs web. La conférence était riche en informations sur le langage et sur le positionnement de Sun. J’ai hâte de voir si le positionnement va évoluer l’année prochaine suite au rachat par Oracle.





Réalité augmentée et Flash

3 07 2009

J’ai présenté hier à l’USI cinq exemples de réalité augmentée réalisés avec la librairie AS3 FLARtoolkit. Une webcam, une feuille de papier, un Flash Player… et l’expérience peut commencer. Voici les liens des applications présentées hier:

  • GE: des éoliennes maginifiques, et si vous soufflez dans le micro, cela accélère le mouvement.
  • Living Sasquartch: Peut être le plus fun. Réalisez des chorégraphies et enregistrez une vidéo avec ce personnage.
  • TShirt: Un exemple pour tester des vêtements.
  • Démo MAX: Réalisé par un membre de la communauté.
  • Microsoft: Lancement de SQL Server 2008 :)




Flex ou Silverlight ?

1 07 2009

Flex laptopJ’ai assisté aujourd’hui à une conférence sur Flex et Silverlight à l’USI 2009. Voici le rapport que j’ai rédigé pendant la conférence:

Les consultants d’Octo ont préparé une excellente présentation qui rapelle l’évolution des applications web pour finir sur une comparaison technologique. Ils ont comparé astucieusement l’évolution des applis web à celle de l’homme, en partant du singe (le HTML pur), en passant par le Web 1.x (en prenant pour exemples Voyages Sncf.com et les quelques widgets qui viennent assiter la saisie, et les langages de scripts comme PHP), par l’Homo Erectus et son modèle AJAX, puis par l’Homo Sapiens et son modèle RIA: la quatrième génération. Les speakers rappellent qu’avant, ce sont les développeurs qui dictaient leurs lois. Alors que la courbe d’expérience utilisateur ne cessent de croitre au fur et à mesure des générations, celle de l’expérience de développement est en dents de scie (régression avec AJAX).

La RIA conserve les avantages de deux univers: le client lourd (fluidité, vectoriel) et du web (applicatif sur le serveur, diffusion maximale). Pour le développeur, il se base sur un plug-in côté client (Flash Player ou Silverlight), la partie graphique n’est plus gérée par le serveur, et il adopte un modèle SOA. Les speakers citent aussi JavaFX et GWT mais n’y croient pas… (le pauvre framework GWT en a pris pour son grade :( ) Les consultants Octo cherchent ensuite à comparer Flex et Silverlight pour démontrer que dans l’approche, les deux modèles sont très similaires (code, IDE, composants, accès aux services distants…). Ces deux technologies sont industrialisables et matures.

Les plus de Silverlight: son IDE très performant, la capitalisation des connaissances .Net et la communauté .Net, la richesse du langage .Net.
Les plus de Flex: l’omniprésence du Flash Player, le multiplateforme, l’intégration naturelle avec la Creative Suite (bien vu!), un même code pour Flex et AIR, et enfin l’orientation Open Source: VM Flash, SDK, Blaze DS, AMF, RTMP…

Pour comparer les deux technos, les consultants ont évité d’afficher une grille de lecture, et ont préféré trouver des use cases pour les technos. Pour résumer, si vous êtes une entreprise avec une forte culture MSFT, avec des développeurs .NET, silverlight est le meilleur choix. Si vous êtes au contraire dans un contexte JAVA, avec une teinte Open Source, vous opterez pour Flex. Le choix est plus compliqué en environnement mixte… (même si sur le terrain je constate que Flex l’emporte pour son ouverture…). Les consultants précisent que Flex est conseillé pour toute application exposée vers l’extérieur du Firewall grâce au déploiement du Flash Player qui est unique. Autre analyse intéressante, si on part de zéro pour une RIA sur un intranet, ils conseillent Silverlight pour avoir le même code pour le client comme le serveur (et le même éditeur… solution unifiée).

Conclusion d’Octo: Il faut passer à la RIA, en Flex ou Silverlight mais pas en AJAX (sauf cas particulier, mais si on peut éviter c’est mieux).Les deux solutions sont matures et en fonction de votre contexte informatique, de vos développeurs, un choix s’imposera naturellement.

Mes remarques suite à la présentation: C’est la première fois que j’assiste à une présentation de ce type, et je dois avouer avoir été agréablement surpris par la bonne connaissance technologique d’Octo sur la plateforme Flash. L’analyse était bien construite, et les messages très clairs. J’ai adoré l’approche “le point de vue de l’utilisateur” face au “point de vue du développeur”. Seule critique, l’analyse était très teintée “analyse technique”. Les apports de la RIA en termes d’UX pour une entreprise et ses applications ont été un peu minimisés par des termes comme “effets mouf mouf pour pas cher” (???) ou “applications sexy qui font plaisir”… Cela a un peu terni le rôle de l’interface et de l’expérience utilisateur en entreprise… dommage. Mais il y a eu d’autres conférences, aussi présentées par des consultants Octo qui ont parfaitement exposé les bénéfices des interfaces en entreprise, ainsi que d’autres ateliers vraiment exceptionnels comme un workshop d’une heure et demi sur le Paper Prototyping. Excellente première journée pour ma première Université du SI. Vivement la suite demain !!!





Lupo et l’internationalisation

30 06 2009

iconMgrDavid Deraedt est un formateur certifié Flex et un consultant Flex expert basé à Paris. Il vient de publier LUPO, une application AIR vraiment pratique pour localiser ses applications Flex. La difficulté de l’internationalisation consiste à externaliser dans des fichiers de ressources tous les labels de champs, les éléments de menu, de navigation…puis les traduire. Les équipes expérimentées prévoient dès le départ la gestion de plusieurs langues, mais il arrive parfois qu’il faille rajouter cette gestion après coup. Lupo analyse tout votre code pour détecter les variables de type String qui devraient être traduites. Il l’est nomme et les extrait automatiquement dans des fichiers de ressources. Ensuite, il ne reste qu’à traduire chaque chaine de caractères. Lupo gère aussi le refactoring si vous renommez des clefs. Lupo est très riche en fonctionnalités et propose l’export en CSV pour pouvoir importer ses fichiers de langues dans des outils qui assistent à la traduction. David indique sur son blog qu’il a traduit une petite application Flex de 5000 lignes de code en 6 minutes!!! Bravo David. Regardez la vidéo de présentation de LUPO.





Migration Client/Server vers Flex

22 06 2009

Adobe a organisé un séminaire sur le sujet de la migration d’applications Client/Server vers des RIA Flex/J2EE. Les applications Client/Server sont encore très présentes en entreprise car elles proposent des interfaces utilisateurs très riches, ergonomiques, qui gèrent le vectoriel et le bitmap… et elles proposent aussi de très hautes performances d’échanges de données entre le client et le serveur (flux binaires, data push temps réel…). Les DSI n’ont pas souhaité migrer ces applications vers un modèle web traditionnel car ils allaient perdre en expérience utilisateur, et en performances. Elles ne peuvent pas risquer un refus des utilisateurs, première cause d’échec des applications IT. Avec Flex, J2EE et LiveCycle Data Services, les entreprises peuvent enfin migrer leur existant vers un modèle de RIA séduisant et performant. Ce séminaire a accueilli à la fois des clients issus du monde des finances (banques, assurances… où des technologies comme NSDK sont très présentes), du monde de la distribution et de l’industrie (qui a aussi beaucoup d’applications qui tournent encore en VB, PowerBuilder…). Voici les slides de cette présentation menée par Sodifrance, KapIT et moi-même. Sodifrance propose une offre intéressante de migration automatiquement du code Client/Server (VB ou NSDK par exemple), vers un modèle Flex/JAVA. Plus de 90% du code est automatiquement repris et Sodifrance s’engage au forfait. Ils se sont associés à KapIT, les experts Flex, pour proposer l’offre de migration la plus mûre du marché.

more about “Migration Client/Server vers Flex“, posted with vodpod





LiveCycle Data Services 3

18 06 2009

LiveCycle ES iconAprès Flash Builder et Flash Builder, c’est au tour de LiveCycle Data Services d’avoir sa beta sur le labs. LCDS permet d’optimiser les échanges de données et de messages entre des applications Flex et le serveur Java. Cette nouvelle version propose plusieurs nouveautés.

Fiber est une nouvelle technologie pour effectuer des développements “model-driven“. L’idée est de commencer par la création du modèle, puis de développer les interfaces Flex et la couche de logique métier côté serveur. Fiber est directement lié aux nouveautés de Flash Builder 4 pour accélérer les développements data-centric. Cela va simplifier l’usage du Data Management, l’architecture la plus évoluée d’échanges de données entre le client et le serveur. Cela devrait aussi permettre de créer un prototype basé sur un modèle de données sans avoir à écrire la partie Java. L’édition de ce modèle de données peut s’effectuer graphiquement (plug-in de Flash Builder 4).

L’autre sujet adressé par LCDS 3, est la qualité de service. Avant LCDS 3, les échanges d’information entre le client et le serveur étaient optimisés mais pas garantis en termes de qualité de service. Désormais, vous pouvez activer de l’acknowledgement pour toutes ces communications. Il suffit d’indiquer que l’on souhaite qu’une destion LCDS soit “reliabe”, fiable. Cela va concerner des applications comme des demandes de virement (ou la banque et le client doivent s’assurer que tous les messages ont transité), des applications de trading, de support client… Cette fiabilité peut aussi s’appliquer à l’échange de messages, du messaging fiable.

Dèrnière innovation: le data throttling. C’est une extension de l’infrastructure de messaging actuellement proposée par LCDS. Aujourd’hui, Flash Media Server est capable de modifier la qualité de la vidéo streamée en fonction de l’état de votre machine et de la connexion. C’est un peu pareil pour LCDS, mais avec des données. Le data throttling réduit ou augmente le volume de data streamé en fonction de la vitesse de traitement des messages de votre Flash Player côté client. Je vous invite à tester cette beta et à poster vos retours sur le forum.





M6 Replay en Flash

16 06 2009

La télévision de rattrapage (ou Catch  Up TV) est un sujet stratégique pour toutes les grandes chaines de télévision. Les chaines américaines ont de l’avance sur le sujet car les Etats-Unis ont les premiers constaté que les américains passent aujourd’hui plus de temps à regarder des vidéos sur Internet que sur la TV. L’enjeu économique est immense et cette mutation est en cours. Reste à trouver quelle technologie peut supporter ce passage au web pour diffuser du live, de la rediffusion, protéger les contenus, associer une campagne publicitaire, gérer un parc PC multiplateformes, le fait d’adapter la qualité de diffusion à la bande passante de l’internaute, de diffuser de la vidéo HD en plein écran, etc… La réponse est évidemment le format Flash. Plus de 80% des vidéos sont sur le net au format Flash et de grandes chaines de TV comme la BBC (la plus grande chaine TV du monde) investissent stratégiquement et massivement dans cette technologie.La HD, la VOD, la DRM… sont des enjeux tous adressés par Flash. Si vous souhaitez découvrir des vidéos Flash en HD, voici les bandes annonces du festival de Cannes (magnifique site): http://www.festival-cannes.com/hd/fr/

M6 fait de même avec son service en ligne M6 Replay qui connait un succès énorme (plus d’un million de visiteurs uniques dès le second mois d’exploitation!!!). Le groupe multiplie les expériences avec Flash comme la diffusion de matchs de foot en live (comme pendant l’EURO 2008) ou  d’émissions en live comme “A la recherche de la nouvelle star”. La chaine a accepté de témoigner et c’est en exclusivité mondiale (yeah!!!) que je vous propose de récupérer ce fichier PDF de quatre pages qui expliquent pourquoi et comment M6 propose de la vidéo Flash à ses internautes.

more about “M6 Replay“, posted with vodpod





Atelier Flash Catalyst: le film

9 06 2009

Thibault a animé avec Stéphane Baril un atelier pour les designers qui présente l’usage de Flash Catalyst. Il vient de publier une vidéo qui reprend ses slides et aussi la démonstration ‘Annuaire Entreprise’ présentée lors de l’événement de lancement de la beta :

more about “Atelier Flash Catalyst: le film“, posted with vodpod





Tutorial vidéo Flash Catalyst

7 06 2009

dedicatedThibault et moi allons publier dans les semaines qui suivent plusieurs vidéos qui présentent des usages de Flash Catalyst et de Flash Builder, tous deux en beta sur le labs. Ce premier tutoriel est inspiré de l’application présentée par Lee Brimelow. L’objectif est de développer le plus rapidement possible un client de recherches sur Twitter, en reprenant le look de DestroyTwitter, mon client Twitter favori.

Je pars dans la vidéo d’un fichier Photoshop, je l’importe dans Flash Catalyst pour rajouter de l’interactivité, et je connecte l’application à Twitter en utilisant le nouveau panneau Data/Services de Flash Builder. La vidéo dure 20 minutes et a été enregistrée avec Acrobat Connect Pro. Vous pouvez changer le mode d’affichage (taille réelle, ou ajustement de la taille) en cliquant sur les icones en bas à gauche de la zone d’affichage de mon écran.

Voici le lien vers la vidéo: http://mmse.na3.acrobat.com/p11813592/

Et le lien vers les fichiers pour refaire l’application: https://share.acrobat.com/adc/document.do?docid=e9c8d3c4-a27e-461b-8168-560d25329010

 

 





Slides de l’evenement Catalyst Builder

5 06 2009

Voici les slides de l’événement de Mercredi “Designer Developer Experience”:

more about “Slide de l’evenement Catalyst Builder“, posted with vodpod

L’événement a réuni dans l’après-midi 130 développeurs Flex et 70 designers. Ces slides sont ceux qui ont été présentés en session plénière. Pour les slides des ateliers Flash Builder et Flash Catalyst, je pense que Yann Chevalier va les poster sur le site de la communauté des Tontons Flexeurs. Abonnez vous sur groups.adobe.com pour rester informé des activités de la communauté et bientôt découvrir le film de la présentation. Je compte aussi enregistrer avec Thibault une vidéo qui rejoue notre démonstration d’Illustrator, vers Flash Catalyst puis vers Flash Builder.