SlideShare a Scribd company logo
Cool web apps with GWT
uberto barbini
uberto@ubiland.net
twitter: @ramtop
RIA (flash) is dead, long live to RIA (js)
aka Client/Server is back!
A CMS that doesn't suck
BP numbers:
4-5 people team
agile (scrum and kanban)
gwt, hibernate, smartgwt
started jan 2009
version 1.0 june 2009, now 3.2
total classes: 1176
total methods: 6565
total executable lines: 27459
A web2.0 like application
with a lot of logic
www.netnumero.com
NetNumero numbers:
5 people on weekends and nights
1 year with many pauses
Test coverage:
Total classes 94.1% (272/ 289)
Total methods 73.7% (1004/ 1363)
Total lines 79.1% (5125/ 6481)
What's GWT anyway?
good gwt tutorials:
http://developerlife.com/tutorials/?p=80
http://code.google.com/webtoolkit/doc/latest/tutorial/
http://code.google.com/webtoolkit/articles/testing_methodologies_using_gwt.html
books:
Essential GWT: Building for the Web with Google Web Toolkit 2 (Developer's Library) - Federico Kereki
Programming Google App Engine - D Sanderson
Growing Object-Oriented Software, Guided by Tests - Steve Freeman, Nat Pryce
gwt vs plain html
gwt vs traditional ajax
(i.e. jsp + jquery)
Gwt is CS with elegance
(show discuss code)
tag ServiceImplExample
Gwt UI/UX issues
Writing cool web 2.0 apps with GWT and UI Bindings
Writing cool web 2.0 apps with GWT and UI Bindings
Writing cool web 2.0 apps with GWT and UI Bindings
Solution
Design metaphor
our metaphor: restaurant
(go to the table -login)
(menu -list of url)
(waiter- event dispatcher)
(waiter notebook- request)
(table num- sessionId)
(kitchen- server side)
(food- response)
client cache, code split and event drive
Architecture and design
(show discuss example code)
tag AsyncTestFailure
Presenter
Writing cool web 2.0 apps with GWT and UI Bindings
View
Entities
Data services
Command pattern
AuthAuth and security
How to continue

More Related Content

Viewers also liked (19)

PPSX
Historia De La Web
Andrés
 
PPT
Solvency II Pillar 1 update May 2012
Edward Maguire
 
PPT
第一頁
ava9832080
 
PDF
ISFragkopoulos - Seminar on Electrochemical Promotion
Ioannis S. Fragkopoulos
 
PPT
What is new in Helios
Tomasz Zarna
 
PDF
Location Intelligence bei Swisscom - DW2014
Arne Bröring
 
PDF
Sap Virtualization Week 2009
Sherry Yu
 
PDF
A Citizen Science Sensor Platform as a Live Link from GIS to the Internet ...
Arne Bröring
 
PPT
SenseBox
Arne Bröring
 
PDF
Small Business E Marketing
dhurwitz
 
PDF
enviroCar Introduction
Arne Bröring
 
PPT
E Tapestry Webinar 2010
raisor
 
PDF
enviroCar Flyer
Arne Bröring
 
PPT
More Nouns
guest64563bea
 
PDF
enviroCar at INTERGEO 2013
Arne Bröring
 
PDF
ThinSWEClient - Visualising time series data with open source components.
Arne Bröring
 
PPTX
Barroc 2 C
Merce Lopez Tugues
 
PPTX
D efinicion de texto. unidad 2.
cesarkgua
 
PDF
The future of work is play igic 2011
unlimited insights
 
Historia De La Web
Andrés
 
Solvency II Pillar 1 update May 2012
Edward Maguire
 
第一頁
ava9832080
 
ISFragkopoulos - Seminar on Electrochemical Promotion
Ioannis S. Fragkopoulos
 
What is new in Helios
Tomasz Zarna
 
Location Intelligence bei Swisscom - DW2014
Arne Bröring
 
Sap Virtualization Week 2009
Sherry Yu
 
A Citizen Science Sensor Platform as a Live Link from GIS to the Internet ...
Arne Bröring
 
SenseBox
Arne Bröring
 
Small Business E Marketing
dhurwitz
 
enviroCar Introduction
Arne Bröring
 
E Tapestry Webinar 2010
raisor
 
enviroCar Flyer
Arne Bröring
 
More Nouns
guest64563bea
 
enviroCar at INTERGEO 2013
Arne Bröring
 
ThinSWEClient - Visualising time series data with open source components.
Arne Bröring
 
Barroc 2 C
Merce Lopez Tugues
 
D efinicion de texto. unidad 2.
cesarkgua
 
The future of work is play igic 2011
unlimited insights
 

Similar to Writing cool web 2.0 apps with GWT and UI Bindings (20)

PDF
GWT - Building Rich Internet Applications Using OO Tools
barciszewski
 
PPTX
Google web toolkit ( Gwt )
Pankaj Bhasker
 
PPTX
Gwt session
Ahmed Akl
 
PPT
Introduction to Google Web Toolkit
Didier Girard
 
PDF
First steps with GWT @ Google IO Extended - Pordenone
Giampaolo Trapasso
 
PPTX
Gwt session
Mans Jug
 
PDF
The Java alternative to Javascript
Manuel Carrasco Moñino
 
PPT
Gwt training presentation
MUFIX Community
 
PPT
GWT
Lorraine JUG
 
PDF
Rich Internet Web Application Development using Google Web Toolkit
IJERA Editor
 
ODP
Google Web toolkit
Priyank Kapadia
 
ODP
Building Ajax apps with the Google Web Toolkit
vivek_prahlad
 
PPTX
Gwt overview & getting started
Binh Bui
 
PDF
GWT - AppDays - (25 aprile 2014, pordenone)
firenze-gtug
 
PDF
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
IMC Institute
 
PDF
Google Web Toolkit
Software Park Thailand
 
PPTX
GWT = easy AJAX
Olivier Gérardin
 
PPTX
GWT HJUG Presentation
Derrick Bowen
 
PPT
Google Web Toolkit Introduction - eXo Platform SEA
nerazz08
 
PPT
GWT is Smarter Than You
Robert Cooper
 
GWT - Building Rich Internet Applications Using OO Tools
barciszewski
 
Google web toolkit ( Gwt )
Pankaj Bhasker
 
Gwt session
Ahmed Akl
 
Introduction to Google Web Toolkit
Didier Girard
 
First steps with GWT @ Google IO Extended - Pordenone
Giampaolo Trapasso
 
Gwt session
Mans Jug
 
The Java alternative to Javascript
Manuel Carrasco Moñino
 
Gwt training presentation
MUFIX Community
 
Rich Internet Web Application Development using Google Web Toolkit
IJERA Editor
 
Google Web toolkit
Priyank Kapadia
 
Building Ajax apps with the Google Web Toolkit
vivek_prahlad
 
Gwt overview & getting started
Binh Bui
 
GWT - AppDays - (25 aprile 2014, pordenone)
firenze-gtug
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
IMC Institute
 
Google Web Toolkit
Software Park Thailand
 
GWT = easy AJAX
Olivier Gérardin
 
GWT HJUG Presentation
Derrick Bowen
 
Google Web Toolkit Introduction - eXo Platform SEA
nerazz08
 
GWT is Smarter Than You
Robert Cooper
 
Ad

More from Francesca1980 (10)

PPT
Map meshup
Francesca1980
 
PPTX
Advanced JQuery
Francesca1980
 
PDF
Java scriptpatterns
Francesca1980
 
PDF
Java scriptpatterns
Francesca1980
 
PDF
Event driven javascript
Francesca1980
 
PDF
Event driven javascript
Francesca1980
 
PDF
Simple Cloud API: accesso semplificato al cloud computing
Francesca1980
 
PPT
Loosely Coupled Complexity - Unleash the power of your domain model
Francesca1980
 
PPTX
PhoneGap ovvero lo Sviluppo Mobile Nativo con HTML, CSS e JavaScript
Francesca1980
 
PDF
Programmazione web libera dai framework
Francesca1980
 
Map meshup
Francesca1980
 
Advanced JQuery
Francesca1980
 
Java scriptpatterns
Francesca1980
 
Java scriptpatterns
Francesca1980
 
Event driven javascript
Francesca1980
 
Event driven javascript
Francesca1980
 
Simple Cloud API: accesso semplificato al cloud computing
Francesca1980
 
Loosely Coupled Complexity - Unleash the power of your domain model
Francesca1980
 
PhoneGap ovvero lo Sviluppo Mobile Nativo con HTML, CSS e JavaScript
Francesca1980
 
Programmazione web libera dai framework
Francesca1980
 
Ad

Recently uploaded (20)

PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 

Writing cool web 2.0 apps with GWT and UI Bindings

Editor's Notes

  • #2: In the crowded world of web technologies is often hard to decide which one suits better our needs. We think we have found a very good solution to do cool web sites with complex logic that requires javascript. Gwt is a very good product, but till recently it was a problem to use it on clean web2.0-like sites. We think that it's possible to do it in a simple way but it's still not widely know. Using with UiBindings and TDD. We did 2 applications: a CMS and a Google Appengine one. I'll talk about our experience, what we learned, and we'll share the complete code for an example application.
  • #3: Blueprint experience Some raw data:
  • #5: www.netnumero.com http://netnumero.appspot.com/company/mycompany#dashboard
  • #10: Gwt + easier to debug no new language to learn easy to unit test client logic Gwt - steeper learning curve basic gwt is "ugly" big js app to download (once)