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
80
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
코틀린으로 멀티플랫폼 만들기
pangmoo
0
120
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
1.1k
OpenTelemetry のサービスという概念について
azukiazusa1
2
1.1k
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
180
受託開発でGitLab CI を活用していく
xiombatsg
1
270
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
7
3.1k
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
22
15k
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
250
PostmanでAPIの動作確認が楽になった話
h455h1
0
110
Ruby Pattern Matching
bkuhlmann
0
910
エンターテイメント業界で利用されるAWS
demuyan
0
200
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
ReactJS: Keep Simple. Everything can be a component!
pedronauck
658
120k
Building an army of robots
kneath
300
41k
The Brand Is Dead. Long Live the Brand.
mthomps
48
28k
Rails Girls Zürich Keynote
gr2m
91
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
645
57k
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
A Tale of Four Properties
chriscoyier
150
22k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
13
1.5k
GitHub's CSS Performance
jonrohan
1023
450k
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