Your SlideShare is downloading. ×
Introduction to Google Web Toolkit
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Introduction to Google Web Toolkit

14,060
views

Published on

Published in: Business

0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
14,060
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
542
Comments
0
Likes
10
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Enter Title of Presentation Here Google Confidential
  • Transcript

    • 1. Google Web Toolkit Introduction Didier Girard – girard.d@sfeir.com 2008
    • 2. Content
      • Demonstrations
      • Why GWT ?
      • How does it run ?
      • GWT features
    • 3. DEMONSTRATION
    • 4. Démonstrations
    • 5. Demonstrations
      • http://stuff.ongwt.com
    • 6. GWT, FOR C*O LEVEL…
    • 7. GWT is MDI compatible *
      • GWT applications could have windows residing under a single parent window.
      *MDI : Multiple Document Interface
    • 8. GWT is simple
      • Developing a web application with GWT is as simple as developing a Windows application with VB
    • 9. GWT cuts costs
      • Building a GWT application is 5 times faster than building a J2EE application
    • 10. GWT is offline compatible
      • A GWT application doesn’t need a server
    • 11. GWT, better ergonomic http://swissmiss.typepad.com/weblog/2007/11/task-clips.html Web 1.0 GWT
    • 12. GWT applications are efficient
      • Local computation, bandwidth optimization
    • 13.  
    • 14. Ajax advantages
    • 15. Ajax : Partial update of the screen
      • No more « Blank page » effect
    • 16. Ajax : Asynchronous updates
      • Fresh data without reload
    • 17. Ajax : Rich Widgets
      • Widgets : One more beautiful than the other
    • 18. Ajax : Better scalability
      • Stateless Server
      • Statefull client
      Data Base Data Application GUI+Business + Session
    • 19. At first, Ajax is really cool
      • So beautiful
      • So efficient
      • Customers love it
    • 20. But, what about…
      • … cross-browser
      • … memory leak
      • … loading latency
      • … « Javascript PhD »
      • … ajax IDE
      • … bugs (javascript is a dynamic language)
      • … cross browser javascript debugger
      • … security
    • 21. The solution – First step
      • Build the prototype of the application
        • It is really fun
        • Everybody will admire you
    • 22. The solution – Second step
      • Your customer purchases : leave the project :-)
    • 23. Or…
    • 24. Choose GWT
    • 25. GWT, HOW DOES IT RUN ?
    • 26. GWT manifest
      • GWT should help to code stable, efficient and cross-browser applications
      • GWT should be friendly for developers
        • Compatible with IDE, support debugging, refactoring, strong typing…
      • The based line : « First the user, second the developer » - Bruce Johnson
    • 27. The approach
      • Code in java
      • Compile the java to Javascript
    • 28. Hello World
      • Demonstration
    • 29. Architecture Browser IE, Firefox, Safari, Opera RWA in Java Java Runtime Library java.lang java.util Java.io GWT GUI Library GWT Compiler Application code Panels Popup Stack Absolute Vertical … Widgets Button MenuBar Radio Tree Check Table TextArea … . Javascript Application GWT Runtime 100Ko
    • 30. OVERVIEWS
    • 31. Widgets : « 100% java »
      • Demonstration (Kitchen Sink)
      http://code.google.com/webtoolkit/examples/kitchensink/
    • 32. History support
      • « Single Page Interface » with history support !
      • Demonstration (Kitchen Sink)
      • Code :
        • History. addHistoryListener(myCommand);
    • 33. RPC Support (JSON/XML-RPC)
      • AJAX is a story of asynchronous request
        • With GWT, it is simple !
    • 34. I18N/L10N support
      • Simple and powerfull
    • 35. Absolute Panel
      • Rapid Application Development : sometime, you need it
        • Absolute panel : a pleasure !
      • A panel of Panels : Grid, Row, Flex, Vertical, Tab,…
    • 36. Cross browser, cross platform
    • 37. CSS
      • GWT widgets are CSS compatible
    • 38. Debugger
      • Demonstration
    • 39. Javascript integration
      • JSNI, a clever API
      • Many javascript library are already wrapped : Dojo, Extjs,…
      • Demonstration
      public static native void alert(String msg) /*-{ $wnd.alert(msg); }-*/;
    • 40. Optimization
      • Compiled javascript is optimized
      • Only the necessary javascript is downloaded by the browser
        • IE downloads only javascript for IE, Firefox downloads only javascript for Firefox
        • Unused APIs are removed from the compiled javascript
    • 41. Good scalability
      • GWT server could be stateless
      • No more session affinity
    • 42. Tools
      • GWT is supported by all the java IDE : Eclipse, NetBeans, IntelliJ IDEA, JDeveloper,…
      • Advertisement : my favorite tool is GWT Designer
    • 43. GWT : THE Community
      • Millions of download
      • 11000 subscribers to the forum
      • Books
      • Tones of Books
      • Tones of tutorials
      • Blogs
    • 44. GWT 1.4, faster, faster, faster
      • Example : ImageBundle, kind of database for images
        • From 12 requests to 1 request…
      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 helps to build offline application
      • GWT wrapper :
        • http://code.google.com/p/gwt-google-apis/
      • Demo
      Google Confidential
    • 46. GWT : summary
      • It is 5 times faster to build a GWT application
        • Refactoring
        • Debugging
        • Stateless server
        • Cross-browsers
        • I18N
        • Hosted mode
        • JSNI
    • 47. TIPS AND TRICKS
    • 48. Think differently!
      • Rethink application ergonomic.
      • Forget browsing
      • MDI is possible
      • Stateless server, statefull client
      • -> Demo
      • http://code.google.com/p/gdf
      Google Confidential
    • 49. A language is behind the other
      • It is not a java application, it is javascript application coded with the java API !
      • For example, « long » is not a javascript type !
      • -> Demonstration
      Google Confidential
    • 50. Misc
      • DOM manipulation is costly
        • Your user can have : «  slow script message » 
        • -> Use « IncrementalCommand » ( DEMO )
      • No need to send tones of asynchronous request
      • Deal with RPC error by subclassing AsyncCallback
      • Forget javascript
      • Use Selenium ( DEMO )
      • Use Maven
      Google Confidential
    • 51. COMMONPLACE
    • 52. You must used java on the server
      • No, GWT is server free
    • 53. Compiled javascript is impossible to debug
      • It is possible to change compilation option
      • But you never need to it,
      • -> Demo
    • 54. GWT Widgets ? Bof….
      • GWT widgets are basic
      • It is really easy to build its own widget
      • Many libraries
        • GWT Ext
        • GWT Rialto
        • Tatami
        • GWT Widget
        • GWTaculous
        • MyGWT
      Google Confidential
    • 55. GWT are heavy
      • Compiled javascript is light and gzippable
        • KitchenSink is around 60Ko !
    • 56. GWT is HTML incompatible
      • Wrong
        • It is possible to include GWT components in a classical HTML page
    • 57. GWT are applets
      • Applets, no thanks :-)
        • Java is compiled to javascript !
    • 58. GWT is not free
      • Noooo
        • GWT is opensource (Apache licence)
    • 59. Ressources GWT : http://code.google.com/webtoolkit/ Forum : http://groups.google.com/group/Google-Web-Toolkit GWT Blog : http://googlewebtoolkit.blogspot.com/ onGWT, Tracking news on GWT : http://www.ongwt.com/
    • 60. SFEIR
      • 6 projects with GWT
        • 5000 days of coding
        • It is just fun
        • Clients are very happy with their applications
        • Our stack : GWT/Spring/Hibernate
      • Jobs: girard.d@sfeir.com
      Google Confidential
    • 61. Conclusion GWT, c’est facile, efficace et beau ! Merci à l’équipe GWT, Merci à la communauté, Merci à Google !

    ×