Parmi les quelques bouquins de chevet dont je dispose, le dernier "Bien developper pour le Web 2.0" a sa place aux côtés d'autres.
Ce livre est très bien fait, même sous cette forme un peu "catalogue de Framework JavaScript", on y apprend pleins de choses intéressantes.
Suite:
Il a cependant une particularité. J'avoue que c'est la première fois que je lis un livre de ce type chez Eyrolles. Pour un éditeur qui a l'habitude de lécher les styles et de parfaire la forme, on a parfois l'impression d'être au bistrot en train de siroter un pastis avec l'auteur. Le ton est familier, on utilise à outrance le "ça" au lieu du "cela", et chose rarissime, l'auteur y parle à la première personne du singulier en plaçant des "le compilateur nous pond" au lieu de "le compilateur nous génère".
Attention, ce n'est pas une critique, j'avoue que parfois c'est assez sympa de prendre des distances avec les formules parfois toute faites du langage de Molière.
Mais Soyons clair, c'est un bouquin fait par un féru de JavaScript. Du coup lorsque je lis page 659 la chose suivante (Merci à Eyrolles de me faire retirer ces lignes si j'enfreint une règle quelconque de copyright) :
(.) Le Google Web Toolkit est une API Java extrêmement riche dont le principe fondamental est simple : vous écrivez votre interface Web en Java, un peu comme vous décririez une interface Swing. GWT se charge de compiler tout ça pour pondre du HTML, des CSS et du JavaScript qui passent partout, sont performants et interagissent de façon transparente avec votre couche serveur, en gérant les problématiques de persistance d'état, de flux de données,etc.
Autant je suis le premier à regarder avec avidité toutes les nouvelles API que nous sort Google (j'ai notamment travaillé avec les API Maps, Maplets, Static Maps, Chart, Feedburner, Analytics, CheckOut, Custom Search, Gears, Open Social, Sitemaps et Youtube), autant je suis plutôt du genre à fuir GWT.
C'est tout à fait personnel : étant moi-même féru de JavaScript avancé et très perfectionniste sur la sémantique et l'accessibilité de mon balisage, l'idée de laisser tout ça à une boite noire (enfin non, c'est du logiciel libre, mais pour se farcir la masse de code et l'internaliser, bonjour.) qui, pour passer vraiment partout, fait forcément bon nombre d'entorses à mes idéaux, m'est plutôt douloureuse. (.)
J'insiste encore une fois, ce livre est très bien. Courez l'acheter, vous ne le regretterez pas.
Maintenant je ne ferai pas de commentaire particulier sur l'argumentation qui est une opinion personnelle et qui se résume en fin de compte à "Je fuis GWT car c'est une boite noire et je ne sais pas ce qu'il génère". Tout comme l'auteur de ce livre (à qui j'offre au passage trois jours de formation gratuite à GWT sur la session de Septembre), ce n'est pas la première fois que j'entend ces craintes. Il est très difficile d'y répondre pour une raison simple. C'est comme si quelqu'un vous disait "je préfère coder en Assembleur, au moins je sais ce que je fais par rapport à du C, C++ ou Java". La seule réponse qu'on peut y apporter est la suivante : GWT génère du code JavaScript qu'aucun humain normalement constitué ne pourrait générer, optimise du code en reprenant les principes en vigueur dans le red dragon comme aucun extra-terrestre ne pourrait l'optimiser et adapte le code à tous les navigateurs comme personne ne pourrait le faire. Même le plus "puriste" et le plus "perfectionniste" des développeurs JavaScript.
C'est pour cette raison que je me garde sous le coude un billet (http://www.digitalderby.com/2009/08/gwt-vs-java-vs-c/ - que vous avez peut-être déjà parcouru) qui rassemble les principales idées que je me fais de GWT et que je souhaite leur transmettre.
Je me demande simplement si le nom "GWT", faisant référence à la marque Google n'en fait pas une faiblesse face aux révolutions que représentaient le C ou le java vis à vis des plus pessimistes...
Merci pour le lien