Google Web Toolkit (GWT) 2.0 includes several new features that improve developer productivity and application performance. These include running GWT applications directly in hosted mode within the browser, faster compilation times, developer-guided ways to split applications into modules for deferred loading, and generated deferred JavaScript that improves load performance. GWT 2.0 also features CSS with conditional processing, declarative user interface binding, and compiler optimizations like disabling class metadata checks and cast checking to reduce script size and improve speeds.
16. 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!
pgt technolgoy scouting GmbH - (c) 2009 - http://pgt.de
17. Fear browsers
with all of mind,
body and spirit
When in danger,
when in doubt,
run in circles
cry and shout
pgt technolgoy scouting GmbH - (c) 2009 - http://pgt.de
21. The web THEN
and now
Browsers where dumb html
terminals
High server side resource
consumption
pgt technolgoy scouting GmbH - (c) 2009 - http://pgt.de
22. The web then
and NOW
Rich user interfaces in the
Browser
Server resource consumption
reduced to a minimum
pgt technolgoy scouting GmbH - (c) 2009 - http://pgt.de
23. something to
remember
fixing performance
is fixing latency
pgt technolgoy scouting GmbH - (c) 2009 - http://pgt.de
119. history
management
from day one
back button and refresh as a feature
(not a catastrophe)
use “place” abstraction
pgt technolgoy scouting GmbH - (c) 2009 - http://pgt.de
125. convention
+
runtime
no globals
no service locator
push in dependencies
runtime wires
instances together
pgt technolgoy scouting GmbH - (c) 2009 - http://pgt.de
126. common DI
containers
use reflection.
reflection does not
work with GWT
(c) Rakesh Ashok
pgt technolgoy scouting GmbH - (c) 2009 - http://pgt.de
127. deferred
binding
GWT offers
similar approach
through code generators
and implementation
replacement
“reflection at compile time”
pgt technolgoy scouting GmbH - (c) 2009 - http://pgt.de
Hard to define – what is the web 2.0?
Set of public web applications?
Survivors of the .com crash?
Set of Buzzwords?
Set of technologies used?
What are Web 2.0 Apps, and where did they come from?
DoubleClick → Google AdSense
Ofoto (Kodakgallery) → Flickr
„Akamai → BitTorrent
mp3.com → Napster (iTunes?)
Britannica Online → Wikipedia
personal websites → blogging
Evite → Upcoming.org and EVDB
domain name speculation → search engine optimization
page views → cost per click
screen scraping → web services
publishing → participation
content management systems → wikis
directories (”taxonomy“) → tagging (”folksonomy“)
stickiness → syndication
Web 2.0 buzzwords we probably should know...
RSS
Atom
Trackbacks
Pingbacks
Social bookmarking
Podcasting (audio, video)
Blogs, blogosphere
RIAs – Rich Internet Applications
Builds on known DHTML technologies
HTML
Javascript
CSS
Less plugin based…
no Java applets
no Flash applets
etc…
Rich user experience
by great ideas
by great user interface
by good services
by low pricing
Mashups
More than eye candy
Integration happens “on the client”
Browser as runtime engine
JS as programming language (outch)
Google (and others) as service providers
No Plugins
Just Javascript, HTML and CSS
TODO tabelle abpinseln
TODO tabelle abpinseln
TODO tabelle abpinseln
todo: bild
From:
Fast, Easy, Beautiful – Pick Three
Google Developer Days 2007
Copyright Google
From:
Fast, Easy, Beautiful – Pick Three
Google Developer Days 2007
Copyright Google
From:
Fast, Easy, Beautiful – Pick Three
Google Developer Days 2007
Copyright Google
From:
Fast, Easy, Beautiful – Pick Three
Google Developer Days 2007
Copyright Google
Browsers where dumb html terminals
Page roundtrips
Latency
High amount of data transferred over and over again
High server side resource consumption
With Ajax
Background, asynchronous communication
With DHTML
Application runtime platform
Easy, really VERY *easy* deployment
GWT application are standalone rich client applications running in the browser
Can use RPC to fetch/ send data to the server, as rich clients do.
No eye candy out of the box
Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful.
Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful.
Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful.
Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful.
Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful.
Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful.
GWT provides performance twirks that would be hard to do by hand
Image bundles
Ressource bundles (sandbox)
RPC optimization
Code optimization
Remove unused code
Code compression/ obfuscation
- DOM Abstraktion
- Json, HTTP, HTML API
- Browser History API
- Unified event modell
- obfuscation
- code inlining
- generate per browser per language permutationen (minimal code per instance)
GWT defines coarse grained components called modules
Young (huge, active) community developing many modules
Logging, drag and drop, UI components, etc…
Write your own UI-Components
By composition
By using JSNI
By working with the DOM
GWT provides a simple and powerful RPC framework
Server side is backed by servlets
Code gets optimized by the compiler
Sends serializable Java objects over the wire (between browser and server)
Simple integration to Java backends
Asynchronous JavaScript and XML
Asynchronous JavaScript and XML
Asynchronous JavaScript and XML
GWT Can Do What?!?! A Preview of Google Web Toolkit 2.0
Google Web Toolkit Track - Bruce Johnson
One of the nicest things about working on an open source project is the atmosphere of community collaboration and brainstorming that it fosters. The GWT engineering team has been listening hard to the community about how GWT can be improved, and we're excited to take you on a tour of the powerful new features that have resulted. GWT 2.0 contains huge improvements, including dynamic script loading, a new catalog of compiler optimizations, and a new approach to hosted mode debugging that promises to revolutionize your productivity. Without a doubt, it will change the way you use GWT.
http://code.google.com/events/io/2009/sessions/GwtPreviewGoogleWebToolkit2.html