JavaOne 2007 et Groovy chez Google
En mai a lieu la plus grande conférence Java de la planète, organisée par Sun, à San Francisco. Après avoir soumis un papier pour présenter Groovy, ma proposition a été acceptée, et j'ai également été invité chez Google pour une autre présentation par Dick Wall, l'un des créateurs du fameux podcast JavaPosse.
Je suis arrivé en Californie lundi midi, après 12 heures de vol et 9 heures de décalage horaire dans la tête. J'ai filé directement à Moutain View, dans la Silicon Valley, dans le fameux présentation de Groovy, et des "cool things" qu'on peut faire avec. J'ai fait cette présentation avec Dierk König, mon co-auteur de "session récurrente à JavaOne basée sur son bouquin "closures. Les closures sont intéressantes pour encapsuler un bout de logique réutilisable, mais j'ai peur que l'implémentation proposée soit un peu trop compliquée pour le développeur moyen. En particulier, le fait que Java soit devenu un langage complexe avec les generics, le boxing, mais également les checked exceptions, ne va pas faciliter le langage dans son ensemble pour garder un tout cohérent. Je suis donc un peu perplexe sur le futur des closures dans Java 7. Au nom de la "backward compatibility", ils ne vont pas améliorer les APIs existantes dans le JDK pour tirer parti de cette nouvelle fonctionnalité. C'est dommage si tel est le cas.
La session sur GWT, c'était une présentation assez générale sur Scriptaculous, Prototype et Rico, et je dois avouer que je n'avais pas trop regardé de près ce qu'on pouvait faire avec ces librairies JavaScript, mais c'est vrai que c'est très puissant et assez bluffant : un joli effet accordéon sur des divs, le drag'n drop, les tags JSF Rico, bref, plein de bonnes choses. J'ai aussi suivi la session sur jMaki, qui permet d'encapsuler élégamment différents fournisseurs de librairies de widget Ajax, mais aussi comment faire communiquer ces widgets ensemble au travers d'un bus publish/subscribe côté client. C'est certainement une des fonctionnalités les plus intéressantes de ce projet.
Parmi les autres sessions auxquelles j'ai assisité, j'ai suivi une session intéressante sur JMX, sur la manière d'introspecter ses applications en live, comment utiliser Spring pour exposer facilement de beans JMX, mais aussi comment utiliser des scripts Groovy rechargeables à chaud pour mettre en place une introspection dynamique. Toujours sur le thème de Spring, j'ai suivi la session "Advanced Spring" de Rod Johnson où il expliquait plus en détail les modes de configuration (y compris le fait que le XML n'est pas forcément nécessaire et qu'il avait créé l'équivalent de Google Guice en terme d'annotations de configuration), les différents points d'extension (FactoryBean, BeanPostProcessor, BeanFactoryPostProcessor et BeanDefinition), et aussi l'avenir avec le support de OSGi. Rod Johnson en a également profité pour annoncé que Interface21 venait de lever 10 millions de dollars d'investissement, c'est une belle somme, et cela permettra à Interface21 d'étoffer et peaufiner son beau portfolio de projets et d'étendre sa couverture mondiale et ses efforts marketing.
Il y a d'innombrables sessions à JavaOne, et ce n'est pas possible de suivre toutes les sessions qui semblent intéressantes, mais heureusement, les slides des présentations sont en ligne, ce qui permettra à chacun de découvrir le contenu de ses présentations en mode offline.