Cette publication ne fait pas partie de la bibliothèque YouScribe
Elle est disponible uniquement à l'achat (la librairie de YouScribe)
Achetez pour : 16,99 € Lire un extrait

Téléchargement

Format(s) : PDF

avec DRM

Partagez cette publication

Vous aimerez aussi

Avant-propos
Le Google Web Toolkit, ou GWT, est apparu en 2006 un peu comme u n OVNI sur la scène du développement d’applications dites RIA (Rich Internet Applications) ou « Web 2.0 ». En effet, il ne rentrait dans aucune des catégorie s d’outils existant alors pour faciliter le développement de ce genre d’applications .Étaitce un framework web de plus ? Non... Une énième bibliothèque de composants Ja vaScript ? Non... Une nouvelle plateforme nécessitant encore unpluginpour fonctionner dans le navigateur ? Non plus...
GWT est fondé sur un concept tellement original qu’il n’a pas convaincu grand monde à l’époque : développer et mettre au point en pur Java, e t traduire en JavaScript au moment de déployer l’application sur le Web. Les avantage s : on développe dans un langage familier et avec un typage fort (Java), dans un env ironnement familier (son IDE préféré – Eclipse, NetBeans, peu importe), avec des concepts familiers (boutons,panels,listeners, MVC, etc.) ; par conséquent la courbe d’apprentissage pour des développeurs Java est très rapide. D’autre part, toute l a complexité de l’adaptation aux différents navigateurs est entièrement assumée par le t raducteur JavaJavaScript, et le cauchemar de la prise en compte des différentes variant es de JavaScript entre Firefox, IE, Safari, n’est plus qu’un souvenir.
GWT est la traduction technique de la vision qu’a Google des t echnologies du Web 2.0 : «The browser is the platform» (le navigateur est la plateforme). GWT n’impose pas de nouveauruntime(pas depluginnécessaire), il profite de l’infrastructure et des outils en place, et s’intègre parfaitement dans les ar chitectures et avec les technologies existantes. Il offre une transition idéale en tre le développement classique et le développement d’applications RIA, avec un investisse ment humain et technique minimal.
La promesse semble trop belle pour être vraie, et pourtant.. . difficile de lui trouver des défauts : si les premières versions souffraient de quelq ues problèmes, GWT n’a cessé de progresser, et depuis la version 1.4, on peut consid érer qu’il est totalement fiable et efficace, et l’a prouvé sur de nombreux projets. La li cence initiale, jugée restrictive par certains, a été remplacée par la licence Apa che 2.0, considérée comme une des plus libérales de l’Open Source, ce qui garantit la pérennité du produit. Le
XIV
GWT
groupe de discussion consacré à GWT compte plus de 20 000 memb res, preuve de la vitalité de la plateforme. J’ai personnellement découvert GWT en 2006, et l’approche m ’a immédiatement séduite car elle me permettait enfin de réconcilier la créati on d’applications AJAX avec l’univers Java qui est le mien depuis de nombreuses anné es. Cela signifiait surtout qu’il serait désormais possible de mener à bien un projet de c e type en se passant (enfin) d’un « expert JavaScript », ce magicien qui connaît pa r cœur les subtilités (et les bugs) des différentes implémentations dans les navi gateurs, et les astuces qui permettent de les contourner... Si l’approche de GWT m’a séduite, j’avoue avoir eu des doutes sur son applicabi lité : comment émuler fidèlement la bibliothèque Java duJava Runtime Environment (JRE) ? Comment gérer la généricité ? Comment tester le code ? Les différences entre le langage interprété qu’est JavaScript et le langage compilé qu’est Java ne serontelles pas rédhibitoires ? Et qu’en seratil des per formances ? Cependant, comme à son habitude, Google a fait taire mes doutes en apportant de s réponses techniques adéquates, efficaces et innovantes, et c’est sans doute ce qu i a fait de GWT un produit réellement utilisable, et pas seulement un concept origina l. Àant en œuvrece jour, cela fait deux ans que je participe à des projets mett GWT, et sur chacun d’eux il a fait la preuve de sa maturité de la meilleure manière : en se faisant oublier... une fois la configuration en place, i l devient un rouage de la mécanique, et permet de se concentrer sur les problématique s propres à l’application. L’intérêt des développeurs pour GWT est fort, mais malheure usement la littérature francophone sur le sujet est rare. J’espère donc au travers d e ce livre vous donner toutes les clés qui vous permettront de vous mettre à GWT.
À qui s’adresse ce livre ?
Ce livre s’adresse principalement aux développeurs Java ay ant un minimum d’ex périence et qui veulent découvrir et mettre en œuvre Google W eb Toolkit. Une connaissance de base du langage Java est requise, ainsi que d es principales technologies du Web : HTTP, HTML et CSS, JavaScript.
Pour les aspects clientserveur, une connaissance des prin cipes de JEE (Java Enter prise Edition) est souhaitable, même si nous essayerons d’e n rappeler les principales notions lorsque nous y aurons affaire.
Avant-propos
XV
Comment est structuré ce livre ? Ce livre est découpé en deux parties : La première partie expose les bases qui permettent de compre ndre GWT et de réaliser une application complète : en situant GWT dans son contexte et en expliquant ses ambitio ns et le cheminement qui a conduit à son apparition (chap. 1) ; en montrant comment mettre en place l’environnement logici el nécessaire et créer un premier projet GWT (chap. 2). Vous y apprendrez ég alement la façon de développer et déboguer avec GWT (chap. 3) ; en présentant les éléments de construction d’une applicati on GWT, aussi bien graphiques (widgets, chap. 4) qu’architecturaux (com munication avec le serveur, chap. 5). t pas forcémentLa deuxième partie explorera des concepts avancés qui ne son nécessaires dans toutes les applications GWT, mais qui peuv ent répondre à une problématique spécifique : – les possibilités d’internationalisation de GWT (chap. 6) ; orer du code: JSNI pour incorp les possibilités avancées du compilateur JavaScript dans des méthodes Java, et ledeferred bindingpour générer des versions de code optimisées pour chaque environnement (cha p. 7) ; – la gestion de l’historique du navigateur (chap. 8) ; les possibilités d’envoi direct de requêtes HTTP (chap. 9). On y verra aussi comment manipuler XML et JSON avec GWT ; les différentes manières de créer ses propres composants gr aphiques (chap. 10) ; l’utilisation de bibliothèques tierces avec GWT, que ce soi t pour enrichir la palette de composants d’interface utilisateur ou pour fo urnir d’autres fonctionnalités (chap. 11) ; enfin, le chapitre 12 qui fera un tour d’horizon des nouveauté s de GWT 2.0.
Si la première partie est plutôt linéaire, la seconde peut êt re consultée indépen damment et servir de référence.
Remerciements Ce livre n’aurait pas été possible sans la patience de mon épo use, qui a supporté les nombreuses heures durant lesquelles j’étais plongé dans la rédaction de cet ouvrage. Merci également à Didier Girard pour avoir eu l’amabilité de rédiger la préface, pour m’avoir mis en contact avec l’éditeur et pour ses consei ls toujours précieux.