Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google Web Toolkit in Practice
Search
Alex Boyd
July 25, 2013
Programming
0
110
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
Share
Other Decks in Programming
See All in Programming
Data-Centric Kaggle
isax1015
2
770
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
270
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
AtCoder Conference 2025
shindannin
0
1.1k
Oxlintはいいぞ
yug1224
5
1.3k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
Patterns of Patterns
denyspoltorak
0
1.4k
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
730
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
94
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
A Modern Web Designer's Workflow
chriscoyier
698
190k
WCS-LA-2024
lcolladotor
0
450
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
What does AI have to do with Human Rights?
axbom
PRO
0
2k
Transcript
Google Web Toolkit in Practice Detroit Google Developers Group June
25, 2013 iRule Alex Boyd
Title iRule • iruleathome.com Alex Boyd Who is iRule?
Google Web Toolkit Pronounced 'gwit' What is GWT? History of
GWT Who uses it?
Title iRule • iruleathome.com Alex Boyd Front End Web Framework
For RIA
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
Title iRule • iruleathome.com Alex Boyd Who uses it?
How GWT works Compilation / Result Browser Loading
Alex Boyd Compilation and Result iRule • iruleathome.com
Alex Boyd Browser Loading iRule • iruleathome.com Load HTML Host
Page | | |____ Load Bootstrap JS File | | |____ Load Browser Specific JS File
How iRule uses GWT Builder Manager Mobile
iRule • iruleathome.com Alex Boyd Builder
Title iRule • iruleathome.com Alex Boyd Builder Resizable Sections Menu
Bar Tree Drag and Drop Tabs
Title iRule • iruleathome.com Alex Boyd Manager
Title iRule • iruleathome.com Alex Boyd Mobile
The Beauty of GWT Productivity for developers, performance for users
Advantages
Title iRule • iruleathome.com Alex Boyd Cross Browser Compatibility
Title iRule • iruleathome.com Alex Boyd Familiar Tools / Language
Title iRule • iruleathome.com Alex Boyd Familiar Tools Debug Integration
Code completion Compile-time errors
Title iRule • iruleathome.com Alex Boyd Dynamic Reusable Widgets http://gwt.googleusercontent.com/samples/Showcase/Showcase.html
Title iRule • iruleathome.com Alex Boyd GWT UI Designer
Title iRule • iruleathome.com Alex Boyd GWT Internationalization https://developers.google.com/web-toolkit/tools/ gwtdesigner/features/gwt/internationalization
Title iRule • iruleathome.com Alex Boyd GWT / GAE Integration
Title iRule • iruleathome.com Alex Boyd Code Obfuscation
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
Title iRule • iruleathome.com Alex Boyd JavaScript Native Interface
GWT : The Bad Disadvantages
Title iRule • iruleathome.com Alex Boyd Learning Curve
Title iRule • iruleathome.com Alex Boyd Compilation Speed / Debug
Title iRule • iruleathome.com Alex Boyd Large DOM tree
Title iRule • iruleathome.com Alex Boyd Search Engine Indexing ???
??? ???
Anatomy of a GWT Application Project Generation Project Structure Hello
World! Application
Title iRule • iruleathome.com Alex Boyd Project Generation Maven
Title iRule • iruleathome.com Alex Boyd Project Generation Google Plugin
for Eclipse
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
Alex Boyd Code – Where it all begins iRule •
iruleathome.com
Alex Boyd Code – HTML Page iRule • iruleathome.com
Alex Boyd Result iRule • iruleathome.com
Powered by GWT Smart GWT Ext GWT MGWT / gwt-phonegap
Alex Boyd Smart GWT iRule • iruleathome.com
Alex Boyd Sencha GXT iRule • iruleathome.com
Alex Boyd MGWT / gwt-phonegap iRule • iruleathome.com
Future of GWT Openness, Simplicity, Speed, Interoperability, Mobility
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