Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Writing cool web 2.0 apps with GWT and UI Bindings


Published on

We think we have found a good solution to do cool web sites with complex logic that requires javascript: using Gwt with a MVP pattern. Gwt is a very good product, but there was a problem to use it on clean web2.0-like sites. We think that with UiBindings it's possible to do it in a simple way but it's still not widely know.I'll talk about our experience, what we learned, and I'll share the code

Published in: Technology, Design
  • Be the first to comment

  • Be the first to like this

Writing cool web 2.0 apps with GWT and UI Bindings

  1. 1. Cool web apps with GWT uberto barbini twitter: @ramtop RIA (flash) is dead, long live to RIA (js) aka Client/Server is back!
  2. 2. A CMS that doesn't suck
  3. 3. BP numbers: 4-5 people team agile (scrum and kanban) gwt, hibernate, smartgwt started jan 2009 version 1.0 june 2009, now 3.2 total classes: 1176 total methods: 6565 total executable lines: 27459
  4. 4. A web2.0 like application with a lot of logic
  5. 5. NetNumero numbers: 5 people on weekends and nights 1 year with many pauses Test coverage: Total classes 94.1% (272/ 289) Total methods 73.7% (1004/ 1363) Total lines 79.1% (5125/ 6481)
  6. 6. What's GWT anyway?
  7. 7. good gwt tutorials: books: Essential GWT: Building for the Web with Google Web Toolkit 2 (Developer's Library) - Federico Kereki Programming Google App Engine - D Sanderson Growing Object-Oriented Software, Guided by Tests - Steve Freeman, Nat Pryce
  8. 8. gwt vs plain html
  9. 9. gwt vs traditional ajax (i.e. jsp + jquery)
  10. 10. Gwt is CS with elegance
  11. 11. (show discuss code) tag ServiceImplExample
  12. 12. Gwt UI/UX issues
  13. 13. Solution
  14. 14. Design metaphor
  15. 15. our metaphor: restaurant (go to the table -login) (menu -list of url) (waiter- event dispatcher) (waiter notebook- request) (table num- sessionId) (kitchen- server side) (food- response) client cache, code split and event drive
  16. 16. Architecture and design
  17. 17. (show discuss example code) tag AsyncTestFailure
  18. 18. Presenter
  19. 19. View
  20. 20. Entities
  21. 21. Data services
  22. 22. Command pattern
  23. 23. AuthAuth and security
  24. 24. How to continue