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

Google Web Toolkit in Practice

Google Web Toolkit in Practice

Inside view of what GWT is, why iRule uses, some disadvantages, and the future of GWT.

Alex Boyd

July 25, 2013
Tweet

Other Decks in Programming

Transcript

  1. Title iRule • iruleathome.com GWT 1.0.0 – 2006 •  Web

    2.0 •  Huge Java ecosystem •  Hole in Javascript toolset •  jQuery started January 2006 GWT 1.3 – 2007 •  First Open Source Release GWT 2.0 – 2009 •  DevMode, CssResources, ClientBundle Alex Boyd GWT History GWT 2.2 / 2.3 – 2011 •  Better AppEngine Integration •  GWT Designer •  HTML5 Support GWT 2.5 – 2013 •  Super Dev Mode •  Closure Compiler •  Google Relinquishes Control GWT 2.5.1 – Current
  2. Alex Boyd Browser Loading iRule • iruleathome.com Load HTML Host

    Page | | |____ Load Bootstrap JS File | | |____ Load Browser Specific JS File
  3. Title iRule • iruleathome.com Alex Boyd Embedded Resources CSS /

    Images •  Syntax validation •  Minification •  Constants •  Functions •  Obfuscation CSS Pitfalls of Traditional Images •  Large overhead •  Useless freshness checks •  Blocking HTTP connections
  4. Title iRule • iruleathome.com Alex Boyd Project Structure |-­‐src  

         |-­‐main              |-­‐java                    |-­‐com.irule.helloworld                          |-­‐client                                |-­‐GreetingService.java                                |-­‐HelloWorld.java                          |-­‐server                                |-­‐GreetingServiceImpl.java                          |-­‐shared                                |-­‐FieldVerifier.java              |-­‐resources                    |-­‐com.irule.helloworld                          |-­‐HelloWorld.gwt.xml              |-­‐webapp                    |-­‐WEB-­‐INF                          |-­‐web.xml                    |-­‐HelloWorld.css                    |-­‐HelloWorld.html   |-­‐pom.xml     Maven Google Plugin for Eclipse |-­‐src        |-­‐com.irule.helloworld              |-­‐client                    |-­‐GreetingService.java                    |-­‐HelloWorld.java              |-­‐server                    |-­‐GreetingServiceImpl.java              |-­‐shared                    |-­‐FieldVerifier.java              |-­‐HelloWorld.gwt.xml   |-­‐war        |-­‐WEB-­‐INF              |-­‐web.xml        |-­‐HelloWorld.html        |-­‐HelloWorld.css      
  5. Alex Boyd Committee Goals iRule • iruleathome.com Openness •  More

    Direct Committers •  CI Server •  GWT Steering mailing list Simplify •  Cleanup old code - Bye, bye IE6! •  Break GWT into smaller modules Speed •  Improve compile time •  Faster DevMode / SuperDevMode •  Better speed profiling tools Interoperability •  Simplify JSNI •  Better hybrid app support ( GWT and native JS ) Mobility •  Mobile browser support •  Packaged Apps