Your SlideShare is downloading. ×

200804_DevHive_GWT.ppt

543
views

Published on


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

  • Be the first to like this

No Downloads
Views
Total Views
543
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
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
  • Better user experience
  • Compiled javascript is optimized / minified 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
  • Real-world users: Have dial-up They click items furiously They don’t do what you think they should do They hit the back button
  • Transcript

    • 1. MIKE BURBA FOUNDER Google Web Toolkit APRIL 17 TH , 2008
    • 2. Acknowledgements
      • Portions of this presentation were borrowed with permission from the following presentations:
      • Bruce Johnson, GWT Tech Lead, Google
        • Fast, Easy, Beautiful: Pick Three - Building User Interfaces with GWT
        • Writing Big Apps with GWT
        • http:// code.google.com/webtoolkit/presentations.html
      • Didier Girard, CTO, SFEIR
        • Introduction to the Google Web Toolkit
        • http://www.slideshare.net/dgirard/introduction-to-google-web-toolkit?src =embed
    • 3. DevHive is a SaaS platform for custom business apps
      • Platform-as-a-Service
      • Business app building blocks
      • Software marketplace
    • 4. Demonstration
    • 5. Why Ajax?
    • 6. At first, Ajax is really cool SOURCE: Didier Girard
    • 7. But, what about…
      • … cross-browser
      • … memory leaks
      • … loading latency
      • … Javascript PhD
      • … Ajax IDE
      • … bugs (javascript is a dynamic language)
      • … cross browser javascript debugger
      • … security
      SOURCE: Didier Girard
    • 8. The Solution: GWT
      • Build Ajax apps with Java
      • Developers with Java skills
      • Tool support: IDEs, debugger, JUnit, etc.
      • Eliminate browser-specific coding
      • Facilitate reuse
      • Fast, simple RPC
      SOURCE: Bruce Johnson
    • 9. How it works Browser IE, Firefox, Safari, Opera Java Runtime Library java.lang java.util Java.io GWT GUI Library GWT Compiler SOURCE: Didier Girard Application code Panels Popup Stack Absolute Vertical … Widgets Button MenuBar Radio Tree Check Table TextArea … . Javascript Application GWT Runtime 100Ko
    • 10. HelloWorld SOURCE: Didier Girard
    • 11. Robust API SOURCE: Bruce Johnson
    • 12. Widgets : 100% Java SOURCE: Didier Girard
    • 13. History support SOURCE: Bruce Johnson
    • 14. RPC Support SOURCE: Didier Girard
    • 15. Cross browser, cross platform SOURCE: Didier Girard
    • 16. CSS
      • GWT widgets are CSS compatible
      SOURCE: Didier Girard
    • 17. Debugger SOURCE: Didier Girard
    • 18. Javascript integration
      • JSNI is modelled on JNI
      • Many javascript library are already wrapped : Dojo, Extjs, Google Ajax API…
      public static native void alert(String msg) /*-{ $wnd.alert(msg); }-*/; SOURCE: Didier Girard
    • 19. Compiler optimizations SOURCE: Bruce Johnson
    • 20. Tools
      • GWT is supported by all the Java IDEs: Eclipse, NetBeans, IntelliJ IDEA, JDeveloper,…
    • 21. Open Source
    • 22. GWT : The Community
      • Millions of downloads
      • 11,000 subscribers to the forum
      • Books
      • Tons of tutorials
      • Blogs
      SOURCE: Didier Girard
    • 23. How easy do you find GWT to use ? Google Confidential Source : http://www.ongwt.com/post/2008/02/21/How-easy-do-you-find-GWT-to-use SOURCE: Didier Girard
    • 24. Resources 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 /
    • 25. Lessons Learned
    • 26. Design your apps for the real world
      • Real-world users…
      • Have dial-up
      • Click things furiously when they don’t see the screen respond
      • Don’t find your app as “elegant” & “intuitive” as you do
      • They hit the back button
      • Multi-task
    • 27. Think asynch
      • Handle exceptions!
      • Tell the user that something is going on
      • Load pages incrementally
      • Gracefully deal with stale sessions
    • 28. Working with a designer
      • It’s ok to use more than one HTML page
      • Have the designer prepare HTML / CSS
      • Drop GWT elements on the page as required
    • 29. Optimizing deployment
      • Use ant
      • Include only the files that are needed in production
      • Compress static content (Gzip – ant task) – 25% improvement
      • Tell browser to cache (far future headers) – 10X improvement
    • 30. One GWT module per user “role” Manager.gwt.xml 171k Admin.gwt.xml 512k User.gwt.xml 323k
    • 31. Use Model-View-Controller Controller Model
    • 32. During development, compile for only one browser SOURCE: Didier Girard * *Hosted mode currently uses IE. Once GWT 1.5 ships, you should be able to stick to FF
    • 33. Get Firebug
    • 34. [Eclipse] project layout
      • Single Java project
      • Manually setup JEE Web folders
        • One folder for static content you want to cache
      • Separate folders for
        • Client
        • Server
        • Common / shared classes
    • 35. Contact info
      • [email_address]
      • +1.248.207.5054

    ×