vendredi 6 avril 2012

Veille technologique semaine 14

Pour le bulletin de la semaine 14, je vous propose les sujet suivants :
  • la sortie du composeur visuel pour JavaFX montre l'investissement d'Oracle sur cette technologie. Un rappel de la roadmap, et un zoom sur le builder de scene graph. C'est également un outil qui sépare correctement le rôle de graphiste, de celui de l'informaticien.
  • Une vidéo, sur YouTube, qui montre l'utilisation de ce composeur visuel JavaFX.
  • La mise en page (Layout) avec JavaFX
  • Le planning de sortie du JDK 8
  • Des slides des évolutions du JDK 8
  • Les Virtual Extension Methods du JDK 8 : analyse.
  • Un article sur les objets à options.
  • L'usage de l'annotation @SuppressWarnings en Java

Bonne lecture.


JavaFX Roadmap
At JavaOne 2010, Oracle laid out a long-term roadmap for JavaFX to make it a premier rich client platform. JavaFX 2.0 is a significant milestone towards fulfilling this vision. The following section provides an overview of upcoming features in the JavaFX platform.


JavaFX Scene Builder
A Visual Layout Tool for JavaFX Applications
JavaFX Scene Builder is a visual layout tool that lets users quickly design JavaFX application user interfaces, without coding. Users can drag and drop UI components to a work area, modify their properties, apply style sheets, and the FXML code for the layout that they are creating is automatically generated in the background. The result is an FXML file that can then be combined with a Java project by binding the UI to the application's logic.

Vidéo sur YouTube :

http://www.youtube.com/watch?v=rHcnsEoSK_c


Announcing JavaFX Scene Builder Public Beta
At its heart, the Scene Builder is really a layout tool. One of the most difficult aspects of building apps (and something we see very frequently in the JavaFX OTN Forums) is doing layout and constructing the UI, and this is what Scene Builder needs to be really, really good at.


Laying Out a User Interface with JavaFX 2.0
Learn to use the layout capabilities of JavaFX 2.0 to make nodes in the scene graph appear where
you want them to be and more.
JavaFX 2.0 is an API and runtime for creating Rich Internet Applications (RIAs). JavaFX was introduced in 2007, and version 2.0 was released in October 2011. One of the advantages of JavaFX 2.0 is that the code can be written in the Java language using mature and familiar tools. This article focuses on using the layout capabilities of JavaFX 2.0 to make nodes in the scene graph appear where you want them to be and be the appropriate size as the window is resized.


Proposed dates for JDK 8
First of all I'd like to propose some dates for the implementation milestones for JDK 8 so that there are some high-level buckets that can be targeted for delivering features and enhancements.

Implementation milestones:
- M1: August 2011 - April 24, 2012
- M2: Ends June 14, 2012
- M3: Ends July 30, 2012
- M4: Ends September 11, 2012
- M5: Ends November 26, 2012
- M6: Ends January 30, 2013

General bug fixing from early February till early April 2013
- In early April 2013 the bar is raised to only allow P1-P3 bugs to be fixed
- By mid-June 2013 the bar is raised even higher and only showstopper bug fixes are considered


Java 8: Selected Updates
Warning: Dense Slides Ahead!
  • Modules: Project Jigsaw
  • "Nashorn" JavaScript engine
  • uses invokedynamic; strong Java integration
  • JVM convergence (JRockit + HotSpot)
  • "permgen" removal, manageability hooks, optimizations
  • Project Lambda
  • Better inner classes; defender methods (= no-state traits)
  • Technical debt: going into collections
  • Lambda queries, fork/join integration, immutability, etc.
  • More: APIs, annotations, OS X, Java FX, etc., etc.

La fausse bonne idée des Virtual Extension Methods dans Java 8
Quand on s'intéresse aux évolutions de Java, il faut lire le Touilleur Express (http://www.touilleur-express.fr/) et plus particulièrement son compte rendu "Rémi Forax au Paris JUG" (http://www.touilleur-express.fr/2012/03/16/remi-forax-au-paris-jug/) . Apparemment, les lambda expressions feront leur apparition dans la version 8 du langage, ce dont tout le monde devrait se réjouir.
Je ne suis pas un habitué de Java. Mon premier langage fut le C++ et aujourd'hui celui que je maîtrise le mieux reste C# mais comment résister à l'envie de jeter un coup d'oeil aux évolutions de Java au moment où celui-ci se met à rattraper (un petit peu[1]) son retard sur C# ? Je vais essayer d'expliquer ce que j'ai compris et pourquoi je pense qu'un des choix effectués ne me semble pas être des plus judicieux.


Des Objets À Options
Le modèle objet facilite la réutilisation. Il est possible d'utiliser l'héritage et le polymorphisme pour spécialiser un objet suivant un besoin particulier. Les concepteurs objets conseillent à juste titre, qu'il existe, dans les programmes, une séparation entre les objets métiers et les objets d'interfaces. Cela permet d'extraire un métier sans devoir récupérer une interface gênante. Tout cela est bien joli, mais, à l'usage, ce n'est pas toujours si facile. Étendre un arbre d'héritage pour enrichir un métier ou une interface ne pose pas de problème. Par contre, étendre un métier pour un ou plusieurs usages spécifiques, n'est pas évident.


@SuppressWarnings annotation
The @SuppressWarnings annotation is defined in the Java Language Specification section 9.6.1.5. This section states:
The annotation type SuppressWarnings supports programmer control over warnings otherwise issued by the Java compiler. It contains a single element that is an array of String. If a program declaration is annotated with the annotation @SuppressWarnings(value = {S1, ... , Sk}), then a Java compiler must not report any warning identified by one of S1, ... , Sk if that warning would have been generated as a result of the annotated declaration or any of its parts. Unchecked warnings are identified by the string "unchecked".

Aucun commentaire: