Compte-rendu de 3 Sessions

Compiler Deep Dive – Ray Cromwell / Google

Certains s’en rappellent peut-être, j’avais animé il y a 7 ans (que le temps passe vite !) une session assez particulière intitulée « la face cachée de GWT » dans laquelle je présentai la richesse du compilateur et les différentes optimisations proposées par GWT (http://www.slidefinder.net/f/face_cach%C3%A9e_gwt/=gwt_compiler_samijaber/8228091 & http://www.youtube.com/watch?v=rqSfKOrwFGI) . Cette session de Ray Cromwell est à quelques détails près similaire à la mienne. Il  évoque les optimisations, l’arbre syntaxique Java, l’utilisation du JDT d’Eclipse, le fameux TypeOracle et l’arbre syntaxique JavaScript.  L’occasion de répondre à quelques questions sur l’historique du projet, l’utilisation du JDT en lieu et place de la nouvelle API Java. Il montre également le fonctionnement interne de modèle de Bootstrapping avec les linker et le Defferred Binding. Une session passionnante pour le non initié.

Slides : A venir

New Tools for Debugging GWT Apps – Brian Slesinsky / Google

Avec un titre aussi accrocheur  j’avoue que je pensai voir de nouvelles fonctionnalités à SDM (Super  Dev Mode), une fonctionnalité qui existe depuis plus de deux ans déjà. Mais rien de nouveau sous le soleil excepté le fait que les jours du DevMode standard sont comptés et que Mozilla et Google ont annoncé d’ores et déjà l’arrêt de l’API NPAPI utilisée par GWT. Coté SDM, le Debug avec SourceMaps est encore loin, très loin d’égaler la qualité du debuggeur d’Eclipse ou d’IntelliJ. Le support est tout juste correct sous Chrome, Firefox 25 est lent et Internet Explorer 11 ne propose rien (c’est prévu). Le pire dans cette session c’est qu’elle montre comment les développeurs JavaScript sont aujourd’hui démunis en termes de Debug cross-browser. La productivité aujourd’hui est du côté du DevMode standard avec le Plugin NPAPI.

Autre regret, nous n’avons rien vu concernant le support du remote debug via les outils (Eclipse ou Intellij). Plusieurs travaux sont en cours, mais rien de bien tangible.

Slides : A venir

A glimpse into the future of GWT – Nextgen Js Interop and Widgets 2.0 – Daniel Kurka Google

Assurément la session la plus passionnante de la journée et celle qui nous a apporté le plus d’informations, même aux initiés. Si vous ne connaissez pas les WebComponents, c’est le moment de faire un tour ici => http://www.journaldunet.com/developpeur/client-web/web-components-0913.shtml. C’est la possibilité de créer des balises HTML personnalisables du type <monTagQuiClignote>Coucou </monTagQuiClignote>. Pour résumer vulgairement, c’est un peu comme utiliser des taglibs JSF ou ASP.NET avec un parseurs nativement intégré au navigateur. Oui, c’est bien une sorte de Flex ou WPF parsé et chargé dans le navigateur.  Une sorte d’UiBinder dynamique. Cela ouvre des possibilités phénoménales d’échange entre Web Designer et développeurs avec un procédé de Template similaire à celui fourni par AngularJS.

Slides : A venir

Auteur : Sami Jaber (DNG Consulting)

——————————————————-

Session Web components en GWT

Une démonstration de Daniel Kurka sur le futur de GWT avec la prise en compte des toutes nouvelles spécifications W3C des navigateurs et la possibilité de créer ses propres composants web.
On parle bien ici des fameux web components qui permettent d’intégrer dans nos pages HTML des composants évolués via de simples balises les représentant.

Son premier exemple montre une simple balise <x-Blink/> qui permet de faire clignoter du texte. L’idée est simple et l’implémentation pas bien plus compliquée en utilisant des CSS et/ou du javascript.
Un second exemple fera rire un peu plus l’assemblée : un passage sur une zone fait apparaître un fameux chanteur dansant le gangnam style, musique à l’appui.

Le dernier exemple sur lequel il se basera pour nous montrer l’intégration à GWT est l’utilisation d’un bouton à état et de Google map via une balise <My-Map/>
En effet, la définition des balises et leur utilisation se fait de manière très simple en créant des interfaces représentant le code javascript. De simples annotations sur l’interface Java et ses attributs ou méthodes sont identifiés JSNI.

Plus de JSNI ou JSO verbeux, tout est automatique via les annotations.
On code en Java des routines JavaScript. On les utilise naturellement car c’est bien du Java que l’on manipule ! La magie opère et l’intégration d’un Web Component se fait en quelques lignes de code Java.
Pour ce qui est de la disponibilité dans GWT, cela n’est pas prévu pour 2.6, il faudra attendre au mieux 3.0, sans grande certitude à ce sujet.

Auteur : Romain Hochedez (DNG Consulting)