Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Papick Taboada on GWT

Papick Taboada on GWT

More Decks by Enterprise Java User Group Austria

Other Decks in Technology

Transcript

  1. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Google Web Toolkit Mit Adwords und Google Wave sind die ersten großen GWT basierten Anwendungen von Google erschienen. Mit einem optimierenden Kompiler und pfiffige Codegeneratoren werden mit GWT maßgeschneiderte JavaScript Anwendungen erstellt, die Entwicklung findet allerdings in Java statt. In dem Vortrag werden Konzepte, Neuigkeiten aus 2.0 und die aus Adwords gewonnenen Architektur Best Practices vorgestellt. Donnerstag, 8. April 2010
  2. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Google Web Toolkit Mit Adwords und Google Wave sind die ersten großen GWT basierten Anwendungen von Google erschienen. Mit einem optimierenden Kompiler und pfiffige Codegeneratoren werden mit GWT maßgeschneiderte JavaScript Anwendungen erstellt, die Entwicklung findet allerdings in Java statt. In dem Vortrag werden Konzepte, Neuigkeiten aus 2.0 und die aus Adwords gewonnenen Architektur Best Practices vorgestellt. Donnerstag, 8. April 2010
  3. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de  Webapps here and now • The Google Web Toolkit • What’s new with 2.0 • Architecture „best practices“ Session topics PGT T3CHNOLOGY SCOUTING Donnerstag, 8. April 2010
  4. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Web 2.0? Donnerstag, 8. April 2010
  5. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Web 2.0 by apps? Donnerstag, 8. April 2010
  6. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Web 2.0 by buzzwords? Donnerstag, 8. April 2010
  7. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Web 2.0 by technologies? Donnerstag, 8. April 2010
  8. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Web 2.0 what we see Donnerstag, 8. April 2010
  9. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Mashups Donnerstag, 8. April 2010
  10. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de But how?!? Donnerstag, 8. April 2010
  11. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Native DHTML speakers copyright 2006, Leland Scott, Musings from Mars Donnerstag, 8. April 2010
  12. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de The web THEN and now  Browsers where dumb html terminals  High server side resource consumption Donnerstag, 8. April 2010
  13. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de The web then and NOW  Rich user interfaces in the Browser  Server resource consumption reduced to a minimum Donnerstag, 8. April 2010
  14. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de The Ajax architectural shift Browser Server event event event full html response full html response full html response Donnerstag, 8. April 2010
  15. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de The Ajax architectural shift Browser Server event event event full html response full html response full html response Donnerstag, 8. April 2010
  16. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de The Ajax architectural shift Browser Server event first request full html response data data request data data request event event event Donnerstag, 8. April 2010
  17. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de The Ajax slippery slope ‣Try “a little bit of script” ‣Every body loves it! ‣More!!! ‣Errr - Do we know Javascript? ‣Does it work with… ‣Wait – this is hard! Donnerstag, 8. April 2010
  18. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Fear browsers with all of mind, body and spirit When in danger, when in doubt, run in circles cry and shout Donnerstag, 8. April 2010
  19. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de HTML 5 here and now Vic Gundotra Google IO Keynote HTML5 Chrome Firefox Safari Opera canvas video geolocation appcache database workers ??? Donnerstag, 8. April 2010
  20. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de HTML 5 here and now Vic Gundotra Google IO Keynote IE? HTML5 Chrome Firefox Safari Opera canvas video geolocation appcache database workers ??? Donnerstag, 8. April 2010
  21. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de HTML 5 here and now Vic Gundotra Google IO Keynote IE? MS announced full support HTML5 Chrome Firefox Safari Opera canvas video geolocation appcache database workers ??? Donnerstag, 8. April 2010
  22. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de HTML 5 here and now Vic Gundotra Google IO Keynote IE? MS announced full support HTML5 Chrome Firefox Safari Opera canvas video geolocation appcache database workers ??? announced to setup evaluation test cases Donnerstag, 8. April 2010
  23. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de HTML 5 here and now Vic Gundotra Google IO Keynote IE? MS announced full support HTML5 Chrome Firefox Safari Opera canvas video geolocation appcache database workers ??? announced to setup evaluation test cases announced round corners for IE 9 Donnerstag, 8. April 2010
  24. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de HTML 5 here and now Vic Gundotra Google IO Keynote IE? MS announced full support Let us be fair.... HTML 5 not final yet! HTML5 Chrome Firefox Safari Opera canvas video geolocation appcache database workers ??? announced to setup evaluation test cases announced round corners for IE 9 Donnerstag, 8. April 2010
  25. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de something to remember fixing performance is fixing latency Donnerstag, 8. April 2010
  26. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Session topics • Webapps here and now  The Google Web Toolkit • What’s new with 2.0 • Architecture „best practices“ PGT T3CHNOLOGY SCOUTING Donnerstag, 8. April 2010
  27. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de google is „dogfooding“ Donnerstag, 8. April 2010
  28. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Google Web Toolkit Google Web Toolkit (GWT) is an open source Java development framework that lets you escape the matrix of technologies that make writing AJAX applications so difficult and error prone. With GWT, you can develop and debug AJAX applications in the Java language using the Java development tools of your choice. When you deploy your application to production, the GWT compiler translates your Java application to browser-compliant JavaScript and HTML. Donnerstag, 8. April 2010
  29. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Google Web Toolkit Google Web Toolkit (GWT) is an open source Java development framework that lets you escape the matrix of technologies that make writing AJAX applications so difficult and error prone. With GWT, you can develop and debug AJAX applications in the Java language using the Java development tools of your choice. When you deploy your application to production, the GWT compiler translates your Java application to browser-compliant JavaScript and HTML. Donnerstag, 8. April 2010
  30. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Standalone JS apps Donnerstag, 8. April 2010
  31. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de JS app can be anything Donnerstag, 8. April 2010
  32. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de no eye candy (otb) Donnerstag, 8. April 2010
  33. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de it‘s about engineering Donnerstag, 8. April 2010
  34. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de prototyping? Donnerstag, 8. April 2010
  35. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de development cycle Donnerstag, 8. April 2010
  36. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Develop in Java Donnerstag, 8. April 2010
  37. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Develop in Java Donnerstag, 8. April 2010
  38. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Develop in Java Checkstyle Donnerstag, 8. April 2010
  39. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Develop in Java Checkstyle Findbugs, PMD Donnerstag, 8. April 2010
  40. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Develop in Java Checkstyle Findbugs, PMD Patterns Donnerstag, 8. April 2010
  41. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Develop in Java Checkstyle Findbugs, PMD Patterns Unit testing Donnerstag, 8. April 2010
  42. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Develop in Java Refactoring! Checkstyle Findbugs, PMD Patterns Unit testing Donnerstag, 8. April 2010
  43. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de One click start Donnerstag, 8. April 2010
  44. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Use the webapp Donnerstag, 8. April 2010
  45. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Debug in Java Donnerstag, 8. April 2010
  46. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Cross compile to JS Donnerstag, 8. April 2010
  47. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Distribute Donnerstag, 8. April 2010
  48. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de honour the A in AJAX JAX Donnerstag, 8. April 2010
  49. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de honour the A in AJAX JAX AJAX stands for Asynchronous JavaScript and XML Donnerstag, 8. April 2010
  50. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de honour the A in AJAX JAX AJAX stands for Asynchronous JavaScript and XML Donnerstag, 8. April 2010
  51. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de honour the A in AJAX JAX AJAX stands for Asynchronous JavaScript and XML and JSON... Donnerstag, 8. April 2010
  52. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de GWT does more than just compile.  Much more.  The sky is the limit? Donnerstag, 8. April 2010
  53. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Helping where help is needed Donnerstag, 8. April 2010
  54. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de GUI component model http://www.balsamiq.com/products/mockups/tour Donnerstag, 8. April 2010
  55. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Performance twirks Donnerstag, 8. April 2010
  56. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de connection bottleneck Donnerstag, 8. April 2010
  57. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de project layout vs. deployment layout != Donnerstag, 8. April 2010
  58. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de compress / obfuscate Donnerstag, 8. April 2010
  59. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Sprites Donnerstag, 8. April 2010
  60. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de GWT is extensible  Module concept  Extensible GUI model  Code Generator  JSNI Donnerstag, 8. April 2010
  61. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Connecting to the enterprise Donnerstag, 8. April 2010
  62. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Session topics • Webapps here and now • The Google Web Toolkit  What’s new with 2.0 • Architecture „best practices“ PGT T3CHNOLOGY SCOUTING Donnerstag, 8. April 2010
  63. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de In browser hosted mode Donnerstag, 8. April 2010
  64. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Faster compilation GWT Can Do What?!?! A Preview of Google Web Toolkit 2.0 Donnerstag, 8. April 2010
  65. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Developer guided splits Donnerstag, 8. April 2010
  66. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Splitting the app Donnerstag, 8. April 2010
  67. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Generated deferred JS Donnerstag, 8. April 2010
  68. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Client bundles Image, Text, Data, CSS Resources Donnerstag, 8. April 2010
  69. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de CSS with conditionals Donnerstag, 8. April 2010
  70. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de CSS with conditionals Donnerstag, 8. April 2010
  71. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de CSS with conditionals Donnerstag, 8. April 2010
  72. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de UI Binding Donnerstag, 8. April 2010
  73. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Declarative user interfaces Donnerstag, 8. April 2010
  74. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Facing the layout problem Donnerstag, 8. April 2010
  75. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de -XdisableClassMetadata GWT Can Do What?!?! A Preview of Google Web Toolkit 2.0 Donnerstag, 8. April 2010
  76. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de does anyone catch CCE? GWT Can Do What?!?! A Preview of Google Web Toolkit 2.0 void makeItQuack(Animal animal) { try { ((Quacker) animal).quack(); } catch (ClassCastException c) { Window.alert("This doesn't quack."); } } Donnerstag, 8. April 2010
  77. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de -XdisableCastChecking dynamicCast(animal, 2).quack(); animal.quack(); Donnerstag, 8. April 2010
  78. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de -XdisableCastChecking dynamicCast(animal, 2).quack(); animal.quack(); 1% script size reduction Donnerstag, 8. April 2010
  79. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de -XdisableCastChecking dynamicCast(animal, 2).quack(); animal.quack(); 10% speed improvement in performance-sensitive code 1% script size reduction Donnerstag, 8. April 2010
  80. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Recap GWT 2.0 Feature for developers for users In-browser hosted mode debug in real brwosers Faster compilation less thumb-twiddling script size reductions and speed improvements simple flag enable size/ speed gains apps start faster, run faster code splitting low-risk, easy way to spread download time apps start faster, stay interactive client bundle project orga != deploy orga fewer http roundtrips layout you can count on less time fighting css and layout faster, smoother layout and resizing GWT Can Do What?!?! A Preview of Google Web Toolkit 2.0 Donnerstag, 8. April 2010
  81. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Session topics • Webapps here and now • The Google Web Toolkit • What’s new with 2.0  Architecture „best practices“ PGT T3CHNOLOGY SCOUTING Donnerstag, 8. April 2010
  82. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Ray Ryan - lessons learned Donnerstag, 8. April 2010
  83. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de eventbus #1 http://blogdoxoto.blogspot.com/2008/11/voc-reclama-do-onibus-lotado.html Donnerstag, 8. April 2010
  84. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de command pattern #2 Donnerstag, 8. April 2010
  85. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Model View Presenter #3 Donnerstag, 8. April 2010
  86. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de get browser history right #4 Donnerstag, 8. April 2010
  87. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Dependency Injection #5 Donnerstag, 8. April 2010
  88. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de it’s all about de-coupling GWT brings software engineering to web application development Donnerstag, 8. April 2010
  89. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de use eventbus... #1 Donnerstag, 8. April 2010
  90. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de ...to fight spaghetti Donnerstag, 8. April 2010
  91. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de don’t call me, I’ll call you Master view Detail view EventBus Donnerstag, 8. April 2010
  92. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de don’t call me, I’ll call you Master view Detail view EventBus fire selection event Donnerstag, 8. April 2010
  93. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de don’t call me, I’ll call you Master view Detail view EventBus fire selection event receive selection event Donnerstag, 8. April 2010
  94. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de don’t call me, I’ll call you, and you too Master view Detail view EventBus Donnerstag, 8. April 2010
  95. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de don’t call me, I’ll call you, and you too Master view Detail view EventBus Bread crumb View Donnerstag, 8. April 2010
  96. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de don’t call me, I’ll call you, and you too Master view Detail view EventBus fire selection event Bread crumb View Donnerstag, 8. April 2010
  97. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de don’t call me, I’ll call you, and you too Master view Detail view EventBus fire selection event receive selection event Bread crumb View receive selection event Donnerstag, 8. April 2010
  98. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de don’t call me, I’ll call you, and you too Master view Detail view EventBus fire selection event receive selection event Bread crumb View receive selection event Donnerstag, 8. April 2010
  99. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de unreal de-coupling? Master view EventBus RPC Detail view Donnerstag, 8. April 2010
  100. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de unreal de-coupling? Master view EventBus RPC Detail view (1) change event Donnerstag, 8. April 2010
  101. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de unreal de-coupling? Master view EventBus RPC (2) store data Detail view (1) change event Donnerstag, 8. April 2010
  102. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de unreal de-coupling? Master view EventBus RPC (2) store data (3) updated data Detail view (1) change event Donnerstag, 8. April 2010
  103. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de unreal de-coupling? Master view EventBus (4) updated data RPC (2) store data (3) updated data Detail view (1) change event (4) updated data Donnerstag, 8. April 2010
  104. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Use GWT native events Donnerstag, 8. April 2010
  105. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de command pattern #2 Donnerstag, 8. April 2010
  106. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de command pattern GOF Pattern commonly used in Rich Clients Donnerstag, 8. April 2010
  107. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de server communication command pattern XAction XResult XHandler YHandler ZHandler dispatch service Donnerstag, 8. April 2010
  108. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de boundaries XAction XResult XHandler YHandler ZHandler dispatch service GWT RPC Servlet / Java Browser / JS Donnerstag, 8. April 2010
  109. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de handler registry XHandler YHandler ZHandler by hand, Spring, Guice, you name it XAction XResult dispatch service Donnerstag, 8. April 2010
  110. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de connecting to the backend XAction XResult dispatch service XHandler by Hand, Spring, Guice, you name it Service DAO A DAO B Spring Backend Donnerstag, 8. April 2010
  111. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de leverage point for caching batching exception handling securing communication Donnerstag, 8. April 2010
  112. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Model View Presenter #3 Donnerstag, 8. April 2010
  113. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de M - V - Controller Model Controller View Databinding Donnerstag, 8. April 2010
  114. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de M - V - Controller Model Controller View Databinding Donnerstag, 8. April 2010
  115. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de M - V - Presenter Model Presenter View Donnerstag, 8. April 2010
  116. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de M - V - Presenter Model Presenter View Donnerstag, 8. April 2010
  117. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de M - V - Presenter Model Presenter View Mock view Donnerstag, 8. April 2010
  118. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de M - V - Presenter Model Presenter View Mock view Donnerstag, 8. April 2010
  119. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de M - V - Presenter Model Presenter View Mock view Donnerstag, 8. April 2010
  120. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Use interfaces Donnerstag, 8. April 2010
  121. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de get browser history right #4 Donnerstag, 8. April 2010
  122. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de history management from day one back button and refresh as a feature (not a catastrophe) use “place” abstraction Donnerstag, 8. April 2010
  123. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de take the bus PlaceManager EventBus Place View Donnerstag, 8. April 2010
  124. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de take the bus PlaceManager EventBus (1) receive browser history events Place View Donnerstag, 8. April 2010
  125. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de take the bus PlaceManager EventBus (2) fire place event (1) receive browser history events Place View Donnerstag, 8. April 2010
  126. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de take the bus PlaceManager EventBus (2) fire place event (1) receive browser history events Place View (3) receive place event Donnerstag, 8. April 2010
  127. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Dependency Injection #5 Donnerstag, 8. April 2010
  128. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de convention + runtime no globals no service locator push in dependencies runtime wires instances together Donnerstag, 8. April 2010
  129. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de common DI containers use reflection. reflection does not work with GWT (c) Rakesh Ashok Donnerstag, 8. April 2010
  130. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de deferred binding GWT offers similar approach through code generators and implementation replacement “reflection at compile time” Donnerstag, 8. April 2010
  131. © 2009 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de GIN Donnerstag, 8. April 2010
  132. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de following Ray Ryans path COMMAND PATTERN gwt-dispatch EVENTBUS + PLACE MANAGEMENT + MVP gwt-presenter DEPENDENCY INJECTION gin Donnerstag, 8. April 2010
  133. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Thanks! Donnerstag, 8. April 2010
  134. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Papick G. Taboada Dipl. W-Ing (TH) projects, training, coaching, technology scouting pgt technology scouting GmbH http://pgt.de Donnerstag, 8. April 2010
  135. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Time for Questions? Donnerstag, 8. April 2010
  136. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Credits Donnerstag, 8. April 2010
  137. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de http://www.istockphoto.com/ 5946730 7808697 5946730 5457175 7937833 2959336 2270410 9109006 Donnerstag, 8. April 2010
  138. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de http://pixelio.de 234813_R_K Robert Babiak 251666_R_K Klausi 288060_R_B Gabi Schoenemann 403531_R Egon Häbich 380693_R_K Matthias Balzer 407554_R_K_B Rainer Sturm 418630_R_K_B Rainer Sturm 423871_R_B Hartmut Giessler 424200_R_K Sunny33 Donnerstag, 8. April 2010
  139. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de http://pixelio.de 294663_R_K_B Stephanie Hofschlaeger 320285_R_K Jeger 342469_R Andreas Morlok 412134_R_K Tim Reckmann 413461_R BirgitH 414495_R_B Rainer Sturm 424566_R_K Susanne Schmich 426440_R Joujou 427926_R Schubalu Donnerstag, 8. April 2010
  140. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de http://pixelio.de 367537_R_K_B Thomas Anderson 416617_R_K_B Rainer Sturm 428983_R_K_B Rainer Sturm Donnerstag, 8. April 2010
  141. © 2010 Papick G. Taboada | pgt technology scouting GmbH

    | http://pgt.de Others Rakesh Ashok http://www.flickr.com/photos/rakeshashok/3198323549 http://creativecommons.org/licenses/by-nc-nd/2.0/deed.de Stadtmarketing Karlsruhe GmbH http://www.karlsruhe.de/stadt/stadtmarketing/presse/fotos.de http://msande277.wordpress.com/2009/05/25/the-segway-its-a-engineering-class-project/ http://www.the-uno-tomorrows-transportation.com Donnerstag, 8. April 2010