Le planning 2012-2014 montré durant le Strategy KeyNote de ce matin a révélé JavaFX 3.0 et un futur support du multi-touch ce qui marquera le retour de JavaFX sur les mobiles et périphériques tactiles.
Version imprimable
Le planning 2012-2014 montré durant le Strategy KeyNote de ce matin a révélé JavaFX 3.0 et un futur support du multi-touch ce qui marquera le retour de JavaFX sur les mobiles et périphériques tactiles.
Richard Blair vient d'annoncer qu'il y aura encore des améliorations de Prism dans les versions 2.2 et 2.4.
Actuellement les runtimes sont un download séparé, à partir du JDK 7 u2, elles seront dans l'installation. À partir du JDK8, elles seront un module Java comme un autre.
Salut,
Perso je ne suis pas enchanté par cela. Car cela signifie aussi qu'aucune modif incompatible ne pourra être mise en place entre deux versions :(
Ce qui, comme Swing, risque de limiter fortement son évolution.
A moins que les modules de Java 8 permettent une gestion propre des versions, voir de charger plusieurs versions du même module...
a++
Il a été indiqué hier qu'à partir du moment où JavaFX sera inclus definitivement dans JavaSE, il suivra les même règles que les autres API (donc plus de changements dans son API susceptibles de casser la compatibilité). Ce sera donc à piori pour la sortie du JDK8. Pour 7u2, c'est juste l'inclusion de l'installeur tout comme les packages JDK 1.6 de l'an dernier qui contenaient parfois le SDK de JavaFX 1.3.1
Pour le moment JavaFX est considéré comme un produit séparé, ce qui explique entre autre pourquoi l'équipe de déploiement n'a pas mis à jour les specs de JNLP pour inclure la nouvelle syntaxe propre à FX.
À noter que Richard Blair nous a montré ce que deviendront les listener et les callbacks (dans son exemple, un setOnAction() ou un addChangeListener() il me semble) avec les Lambda et ça fait un code a taper à peu près 10 fois plus court que la version JDK6/7.
Ben justement c'est le problème :(
C'est justement le problème de Swing, qui n'a pas pu trop évoluer pour ces mêmes raisons :(
Le fait d'avoir un librairie externe permet plus de liberté, quitte à causer des incompatibilité, puisque rien ne t'oblige à utiliser la nouvelle version.
A moins que le système de module du JDK8 permette de gérer cela proprement...
Oui ! Les lambdas seront convertible en type "SAM" (Single Abstract Method - c'est à dire une interface ou classe abstraite ne possédant qu'une seule et unique méthode abstraite).
Du coup ca ne concerne pas uniquement JavaFX mais toutes les APIs Java.
Exemple en Swing avec les lambdas (note : la syntaxe n'est pas forcément définitive) :
A noter qu'on devrait également pouvoir utiliser les références de méthodes :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 // Actuellement : button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("click : " + e); } }); // Avec les lambdas : button.addActionListener( (ActionEvent e) -> { System.out.println("click : " + e); } ); // Avec les lambdas et le type inference : button.addActionListener( (e) -> { System.out.println("click : " + e); } );
Code:button.addActionListener( this->uneMethode() );
Les lambdas vont vraiment apporter beaucoup :D
a++
Et c'est reparti, Jonathan Giles est rentré chez lui et a commencé à poster à nouveau ses liens de la semaine :
- Une mini-maj de securite est disponible pour JavaFX, il s'agit de la 2.0.1.
Note : Richard Bair a annonce plusieurs fois durant la JavaOne et sur les forums OTN que la 2.0.2 contiendrai bien de nouvelles fonctionnalités (et donc des changements dans l'API ?).- La beta 5 pour MacOS X est disponible.
- Richard Blair et Jasper Potts ont posté divers topics sur FX Experience :
- Plusieurs blogs on vu le jour concernant FXML :
- Tom Schindl : JavaFX et Google Guice
- Richard Bair : JavaFX et Google Guice
- Zonski : JavaFX 2.0, FXML et Spring
- Zonski : une meilleure injection du contrôleur
- Jasper Potts a été interviewé par Java Spotlight podcast concernant la sortie de JavaFX.
- Le Oracle Media Network a publie des vidéos sur :
- Tom Schindl a publie la version 0.0.7 de e(fx)clipse.
- Mr LoNee a créé un éditeur de propriété de nœuds.
- Jide Software a créé un slider avec 2 knobs (les boutons de la réglette) permettant d'éditer des intervalles.
- Quelques réactions quand au fait que JavaFX tournant sur des tablettes a été aperçu a la JavaOne :
- Oracle tient a rappeler aux septiques que JavaFX sera OpenSource.
- Jonathan Giles a ecrit un article explicatif sur dataFX son projet commun d'avec Johan Vos qu'ils ont présenté a la JavaOne (AKA "This is not an Oracle session" & "Who's got the funniest accent ?").
- Et également que les slides d'autres présentations sont désormais en ligne.
- Roman Kennke a blogge sur JavaFX 2.0 - est-ce le nouveau Swing ?
- Bertrand Goetzmann a mis a jour son application de présentation Grezi. Et a également une vidéo montrant le support du HTML5.
Note : durant la JavaOne, Jim Weaver qui déteste PowerPoint a utilise Grezi pour ses sessions.- Patrick Webster a porté un clone de pac-man initialement écrit en 1.3.1 vers 2.0
- Dustin a écrit sur l'utilisation de NetBeans 7.1 pour la création d'application FX 2.0.
Note : attention NB7.1 beta est encore pas mal buggé sur les bords.- Hamilton Matos a blogge sur l'utilisation de JavaFX pour créer des composants JSF.
- Gail Anderson a posté sur l'utilisation des animations et du binding :
- Kai Tödter a créé un formulaire et lui a appliqué un CSS avec Ecslipse et e(fx)clipse.
- Un groupe de développeur annonce avoir trouvé une solution pour inclure du Swing dans JavaFX 2.0 (sans plus donner de précisions).
- Richard Bair vient d'envoyer une lettre a la communauté de l'OpenJDK pour créer un début de discussion autour du futur opensourcing de JavaFX.
- La discussion lancée par Richard Bair sur la mailing list de l'OpenJDK va bon train.
- Suite à des demandes sur le forum OTN (Oracle Technical Network), il n'est désormais plus nécessaire d'avoir un compte sur le SDN/OTN pour pouvoir télécharger les runtimes.
- Suite à des demandes faites lors de la JavaOne2011, Jonathan Giles s'est lancé dans la réalisation d'un nouveau composant : le TreeTable
Outre ce qui a été précédemment posté :
- Zonski continue son blog sur le FXML :
- Mario Torre (news précédente sur Swing dans JavaFX) on publie leur code et créé une proposition pour contribuer leur projet a JavaFX.
- Tom Eugelink a publié une mise a jour de MigLayoutFX2.
- Kai Tödter parle des CSS.
- L’équipe de la documentation de JavaFX souhaiterai savoir sur quoi doivent porter ses prochain articles.
- Steve Northover qui travaillait précédemment sur SWT et a integré l’équipe de JavaFX aura une presentation lors de l'EclipseCon 2011 ("Le passé, le présent et le futur de JavaFX et interopérabilité d'avec Swing et SWT")
- Stephen Chin a fait une[ame="http://www.youtube.com/watch?v=jjYXdQ8zpXQ"] interview vidéo chez O'Reilly[/ame] concernant "JavaFX et l’état actuel de Java sur le Client"
- Gail Anderson a posté sur "créer une ardoise a dessin en JavaFX avec du binding"
- Wayne Young s'est amusé a créer :
- une application animant des boules et utilisant le moteur physique JBox2D
- Un side-scroller (maj avec plusieurs TimeLine liees dans une ParallelTransition)
- un présentoir de livres utilisant le rendu en cube de Jim Weaver.
Le code source de chacun des projets est disponible.
Et sinon sur Twitter, Jonathan Giles a fait passer un message a Jim Weave lui indiquant que ca pourrait etre bien de se mettre au Kinect pour ses futures présentations.
Les votes sont désormais ouvert concernant le projet OpenJFX.
- Le Build 07 pour MacOS est disponible.
- Le projet ThingsFX a été formalisé. Pour rappel ce projet permettra d'afficher des composants Swing dans une scène JavaFX.
- Tori Wieldt a poste sur The Java Source "JavaFX, qu'est ce que c'est ?"
- FXForm2 permet de générer... des formulaires dans JavaFX
- Zonski continue son blog sur JEE et JavaFX, cette fois-ci en rajoutant Hessian dans le lot (toujours avec Guice et FXML).
- Wayne Young indique comment configurer JDevelopper
- Gail Anderson parle des animations.
- Peter Pilgrim a poste un webcast sur "ScalaFX dans IntelliJ IDEA 10.5".
- Narayan explore comment exporter une scene ou un noeud dans une image.
Cette méthode consiste principalement a inclure les exports dans un FXPanel affiche dans une JFrame et d'utiliser les méthodes habituelles Java2D/AWT/Swing pour dessiner le tout dans une BufferedImage. Il s'agit de la seule méthode actuelle valide en attendant un support officiel dans une future version.
En news supplémentaires (via Twitter) :
- Jonathan Giles annonce la sortie de DataFX 0.0.3
- Il indique aussi qu'il compte rajouter un auto-configurateur pour la TableView dans le futur de manière a ce que les colonnes sachent d’elles-mêmes comment peupler les cellules ; le tout pour rendre la syntaxe a taper moins verbeuse.
- Les droits du Jira ont été modifiées pour permettre de commenter des issues que l'on a pas créée.
- Kai Tödter a poste sur l'utilisation de JavaFX (pour la couche UI) avec Eclipse RCP (pour la couche métier).
- Mario Torre annonce que ThingsFX (intégration Swing dans JavaFX) gère désormais correctement le focus. La prochaine étape sera l’intégration des événements clavier.
Note : j'ai pu faire des tests avec ThingsFX sur l’intégration d'un composant SIG Swing OpenMap dans une scène et cela fonctionne bien ce qui est du rendu mais des erreurs survenaient des que j’enclenchais la gestion des événements souris. De plus, il faut donner une taille initiale au bean (et donc au SwingPane) sous peine d'avoir une erreur lors de la création du buffer offscreen (car ses dimensions sont 0x0 si un composant n'a pas de taille et il manque un test dans cette partie du code). Également le SwingPane n'est pour le moment pas redimensionnable.- Et a aussi fait des tests pour permettre un rendu en 3D stéréoscopique.
- Roman Kennke a créé un renderer d'hyperarbre (des graphes).
- Niklas Hofmann a écrit un document parlant des propriétés et du binding.
- Rob Mayhew a utilisé MigLayout et MigPane.
- Tom Eugelink a porté le test bubblemark sous JavaFX.
- Et a ensuite ete contacte par des membres de la team pour lui permettre d'activer plus de performances via un flag de la ligne de commande.
- Lawrence McAlpin s'est amuse a créer une application contenant des animations.
- Andre Hogenkamp a décidé de faire tourner JavaFX... sous Linux... avec Wine...
- Bertrand Goetzmann a publié une nouvelle vidéo de Grezi sur l'utilisation de GraphViz.
Via Twitter :
- Johan Vos a poste sur la visualisation de données XML REST dans un controle JavaFX.
- Zen Java a écrit un gestionnaire de téléchargement de fichiers via HTTP utilisant JavaFX et Apache HttpComponents
- Roman Kennke a fait réussi a afficher SwingSet2 dans JavaFX via ThingsFX.
Liens de la semaine de Jonathan Giles :
- Tom Schindl a publie la version 0.0.8 de e(fx)clipse. Le plugin dispose désormais de son propre site web.
- Les slides de la présentation de Stephen Chin et Peter Pilgrim a la Devoxx 2011 sont disponibles : Java FX 2.0 - A Developer's Guide@@AMEPARAM@@ssplayer2.swf?doc=javafx2-0-ajavadevelopersguide03-111115023457-phpapp01&stripped_title=java-fx-20-a-developers-guide@@AMEPARAM@@javafx2-0-ajavadevelopersguide03-111115023457-phpapp01@@AMEPARAM@@java-fx-20-a-developers-guide.
- Patrick Champion a blogué sur "comment étendre un contrôle".
Jonathan Giles a précise qu'il y a un moyen plus simple de faire qui a ete couvert dans une de ses sessions de la JavaOne 2011.- Andre Hogenkamp continue d'essayer de faire fonctionner JavaFX sous Linux.
- Scott Hommel a utilisé l'API Screen pour déterminer la taille des écrans de l'utilisateur.
- Eric Bruno a blogué sur le binding.
- Jonathan Giles a trouvé deux autres projets en naviguant sur GitHub :
Pas eut le temps de traduire les news de la semaine passée (je ferai ça la semaine prochaine), mais Kevin Rushforth vient de poster sur la mailing list de l'OpenJDK que le code source des contrôles est désormais disponible :
Citation:
Envoyé par http://mail.openjdk.java.net/pipermail/openjfx-dev/2011-December/000006.html
Suivit d'une précision de Richard Bair :
Ainsi, en suivant les règles de l'OpenJDK, après un certains nombre de contribution de patchs (non-triviaux), il est possible d'acquérir le statu de membre privilégié.Citation:
Envoyé par http://mail.openjdk.java.net/pipermail/openjfx-dev/2011-December/000007.html
La semaine dernière :
- Osvaldo Pinali Doederlein a réécrit son benchmark "JavaFX Ball 3.0".
- Daniel Zwolenski (Zonski sur les forums Oracle) a publié une avant-première de son projet Flow (création d'architecture pour bâtir des UI JEE et Web avec JavaFX) :
- Mark Stephens a publié une avant-première de son projet : un plugin NetBeans pour convertir du PDF en JavaFX (en générant du code Java).
- Pedro Duque Vieira a publie une petite classe pour convertir des couleurs et images JavaFX <-> AWT/Java2D. Sa methode pour convertir une BufferedImage en Image utilise bien sur une méthode non-documentée et amenée a disparaitre.
- Rob Mayhew a posté sur une boite de dialogue avec fondu enchainé.
- Carl Dea annonce la publication en décembre du livre "JavaFX 2.0: Introduction by Example" chez Apress.
Amazon.com: JavaFX 2.0: Introduction by Example (9781430242574): Carl Dea: Books@@AMEPARAM@@http://ecx.images-amazon.com/images/I/513Qb41YmGL.@@AMEPARAM@@513Qb41YmGL- Enrique García a créé un test associant JavaFX et la bibliothèque Phys2D.
- Bertrand Goetzmann a publié le code de la demo de Grezi utilisant un moteur physique (JBox2D entre autre), ainsi qu'une vidéo :
- Gail Anderson a posté sur l'importance des propriétés.
- Johan Vos a publié la version 0.0.4 de DataFX.
Accessoirement :
- Gerrit Grunwald a publié la version 3.9.9 de SteelSeries (des jauges en Java2D) qui est pour le moment la dernière version Swing du projet. Il a annoncé qu'il porterai prochainement sa bibliothèque en JavaFX.
Cette semaine :
- Suite a la publication du code des contrôles en OpenSource (voir post précédent), Adam Bien a blogue sur comment les compiler.
- Tom Eugelink a annonce que MigLayoutFX2 / MigPane est devenu un module de MigLayout.
- Dierk Koenig mentionne que Oracle et Canoo se proposent de coder une app client JavaFX RIA gratuitement :? (lien Google+ non-visible si la personne n'est pas dans les contacts de Dierk Koenig).
- Niklas Hoffman a poste sur les forums Oracle en indiquant qu'il travaillait sur un compilateur de propriétés , voir la page du projet.
- Niklas a créé un contrôle TreeChart (qui permet donc de dessiner un graphe arbre.
- Jim Weaver a posté un navigateur client Twitter.
- Et il a aussi publie l'application qu'il va utiliser a la JavaOne 2011 Sao Paulo (qui se déroule cette semaine au Brésil).
- Mario Torre a créé un programme de résolution de chemins/contournement d'obstacles.
- Roman Kennke a blogué sur SwingView, le composant de rendu de ThingsFX permettant d'afficher du Swing en JavaFX.
- Pedro Duque Vieira propose un guide et des astuces de portage de JavaFX 1.3.x vers 2.0
- The Register a publie un article de 3 pages sur JavaFX. Jonathan Giles est content d'apprendre qu'ils ont trouve les performances de la TableView satisfaisantes.
- Tom Schindl souhaiterai apporter des précisions quand au rapport entre fxgraph et FXML
- Narayan Maharjan a écrit une introduction au FXML.
- Jonathan Giles a poste une astuce pour désactiver le rendu alternatif des lignes dans TableView et ListView quand la dite ligne est vide.
Pour ma part, j'ai passe les 3 dernières semaines a faire du JavaFX 1.3.1 et aussi un peu d'Android. De plus, face aux piètres performances au niveau consommation mémoire de la bibliothèque de graphe de JavaFX 2.0 (la version finale consomme bien plus de mémoire que les des premières bêta lors de l'affichage des mêmes données), je suis en train de porter une partie de mon code en C# pour tester si une alternative .NET ne serait pas plus efficace (a quoi ça sert de réécrire une application en JavaFX 2.0 si elle bouffe genre 10 fois plus de mémoire que l'ancienne version Swing et qu'au finale elle n'est utilisée que sous Windows :?).
Les choses bouillonnent un peu cette semaine avec les retombées de la JavaOne Latin America, la publication de JavaFX 2.0.2 et la mise a jour de la roadmap.
- De nouvelles présentations de la JavaOne San Francisco sont disponibles chez Parleys, dont celle de Jonathan Gilles sur la "Création de composants customs et de graphiques".
- Richar Bair a poste des précisions sur comment arriver a compiler les sources des contrôles désormais disponibles sur Openjfx.
- Le JugFX de la Silicon Valley se réunira cette semaine pour écouter parler Per Bothner sur le controle WebView.
- Dan Zwolenski a poste un blog sur JavaFX et le MVP (Model -View - Presenter une nouvelle variante a la mode du MVC)
- Un plugin JavaFX est désormais disponible pour Gradle.
- Le livre de Carl Dea "JavaFX 2.0: Introduction by Example" a été publié.
[ame="http://www.amazon.com/JavaFX-2-0-Introduction-Carl-Dea/dp/1430242574/ref=sr_1_1?ie=UTF8&qid=1323290921&sr=8-1&tag=rnwff-20"]Amazon.com: JavaFX 2.0: Introduction by Example (9781430242574): Carl Dea: Books@@AMEPARAM@@http://ecx.images-amazon.com/images/I/51qsu-xxjVL.@@AMEPARAM@@51qsu-xxjVL[/ame]- Eric Bruno a poste sur comment créer un conteneur customisé.
- Jim Kay a fait des expérimentations en 3D.
- John Smith a crée un sélectionneur de date basé sur JQuery.
- Sam Howard a écrit un l’écriture d'un visualisateur de PDF, un plugin pour afficher du PDF dans NetBeans et une bibliothèque pour afficher du PDF.
- Geertjan Wielenga de son coté a écrit sur un système de module et un framework de docking, une intégration plus poussée dans NetBeans, l'accueil réservé a JavaFX par les participants de la JavaOne Latin America et pour finir un navigateur embarqué dans NetBeans.
Via Twiter et autres :
- JavaFX 2.0.2 est désormais disponible et supporte l’intégration de JavaFX dans SWT. La licence a également changé et il est désormais possible de packager et redistribuer les runtimes.
- L’équipe chargée de la documentation a publié de nouveaux articles pour accompagner cette sortie.
- La roadmap a été mise a jour :
http://javafx.com/roadmap/timeline.gif- Johan Vos indique que l'annonce a été faite que JavaFX sera porté sur Linux Arm (suite au port de Java SE 7 sur cette même plateforme).
- Pedro Duque Vieira a écrit sur comment créer un menu popup.
Il y a du mouvement ces derniers temps.
Est-ce qu'on s'approche de quelque chose de vraiment utilisable en entreprise ou est-ce qu'on en est encore aux balbutiements?
A-t-on des success story d'investissements dans cette techno?