La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Google Web Toolkit Introduction Didier Girard – 04 juillet 2007.

Présentations similaires


Présentation au sujet: "Google Web Toolkit Introduction Didier Girard – 04 juillet 2007."— Transcription de la présentation:

1 Google Web Toolkit Introduction Didier Girard – girard.d@sfeir.com 04 juillet 2007

2 Sommaire Démonstrations Pourquoi GWT ? Comment GWT fonctionne ? Les fonctionnalités

3 DÉMONSTRATION

4 Démonstrations

5 http://www.gwt-keyboard-warrior.com/ http://code.google.com/webtoolkit/documentation/ex amples/desktopclone/demo.html http://www.gwtwindowmanager.org/demo/GwmDem o.html http://www.contactoffice.com/ EXT Gwt dismoiou.fr http://www.ongwt.com/?q=demo

6 GWT, POUR LES DÉCIDEURS…

7 GWT permet le MDI

8 GWT est plus simple

9 GWT réduit les coûts de développement

10 GWT fonctionne en déconnecté

11 GWT propose une bonne ergonomie

12 Une application GWT est très efficace

13

14 14 Avantages dAjax

15 Mise à jour partiel de lécran Plus de clignotement « Page blanche »

16 Mise à jour des données asynchrones Pas besoin de rafraichir pour avoir des données fraiches.

17 Composants graphiques plus évolués Des composants tous plus beaux les uns que les autres

18 Serveur sans état Client avec état Meilleure scalability ApplicationIHM+Métier + Session Serveur dapplications Métier + Session Base de données Données

19 Au début, Ajax cest cool Cest beau Efficace Les clients en redemandent

20 Les difficultés Cross-navigateur Fuite mémoire Lourdeur du chargement Peu de « Docteur es Javascript » Pas de bons IDE Bug (javascript est un langage interprété) Pas de debug Sécurité …

21 La solution Développer le prototype de lapplication – Vous vous faites plaisir – Tout le monde vous admire

22 La solution Lorsque le client signe, changer de projet :-)

23 Ou…

24 Passer à GWT

25 COMMENT GWT FONCTIONNE ?

26 Lobjectif Permettre de développer simplement, des applications – Cross navigateurs – Efficaces – Stables Dans un environnement amical pour les développeurs – Support des IDE, Debugging, refactoring, typage fort,… Avec une philosophie : « Lutilisateur en premier, le développeur en deuxième » - Bruce Johnson

27 Lapproche Développer en Java Compiler le Java en Javascript/CSS

28 Hello World Démonstration

29 Browser IE, Firefox, Safari, Opera Browser IE, Firefox, Safari, Opera RWA in Java Java Runtime Library Architecture java.lang java.util Java.io Code de lapplication GWT GUI Library Panels Popup Stack Absolute Vertical … Panels Popup Stack Absolute Vertical … Widgets Button MenuBar Radio Tree Check Table TextArea …. Widgets Button MenuBar Radio Tree Check Table TextArea …. Javascript Application GWT Runtime 100Ko GWT Runtime 100Ko GWT Compiler GWT Compiler

30 TOUR DHORIZON

31 Des widgets « 100% java » Démonstration (Kitchen Sink)

32 Support de lhistorique « Single Page Interface », mais gestion de lhistorique ! Démonstration (Kitchen Sink) Le code History.addHistoryListener(myCommand);

33 Support de RPC (JSON/XML-RPC) AJAX est dabord une histoire de requêtes asynchrones – Avec GWT, cest simple !

34 Support de I18N/L10N Puissant et original

35 Absolute Panel Permet de développer efficacement – Un vrai bonheur ! Il y a bien dautres Panel : Grid, Row, Flex, Vertical, Tab,…

36 Support multi-navigateur et multi-plateforme Et ça marche…

37 Support des CSS Tous les composants GWT supportent nativement les CSS

38 Support du debug Démonstration

39 Support de javascript JSNI, une API astucieuse Beaucoup de bibliothèques de javascript populaires sont déjà « wrappées » : scriptaculous, yui, timeline,… Démonstration public static native void alert(String msg) /*-{ $wnd.alert(msg); }-*/;

40 Optimisation du code Le javascript est optimisé durant la compilation Seul le javascript nécessaire est téléchargé par le navigateur – Javascript pour la plateforme cible – Seule lAPI effectivement utilisée est téléchargée

41 Très bonne scalabilité Avec GWT les serveurs sont stateless Il est donc très facile daugmenter la puissance CPU des serveurs – Plus de « session affinity »

42 Des outils GWT est supporté par tous les grands IDE Java : Eclipse, NetBeans, IntelliJ IDEA, Jdeveloper,… Publicité : Mon outil préféré est GWT Designer

43 La communauté GWT Plus de 1000000 téléchargements Plus de 9000 inscrits sur le forum Des ouvrages De nombreux articles/tutoriaux Des formations Des blogs

44 GWT 1.4 GWT 1.4 arrive avec son lot de nouveautés – Par exemple : ImageBundle (téléchargement optimisé dimages), une espèce de base dimages – Passage de 12 requêtes HTTP à une seule… ClippedImage timeIcon = new ClippedImage("icons.png", 22, 0, 22, 22); http://roberthanson.blogspot.com/2007/02/gwt-clippedimage-optimizing-image.html

45 GWT Gears Gears permet daccéder à une base local depuis javascript. Il existe une API pour GWT : – http://code.google.com/p/gwt-google-apis/ http://code.google.com/p/gwt-google-apis/ Demo 45 Google Confidential

46 GWT est efficace Il est couramment admis que développer avec GWT permet dêtre 5 fois plus efficace – Refactoring – Debugging – Serveur Stateless – Cross-navigateurs – I18N – Hosted mode – JSNI

47 QUELQUES TRUCS

48 Pensez autrement ! Il faut repenser lergonomie de vos applications. Plus de navigation Possibilité de créer du « multi desktop », multi fenêtrage Les serveurs sont sans état -> Démo http://code.google.com/p/gdf 48 Google Confidential

49 Attention, un langage peut en cacher un autre Le code qui sexécute nest pas du java, mais du javascript. Par exemple « long » nexiste pas en javascript ! -> Demo 49 Google Confidential

50 En vrac La manipulation du DOM est coûteuse – Vos utilisateurs vont avoir des messages : « slow script » – -> utilisez « IncrementalCommand » (DEMO) Tous les navigateurs ont un nombre limité de connexions HTTP, par défaut cest deux : pas la peine denvoyer des tonnes de requêtes asynchrones… Sous classez la classe AsyncCallback pour gérer de manière centrale les erreurs Oubliez javascript, codez vos widgets en Java Utilisez Selenium pour tester votre IHM (DEMO) Utilisez Maven pour vos build 50 Google Confidential

51 LES IDEES REÇUES

52 Java est nécessaire sur le serveur Non, GWT nimpose pas de technologie sur le serveur GWT est simplement plus pratique à utiliser avec Java sur le serveur

53 Le code Javascript généré est difficile à débugger Il est possible, via les options du compilateur, davoir un code javascript lisible. -> Demo

54 Les widgets GWT ? Bof…. Les widgets GWT sont des widgets de bases. Il existe beaucoup de projet qui proposent des widgets évolués – GWT Ext – GWT Rialto – Tatami – GWT Widget – GWTaculous – … 54 Google Confidential

55 Les applications GWT sont lourdes Le code généré est optimisé et gzippable – KitchenSink pèse autour de 60Ko !

56 GWT ne supporte pas lexistant Faux – Il est tout à fait possible dintégrer des composants GWT dans une page HTML classique.

57 GWT cest des applets Des applets, non merci :-) – Le code java est compilé en javascript durant la phase de développement !

58 GWT est propriétaire Mais non – GWT est sous licence opensource Apache depuis la version 1.3 (12/2006)

59 MISC Version de JDK ? – Codez le code serveur en java 5/6, codez le code client en java 1.4 Intégration avec Spring ? – Facilité avec GWT 1.4 Intégration avec Hibernate ? – Facilité avec GWT 1.4 : danger !

60 Ressources GWT : http://code.google.com/webtoolkit/ Forum pour les développeurs : http://groups.google.com/group/Google-Web-Toolkit Blog officiel : http://googlewebtoolkit.blogspot.com/ onGWT, Tracking news on GWT : http://www.ongwt.com/ GWT 1.4: http://code.google.com/p/google-web-toolkit/wiki/DevPlan_1_4

61 SFEIR Actuellement, 4 projets en GWT – Tous démarrés en 2007 – Une quinzaine de personnes qui travaillent sur cette technologie – Les clients sont très contents de la technologie Nous recrutons : girard.d@sfeir.com 61 Google Confidential

62 Conclusion GWT, cest facile, efficace et beau ! Merci à léquipe GWT, Merci à la communauté, Merci à Google !


Télécharger ppt "Google Web Toolkit Introduction Didier Girard – 04 juillet 2007."

Présentations similaires


Annonces Google