200804_DevHive_GWT.ppt
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
782
On Slideshare
781
From Embeds
1
Number of Embeds
1

Actions

Shares
Downloads
15
Comments
0
Likes
0

Embeds 1

http://www.slideshare.net 1

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