Programmation GWT 2

-

Livres
538 pages
Lire un extrait
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Pour peu qu'on en maîtrise les pré-requis d'architecture, le framework GWT 2 met à la portée de tous les développeurs web la possibilité de créer des applications web interactives et robustes avec une productivité hors pair. Publié en licence libre Apache, Google Web Toolkit génère depuis Java du code JavaScript et HTML5/CSS optimisé à l'extrême.



La référence sur GWT 2 : une autre façon de développer pour le Web



La version 2 de GWT est une révolution en termes de productivité, de simplicité et de robustesse. C'est ce que montre cet ouvrage de référence sur GWT 2, qui fournit au développeur une méthodologie de conception et des bonnes pratiques d'architecture. Il détaille les concepts qui sous-tendent le framework pour en donner les clés d'une utilisation pertinente et optimisée : performances, séparation en couches, intégration avec l'existant, design patterns, sécurité...



De la conception à l'optimisation et aux tests, toutes les étapes du développement sont déroulées, exemples de code à l'appui. S'adressant tant au développeur qu'à l'architecte, l'ouvrage dévoile les coulisses de chaque API au fil d'un cas d'utilisation simple et décortique les nouveautés de GWT 2.5 que sont MVP avec Activity & Places, RequestFactory, CellWidgets et Editor.



A qui s'adresse cet ouvrage ?




  • A tous les développeurs web (Java, PHP, Ruby, Python...) qui souhaitent industrialiser la création d'applications complexes ;


  • Aux architectes logiciels, chefs de projets ou testeurs qui doivent comprendre l'intérêt de GWT ;


  • A tous ceux qui voient en HTML5 et JavaScript un socle idéal pour l'exécution d'applications web.




  • Introduction à GWT


  • L'environnement de développement


  • Les contrôles


  • Le modèle de placement CSS


  • Bibliothèques tierces


  • Intégration de code JavaScript


  • La création de composants personnalisés


  • Les services RPC


  • Intégration J2EE


  • Le chargement à la demande


  • La liaison différée


  • La gestion des ressources


  • Sous le capot de GWT


  • L'internationalisation


  • L'environnement de tests


  • Les design patterns GWT


  • La création d'interfaces avec UiBinder


  • Le Plug-in Eclipse pour GWT


  • RequestFactory


  • Les composants CellWidget


  • Activités et Places


  • L'API Request Factory


  • L'API Editors

Sujets

Informations

Publié par
Date de parution 20 septembre 2012
Nombre de visites sur la page 288
EAN13 9782212175325
Langue Français

Informations légales : prix de location à la page 0,0202 €. Cette information est donnée uniquement à titre indicatif conformément à la législation en vigueur.

Signaler un problème
Programmation GWT 2
Développer des applications HTML5/JavaScript en Java avec Google Web Toolkit
À jour pour GWT 2.5
S a m i J a b e r
e 2 édition
Programmation GWT 2 e 2 édition Pour peu qu’on en maîtrise les prérequis d’architecture, le framework GWT 2 met à la portée de tous les développeurs web la possibilité de créer des applications web interactives et robustes avec une productivité hors pair. Publié en licence libre Apache, Google Web Toolkit génère depuis Java du code JavaScript et HTML5/CSS optimisé à l’extrême.
La référence sur GWT 2.5 : une autre façon de développer pour le WebLa version 2 de GWT est une révolution en termes de productivité, de simplicité et de robustesse. C’est ce que montre cet ouvrage de référence sur GWT 2, qui fournit au développeur une méthodologie de conception et des bonnes pratiques d’architecture. Il détaille les concepts qui soustendent le framework pour en donner les clés d’une utilisation pertinente et optimisée : performances, séparation en couches, intégration avec l’existant, design patterns, sécurité…
De la conception à l’optimisation et aux tests, toutes les étapes du développement sont déroulées, exemples de code à l’appui. S’adressant tant au développeur qu’à l’architecte, l’ouvrage dévoile les coulisses de chaque API au fil d’un cas d’utilisation simple et décortique les nouveautés de GWT 2.5 que sont MVP avec Activity & Places, RequestFactory, CellWidgets et Editor.
Au sommaire Introduction à GWTPerformances et support multinavigateurL’environnement de développementTélécharger et installer GWTPackaging et notion de moduleStructure d’un projet GWTMode développement et mode productionTypes Java émulésDéploiement avec Ant ou MavenLes contrôlesClasses UiObject et WidgetFeuilles de styles CSS : styles dépendants, styles prédéfinisGestion d’événementsWidgetsFormulairesSuggestBox Bundle d’images et gestionnaires de placement Conteneurs Le modèle de placement CSS Limites des tableaux HTMLet nou API veaux conteneurs StackLayoutPanel, TabLayoutPanelBibliothèques tiercesUn écosystèmeExtGWT, Sencha ExtGWT, SmartGWTGlisserdéplacer avec GWTDnDLiaison de donnéesGWTLogAPI GData et Google APIIntégration de code JavaScriptComprendre JSNILe type JavaScriptObjectLes exceptionsLes Overlays et JSONCréer ses propres composantsLe DOMLa mécanique des événementsComposant dérivé de WidgetAttachement à un conteneur et fuites mémoireLes services RPCÉtapes de construction d’un serviceSérialisationPerformancesRequestBuilder et architecture RESTIntégration J2EEModèle par délégationExtensibilitéIntégration Spring, EJB3, RMI ou Soap Chargement à la demandePositionner les points de rupturePattern Async ProviderCode Splitting V2Liaison différéePropriétés, règles et conditions de liaisonGénérateur de codeGestion des ressourcesIntroduction à l’API ClientBundle Injection dynamique de CSS, de données binaires et de textePréfixes et fonction de valeurSubstitution à la voléeSous le capot de GWTCompilateurArbre syntaxique et optimisationsAccélérer les temps de compilationLinkers et gadgetsInternationalisationConstantesMessagesI18nCreatorFormes pluriellesGestion des testsProblématique des tests GWTStyles de testsSeleniumHtmlUnitWebDriverBouchons (mock objects)Design patterns GWTGestion de la sessionGérer l’historiqueTraitements longsSéparer présentation et traitementsPatterns MVCGérer la sécuritéXSSInjection SQLCSRFAuthentificationUiBinderStyles et ressourcesGestion des événements  Internationalisationpersonnalisés Analyseurs Plugin Eclipse Création de projetgraphiques Assistants  RPCRequestFactoryProxy et RequêteExemple pratiqueCellWidgetPrincipe des cellules Grilles et nouveaux composants Activity & PlacesActivité, vues et placeMise en œuvre via un exemple completAPI EditorCorrespondance entre modèle de données et interface graphique.
Àquisadressecetouvrage? – À tous les développeurs web (Java, PHP, Ruby, Python…) qui souhaitent industrialiser la création d’applications complexes ; – Aux architectes logiciels, chefs de projets ou testeurs qui doivent comprendre l’intérêt de GWT ; – À tous ceux qui voient en HTML5 et JavaScript un socle idéal pour l’exécution d’applications web.
Sami Jaber Architecte logiciel et formateur,Sami Jabera passé plusieurs années comme directeur technique chez un grand intégrateur avant de créer DNG Consulting, cabinet de conseil et d’expertise spécialisé dans les architectures orientées services et le Web 2.0. Il donne de nombreuses conférences sur GWT en France et à l’étranger. Il assiste également les entreprises utilisatrices de technologies .NET ou Java. Son blog, une référence du domaine, est hébergé à l’adresse www.samijaber.com.
9782212134780
Code éditeur : G13478 ISBN :
Conception : Nord Compo
Programmation GWT 2
Développer des applications HTML5/JavaScript en Java avec Google Web Toolkit
e 2 édition
Danslamêmecollection R.Rimelé.HTML 5.Une référence pour le développeur web.N°12982, 2011, 604 pages (collection Blanche).
R.GoetteR.CSS avancées.Vers HTML 5 et CSS 3.e N°13405, 2 édition, 2012, 400 pages (collection Blanche).
C.PoRteneuve. –Bien développer pour le Web 2.0.Bonnes pratiques Ajax. e N°12391, 2 édition, 2008, 674 pages (collection Blanche).
E. Sarrion. –jQuery Mobile.La bibliothèque JavaScript pour le Web mobile.N°13388, 2012, 610 pages.
F.Daoust, D. Hazaël-massieux.Relever le déI du Web mobile.Bonnes pratiques de conception et de développement. N°12828, 2011, 300 pages (collection Blanche).
cHezlemêmeéDiteuR K.Deloumeau-PRiGent.CSS maintenables avec Sass & Compass.Outils et bonnes pratiques pour l’intégrateur web.N°13417, 2012, 272 pages (collection Design web).
C.scHillinGeR.Intégration web : les bonnes pratiques.Le guide du bon intégrateur.N°13370, à paraître 2012, 400 pages (collection Design web).
E. Sarrion. –jQuery 1.7 & jQuery UI.e N°13504, 2 édition, 2012, 600 pages.
e. saRRion.Prototype et Scriptaculous.Dynamiser ses sites web avec JavaScript.N°85408, 2010, 342 pages (e-book).
J. enGels. –HTML5 et CSS3.Cours et exercices corrigés. N°13400, 2012, 550 pages.
G. swinnen. –Apprendre à programmer avec Python 3. e N°13434, 3 édition, 2012, 435 pages.
J.EngElS. –PHP 5.Cours et exercices. N°12486, 2009, 638 pages.
H.BErSini. –La programmation orientée objet. e N°12806, 5 édition, 2011, 644 pages.
Danslacollectiona BookaPaRt E.maRcotte. –Responsive Web Design. N°13331, 2011, 160 pages. J.keitH. –HTML5 pour les web designers. N°12861, 2010, 98 pages. D.ceDeRHolm. –CSS3 pour les web designers. N°12987, 2011, 132 pages. E.kissane. –Stratégie de contenu web. N°13279, 2011, 96 pages.
J. staRk. –Applications iPhone avec HTMl, CSS et JavaScript.Conversions en natifs avec PhoneGap. N°12745, 2010, 190 pages (collection Blanche).
J.-M.DefRance. –Ajax, jQuery et PHP. 42 ateliers pour concevoir des applications web 2.0.e N°13271, 3 édition, 2011, 482 pages (collection Blanche).
e. DasPet, c. PieRReDeGeyeR. –PHP 5 avancé. e N°13435, 6 édition, 2012, 900 pages environ (collection Blanche).
J. Pauli, G. Plessis, c. PieRReDeGeyeR. –Audit et optimisation LAMP. N°12800, 2012, 300 pages environ (collection Blanche).
P.BoRGHino, o. Dasini, a. GaDal. –Audit et optimisation MySQL 5. N°12634, 2010, 282 pages (collection Blanche).
C.Soutou. –Programmer avec MySQL. e N°12869, 2 édition, 2011, 450 pages.
T.Baillet. –Créer son propre thème WordPress pour mobile. N°13441, 2012, 128 pages (collection Accès libre).
E. Sarrion. –MémentojQuery.N°13488, 2012, 14 pages.
e. sloïm. –Mémento Sites web.Les bonnes pratiques.e N°12802, 3 édition, 2010, 18 pages.
A.BouchEr.Ergonomie web illustrée.60 sites à la loupe.N°12695, 2010, 302 pages. (Design & Interface).
I.canivEt.Bien rédiger pour le Web.Stratégie de contenu pour améliorer son référencement naturel.e N°12883, 2 édition, 2011, 552 pages. N.cHu. –Réussir un projet de site web. e N°12742, 6 édition, 2010, 256 pages.
s. BoRDaGe, D. tHévenon, l. DuPaquieR, f. BRousse. – Conduite de projet Web. e N°13308, 6 édition, 2011, 480 pages.
A.walteR. –Design émotionnel. N°13398, 2011, 110 pages. L.wRoBlewski. –Mobile Irst. N°13406, 2012, 144 pages. M.monteiRo. –Métier Web designer. N°13527, 2012, 156 pages.
Programmation GWT 2
Développer des applications HTML5/JavaScript en Java avec Google Web Toolkit
e 2 édition
S a m i J a b e r
ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com
En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans l’autorisation de l’Éditeur ou du Centre Français d’exploitation du droit de copie, 20, rue des Grands Augustins, 75006 Paris. © Groupe Eyrolles, 2012, ISBN : 978-2-212-13478-0
Ava
n
t
p
rop
o
s
Pourquoi ce livre ? Lorsque la plateforme GWT est sortie en 2006, nous n’étions qu’une petite poignée à parier sur le potentiel de cette technologie. Les composants graphiques étaient aus tères, l’environnement de développement balbutiant et les performances plutôt médiocres. C’est un peu par hasard que j’ai découvert la valeur réelle de GWT : en parcourant un jour le code source d’une classe égarée sur mon disque dur chargée de traduire le code Java en JavaScript (JavaToJavaScriptCompiler). Dès lors, GWT ne m’a plus quitté. Il était clair pour moi que les jours des fra meworks web Java tels que Struts ou JSF étaient comptés. Le concept de la compila tion façon GCC adapté à Java et reléguant JavaScript au rang de vulgaire assembleur, la voie était toute tracée. Les deux années qui ont suivi ont vu GWT gagner en maturité. Malgré les défauts de jeunesse de la version 1.x, les premiers projets ont été couronnés de succès. Jour après jour, les développeurs GWT gagnaient en productivité. Au même rythme, les premiers ouvrages anglophones sont arrivés. Il en existe aujourd’hui pléthore couvrant la version 1.0. Reproduire en français de tels livres n’aurait eu aucun intérêt. On n’écrit pas un livre pour copier mais pour créer quelque chose. Sans compter qu’il ne faut jamais, c’est bien connu, se précipiter sur les premières versions d’un framework. GWT ne fait pas exception à cette règle. La version 1.x a prouvé la viabilité du con cept, mais a également mis en avant quelques limites. Lorsque j’ai découvert les pre miers travaux autour de la version 2.0, j’ai tout de suite compris que GWT 2 ne res semblerait plus jamais à GWT 1.x.
VI
Programmation GWT 2.5
Il aura fallu quasiment deux ans à l’équipe des contributeurs GWT pour finaliser la version 2. Si les concepts des premiers jours restent d’actualité, de nouvelles fonda tions ont été bâties pour préparer les outils de demain. Avec GWT 2, les littératures francophones et anglophones actuelles devenaient de facto obsolètes. Une case se libérait dans l’amoncellement de livres dédiés à GWT. Plus de doute possible, il en fallait un sur le sujet ! À l’heure de la publication de cet ouvrage, il n’existait aucun équivalent anglais ou français.
Dans quelles conditions a été écrit ce livre ? Pendant plus de six mois, j’ai vécu (quelques soirs et weekends) en immersion totale avec l’équipe GWT, un peu comme quelqu’un qui regarderait par dessus l’épaule d’un développeur pour formaliser les moindres lignes de code qu’il écrit. Au fur et à mesure que les choix de conception s’opéraient, j’écrivais. Et comme un développeur rature souvent, altère ou supprime son code, des chapitres entiers de ce livre ont été modifiés ou supprimés après leur finalisation. J’aurais sûrement pu écrire un second ouvrage avec toutes les pages supprimées ou modifiées. Pendant six mois, je n’ai pu m’appuyer sur aucune documentation technique. Il n’y en avait simplement pas. Les quelques pages de wiki qui ornaient le site du projet étaient à moitié bâclées et souvent publiées trop en avance. Et puis, j’ai appris à décrypter les cas de tests publiés au jour le jour sur le tronc SVN. J’ai appris à solliciter les développeurs, Joel, Bob, Bruce, John et Fred. Ils m’ont tou jours aidé avec l’humilité et la modestie qui les caractérise tant. J’ai aussi appris à critiquer le code au fur et à mesure qu’il se construisait, je me suis fait une opinion sur les développeurs et sur la qualité du code. Dans ce chemin semé d’embûches, j’ai dû faire face à d’innombrables bogues de jeunesse qui me handica paient toujours plus dans la quête d’une finalisation qui s’éternisait au fil des évolu tions du code source. Qu’importe, j’avais également appris à modifier le code source de GWT. Dans un premier temps, je le faisais pour les besoins du livre... puis, je l’ai fait pour la communauté, en soumettant quelques correctifs. Lors de sa sortie, ce livre a été le premier au monde à traiter de GWT 2. Des livres en anglais existent aujourd’hui, mais celuici restera le premier livre sur GWT 2 avec ses qualités, mais aussi ses défauts. J’espère que vous prendrez autant de plaisir à le lire que j’en ai eu à l’écrire.
Avantpropos
À qui s’adresse ce livre ? Ce livre s’adresse à tous les développeurs, architectes, chefs de projet ou testeurs sou haitant comprendre les bénéfices de GWT. Il n’est nul besoin d’être un expert en programmation ou un gourou des langages HTML ou JavaScript. Il suffit de connaître un minimum la syntaxe Java et la struc ture d’une page HTML. Si vous avez un profil plutôt débutant en Java, il faudra tout de même vous armer d’un peu de courage. Ce livre n’est pas à prendre comme un tutoriel dans lequel on explique pas à pas l’utilisation des concepts. C’est un ouvrage qui se veut le plus exhaustif possible et qui occulte volontairement certains éléments de mise en place. Le chapitre 8 se focalise sur l’intégration avec les serveurs d’application existants, notamment Spring et les EJB. Si vous ne connaissez pas du tout cette partie de Java, n’hésitez pas à vous aider des nombreux tutoriels disponibles sur le Web.
Structure de l’ouvrage Le point essentiel de ce livre est qu’il n’y a aucun passage obligé. Excepté les trois premiers chapitres, qui posent les bases du framework et présentent les outils, tous les autres chapitres peuvent être lus dans le désordre. Leschapitres 1, 2et3abordent la partie visible de GWT, les composants, les outils, l’environnement de développement et le nouveau modèle de placement CSS. Lechapitre 4est un tour d’horizon des différentes bibliothèques du marché. L’intégration JavaScript (chapitre 5) est traitée comme préalable à l’implémentation de composants personnalisés (chapitre 6). Les deux chapitres sur l’architecture des services RPC (chapitre 7) vous montrent comment exploiter efficacement la communication avec le serveur et intégrer des ser vices existants Spring, EJB3 (chapitre 8)… Le chargement à la demande (chapitre 9) est une des grosses nouveautés de GWT 2. Ce chapitre en illustre le principe à travers un exemple concret et vous présente un design pattern permettant de se prémunir contre ses pièges. Lechapitre 10la liaison différée est complexe à comprendre, mais important sur pour bien saisir les fondements de GWT et la manière dont les spécificités des diffé rents navigateurs sont couvertes. Les débutants pourront faire l’impasse sur ce cha pitre et y revenir dès qu’ils seront plus aguerris.
VII
VIII
Programmation GWT 2.5
Les chapitres suivants, que ce soit la gestion des ressources (chapitre 11), l’interna tionalisation (chapitre 13) ou les tests (chapitre 14), peuvent être parcourus dans n’importe quel ordre. Lechapitre 15sur les design patterns traite de sécurité, de gestion des sessions et de bonnes pratiques de conception. Quant auchapitre 12, il met en lumière les innom brables vertus du compilateur et des optimisations GWT. Ces deux chapitres sont une source d’informations précieuses, même pour ceux ayant déjà une première expé rience GWT. Le livre se poursuit sur lechapitre 16décrit UIBinder, l’une des grandes nou qui veautés de GWT 2, qui s’appuie intensivement sur le mécanisme des ressources, l’internationalisation et la liaison différée. C’est lechapitre 17qui est dédié au plugin Eclipse de GWT. Cela est essentielle ment lié au fait que nous souhaitons vous présenter en priorité… tout ce qu’il est censé vous masquer. Lechapitre 18traite de l’API CellWidget, le nouveau modèle de composant intro duit dans GWT 2.1. Lechapitre 19couvre un sujet brûlant de GWT : le framework « Activity and Places », plus connu sous le terme « MVP ». Précédant lechapitre 21 sur le framework Editors, lechapitre 20aborde la nouvelle approche d’exposition de services appelée « RequestFactory ».
FORMATIONGWTproposée par DNG Consulting Une très grande partie du contenu technique de ce livre s’appuie sur la formation GWT 2 proposée par DNG Consulting. Si vous souhaitez creuser le sujet de manière plus interactive, nous vous encourageons vivement à faire partie des centaines de stagiaires formés depuis nos débuts avec GWT.
Remerciements
Il est coutume de dire que l’écriture est un exercice solitaire, c’est vrai. Néanmoins, ce livre n’aurait jamais pu voir le jour sans l’aide précieuse des quelques personnes que je souhaite remercier ici. Tout d’abord, l’équipe éditoriale Eyrolles pour son profession nalisme et pour avoir accepté de me publier dans des conditions parfois difficiles : Muriel, Sophie, AnneLise, Pascale, Gaël et Éric.
Mes remerciements vont aussi à mes deux amis et précieux relecteurs, Romain Hochedez, consultant pour DNG Consulting et animateur de la formation GWT, et Jan Vorwerk, développeur GWT. Grâce à son œil de lynx, Romain m’a aidé à amé liorer la qualité de certains chapitres, à éviter certains pièges. Jan m’a apporté ses pré