google web toolkit (jug latvia)

Click here to load reader

Post on 18-Dec-2014

587 views

Category:

Technology

0 download

Embed Size (px)

DESCRIPTION

 

TRANSCRIPT

  • 1. Google Web Toolkit www.jug.lv
  • 2. Agenda
    • Introduction
    • Why is unique?
    • Why needed?
    • Who uses?
  • 3. Poll
    • Who knows what GWT is?
    • Who tried that?
    • Who is using in projects?
  • 4. Compared to Other Frameworks
    • Struts
    • JSF
    • Apache Wicket
    • ZK
    • Spring MVC
    • Rails
    • ...
  • 5. The Reality
    • Not really the same
    • GWT is a Rich Client Framework
    • Similar to hand-written JavaScript client
  • 6. Architecture
    • Standalone client
    • HTTP/Ajax communication
    http://gwt.google.com/samples/Mail/Mail.html Rich Client (JavaScript) Java Backend (REST, RPC) HTTP
  • 7. The Essence
    • Swing-like development model
    • Cross-browser Java to JavaScript Compiler
  • 8. Statement
      • GWT is one of the best tools for webapp scalability
  • 9. GWT Performance Tricks traffic memory cpu
  • 10. GWT Compiler
    • Translation
    • Optimization
    • Compression
    • Obfuscation
  • 11. Deferred Binding
    • Separate JS for each browser
    Byte- code Java Script Java Script Java Script Java Code javac gwtc
  • 12. Bootstrap Sequence
    • index.html (small, temporary cache)
    • nocache.js (small)
    • cache.js (large, eternal cache)
  • 13. Code Splitting
    • Single JS is too large
    • Split Points
    • Loads JS in parts
    HTTP Main.java One.java Two.java Three.java
  • 14. No Page Reloads
    • Anchors-based
    • Single page application
    • No refreshes (no HTTP traffic)
    http://www.site.com/#index http://www.site.com/#search http://www.site.com/#resource/1?option=Y
  • 15. Async Model
    • Single thread
    • Callbacks
  • 16. RPC Serialization
    • Direct-Eval
    • Simple
    • TODO Give snippets
  • 17. Resource Bundles
    • Images
    • Text resources
    • CSS
  • 18. Summary
  • 19. GWT Pros and Cons
    • + Full control
    • + Performance and scalability
    • + Portability
    • + Development Speed
    • - Non-trivial development model
    • - Plenty of design/architecture options
    • - IE6 and IE7 are still out there...
  • 20. Conclusions
    • Very powerful yet complicated tool
    • Cache everything
    • Compress everything
    • Less HTTP requests
  • 21. Future
    • Version 2.1 is out now (October 29th)
  • 22. Questions
    • http://code.google.com/webtoolkit/
  • 23. About the Speaker
    • Dmitry Buzdin
    • Agile software developer working with Java since 2005
    • Based in C.T.Co
    • Reach me at [email_address]