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
110
0
Share
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
Other Decks in Programming
See All in Programming
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
260
AI時代になぜ書くのか
mutsumix
0
430
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2.1k
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
230
空間オーディオの活用
objectiveaudio
0
160
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
290
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
440
iOS26時代の新規アプリ開発
yuukiw00w
0
160
AgentCore Optimizationを始めよう!
licux
3
260
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
1
120
Are We Really Coding 10× Faster with AI?
kohzas
0
200
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.7k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Documentation Writing (for coders)
carmenintech
77
5.3k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
280
Designing Experiences People Love
moore
143
24k
It's Worth the Effort
3n
188
29k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
63
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Tell your own story through comics
letsgokoyo
1
930
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
370
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