GWT: Our Experiences

  • Published on
    02-Nov-2014

  • View
    6.149

  • Download
    0

Embed Size (px)

DESCRIPTION

Introduction and our experience on using GWT

Transcript

  • 1. 2008.5.17
  • 2. About Me
    • a.k.a Tempo
      • Twitter: tempofeng
      • Blog: run, tempo, run (google: tempo)
      • Liquable Inc: [email_address]
      • Happyweb: http://happyweb.tw
      • Java User Group: http://www.javaworld.com.tw
  • 3. Agenda
    • GWT & Features
    • Communicate With Others Systems, Frameworks
    • Pitfalls
  • 4. Google Web Toolkit
  • 5. Writing AJAX Applications in Java
  • 6. CSS GWT Class Library JavaScript GWT Compiler Java Source Code
  • 7. Module.xml
  • 8. EntryPoint
  • 9. HTML
  • 10. Hello World Demo
  • 11. Swing, SWT Like Programming Model
  • 12. Components, Containers, Events,
  • 13. Composite Widget
  • 14.
  • 15. Widget Demo
  • 16. Hosted Mode / No-Server Mode
  • 17. No-Server Mode Demo
  • 18. Scalability
  • 19. Stateless Servers, Stateful Clients
  • 20. Business Logic as Well
  • 21. History Management
  • 22. History Demo
  • 23. JUnit Integration
  • 24. Open Source (Apache 2.0 License)
  • 25. Comparison
    • DWR
      • Best for communicating with Java server, No UI components
    • Dojo
      • Hard, less document but powerful
    • Ext-js
      • Nice UI, less document, license issue
    • Jquery
      • No UI components
  • 26. Communication With Others Systems, Frameworks
  • 27. GWT Scripts Can Be Used as XSS
  • 28. Client GWT-RPC Server 2 WEB Server GWT-RPC Server 1
  • 29. RPC
    • HTTP
      • RequestBuilder
    • GWT-RPC
      • Easy for Java servers
    • JSON
    • Rest (XML)
  • 30. JavaScripts
    • JavaScript Native Interface (JSNI)
    • GWT-API-Interop
      • http://code.google.com/p/gwt-api-interop/
  • 31. Web Pages
    • gwt-params
  • 32. Pitfalls
  • 33. Value Objects
  • 34. Tranform GWT-RPC Use Java JavaScript Hibernate Obj (PersistList, ) Value Obj Value Obj (JavaScript) GWT JavaScript
  • 35. Value Objects
    • Same as other serialization framework
    • Data-binding
      • Hibernate4get
        • http://hibernate4gwt.sourceforge.net/
      • XSTM
        • http://www.xstm.net/
  • 36. SEO?
    • Decorate output page, dont cloak
  • 37.
  • 38. SEO?
    • Based on GWT Output
  • 39. Project Structure
    • Gwt-maven
      • http://code.google.com/p/gwt-maven/
    • Copy generated JavaScript to src in webapp
  • 40. Page Layout
  • 41. VerticalContainer, HorizontalContainer Are Using Tables
  • 42. JDK 1.4 Only
    • For client codes only
    • Wait for GWT 1.5
  • 43. Missing Classes
    • Reflection
    • GWTx
      • http://code.google.com/p/gwtx/
    • Gwittir
      • http://code.google.com/p/gwittir/
  • 44. Thank You!