vaadin - rich web apps in server-side java without plug-ins or javascript
DESCRIPTION
Vaadin Framework provides a desktop-like programming model on the server for creating Rich Internet Applications (RIAs) in plain Java - without the need for HTML, XML, plug-ins or JavaScript. In this session, one of the core Vaadin developers lays out the key concepts of the server-side RIA development model and shows how to build an application with Vaadin ground up.TRANSCRIPT
![Page 1: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/1.jpg)
Joonas Lehtinen, PhDVaadin Ltd - CEO
Rich Web Applications in Server-side Java without
Plug-ins or JavaScripttwitter: #vaadin @
joonaslehtinen
sunnuntaina 13. helmikuuta 2011
![Page 2: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/2.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 3: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/3.jpg)
Vaadin is a UI framework
for desktop-like web apps
sunnuntaina 13. helmikuuta 2011
![Page 4: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/4.jpg)
New configs, taglibs and syntax!?!
JavaScript,DOM, Applet,plugins?
This is Java. Nothing else.{No!
sunnuntaina 13. helmikuuta 2011
![Page 5: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/5.jpg)
htmljava
sunnuntaina 13. helmikuuta 2011
![Page 6: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/6.jpg)
healthcare portal, 100 kloc of perl, .. web 1.0, netscape, ie5, ie6, ...
1998
sunnuntaina 13. helmikuuta 2011
![Page 7: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/7.jpg)
healthcare portal, 100 kloc of perl, .. web 1.0, netscape, ie5, ie6, ... object oriented design, desktop, Java, U and I ...thinking of
sunnuntaina 13. helmikuuta 2011
![Page 8: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/8.jpg)
object oriented design, desktop, Java, U and I ...thinking of
sunnuntaina 13. helmikuuta 2011
![Page 9: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/9.jpg)
object oriented design, desktop, Java, U and I ... desktop programming paradigm for web! found
sunnuntaina 13. helmikuuta 2011
![Page 10: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/10.jpg)
desktop programming paradigm for web! found millstone ajax google web toolkit re-released as
2000
2002
2005
2008
sunnuntaina 13. helmikuuta 2011
![Page 11: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/11.jpg)
millstone ajax goolge web toolkit re-released as
2009
sunnuntaina 13. helmikuuta 2011
![Page 12: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/12.jpg)
Vaadin is now 21 months young and 10 years old
sunnuntaina 13. helmikuuta 2011
![Page 13: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/13.jpg)
ApacheLicense
sunnuntaina 13. helmikuuta 2011
![Page 14: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/14.jpg)
Discussion
VaadinBig picture, Extending, Getting started
Server-side RIAWhat is it? Pros & cons?
In practiceCoding a Vaadin application step-by-step
Contents
sunnuntaina 13. helmikuuta 2011
![Page 15: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/15.jpg)
Server-side RIA
sunnuntaina 13. helmikuuta 2011
![Page 16: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/16.jpg)
“Web 1.0”
DOM
Client Server
ViewHTML Page
over HttpResponse
Controller
Model
Parameters overHttpRequest
DB2
3
4
5
1
sunnuntaina 13. helmikuuta 2011
![Page 17: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/17.jpg)
Client-side RIA
DOM
Client Server
View
Controller
Model
DB2
3
4
5
1
Requested datato view as
XML / JSON
Changes to modelencoded as parameters
sunnuntaina 13. helmikuuta 2011
![Page 18: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/18.jpg)
challengeweb is
not easy
sunnuntaina 13. helmikuuta 2011
![Page 19: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/19.jpg)
different featuresin different browsers
sunnuntaina 13. helmikuuta 2011
![Page 20: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/20.jpg)
different performancein different browsers
sunnuntaina 13. helmikuuta 2011
![Page 21: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/21.jpg)
different bugsin different browsers
sunnuntaina 13. helmikuuta 2011
![Page 22: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/22.jpg)
Google Web Toolkit
sunnuntaina 13. helmikuuta 2011
![Page 23: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/23.jpg)
Java toJavaScriptCompiler
Subset of
java.lang, java.util
Widgetset
Your Application UI
IE6
IE7
Firefox
Safari
sunnuntaina 13. helmikuuta 2011
![Page 24: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/24.jpg)
simpler• Java only• forget the web
sunnuntaina 13. helmikuuta 2011
![Page 25: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/25.jpg)
cost-effective stop debugging JavaScript spaghetti
sunnuntaina 13. helmikuuta 2011
![Page 26: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/26.jpg)
modular extensible♲
sunnuntaina 13. helmikuuta 2011
![Page 27: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/27.jpg)
Building wonderful apps doesn’t require writing fat web clients.
sunnuntaina 13. helmikuuta 2011
![Page 28: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/28.jpg)
Server-side RIA
DOM
Client Server
ViewHTML Pageover HttpResponse
Controller
Model
Parameters overHttpRequest
DB4
5
6
2
Term
inalAdapter
Term
inalAdapter
Automated bythe RIA framework
3
7
1
9
8
sunnuntaina 13. helmikuuta 2011
![Page 29: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/29.jpg)
Server-side RIA
DOM
Client Server
ViewHTML Pageover HttpResponse
Controller
Model
Parameters overHttpRequest
DB4
5
6
2
Term
inalAdapter
Term
inalAdapter
Automated bythe RIA framework
3
7
1
9
8
Handled by the framework
sunnuntaina 13. helmikuuta 2011
![Page 30: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/30.jpg)
Java
modularextensible
cost-effectiveno JavaScript debugging
simplerforget the web
the benefits of Java
♲sunnuntaina 13. helmikuuta 2011
![Page 31: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/31.jpg)
even simpler• forget the client-side • synchronous• server resources
sunnuntaina 13. helmikuuta 2011
![Page 32: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/32.jpg)
more flexible• all Java tools and libraries• any JVM languageScala Groovy
sunnuntaina 13. helmikuuta 2011
![Page 33: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/33.jpg)
more secure• code stays in server• less web services
sunnuntaina 13. helmikuuta 2011
![Page 34: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/34.jpg)
not as scalableUI state is stored in the server memory
sunnuntaina 13. helmikuuta 2011
![Page 35: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/35.jpg)
Measured 12.000 active concurrent users per server for a ticketing app
[Amazon EC2-large; limited by storage layer]
sunnuntaina 13. helmikuuta 2011
![Page 36: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/36.jpg)
no offline modeserver is always required
sunnuntaina 13. helmikuuta 2011
![Page 37: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/37.jpg)
#1 benefitdevelopmentis really fast
sunnuntaina 13. helmikuuta 2011
![Page 38: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/38.jpg)
Vaadin Framework
sunnuntaina 13. helmikuuta 2011
![Page 39: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/39.jpg)
1Great UI Components
sunnuntaina 13. helmikuuta 2011
![Page 40: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/40.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 41: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/41.jpg)
Combined power of• Server-side RIA• Google Web Toolkit
sunnuntaina 13. helmikuuta 2011
![Page 42: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/42.jpg)
2Combined power of• Server-side RIA• Google Web Toolkit
sunnuntaina 13. helmikuuta 2011
![Page 43: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/43.jpg)
Vaadin UI component architecture
Java
• Google Web Toolkit
“UI Component”• Button, Table, Tree, ...• Server-side data• Full Java API
“Widget”• Client-side peer for
the component• Runs on JavaScript
HTTP(S)
Java
• Compiled with JDK
sunnuntaina 13. helmikuuta 2011
![Page 44: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/44.jpg)
Creating new UI components is really easy
sunnuntaina 13. helmikuuta 2011
![Page 45: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/45.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 46: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/46.jpg)
Implement two classes
Automatic“UI Component”• Define API• Receive client events• Send UI updates
back
Server-side
“Widget”• Render to DOM• Collect user events
Client-side
sunnuntaina 13. helmikuuta 2011
![Page 47: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/47.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 48: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/48.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 49: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/49.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 50: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/50.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 51: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/51.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 52: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/52.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 53: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/53.jpg)
First classJava citizen
sunnuntaina 13. helmikuuta 2011
![Page 54: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/54.jpg)
3First classJava citizen
sunnuntaina 13. helmikuuta 2011
![Page 55: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/55.jpg)
ServletPortlet
App Engine
sunnuntaina 13. helmikuuta 2011
![Page 56: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/56.jpg)
EclipseMaven
NetbeansSpring Roo
sunnuntaina 13. helmikuuta 2011
![Page 57: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/57.jpg)
PRODUCTIVITYsunnuntaina 13. helmikuuta 2011
![Page 58: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/58.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 59: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/59.jpg)
persistence setup --provider HIBERNATE--database HYPERSONIC_IN_MEMORY
entity --class ~.domain.Toppingfield string --fieldName name --notNull
entity --class ~.domain.Pizzafield number --fieldName price
--type java.lang.Floatfield set --fieldName toppings
--type ~.domain.Topping
sunnuntaina 13. helmikuuta 2011
![Page 60: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/60.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 61: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/61.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 62: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/62.jpg)
vaadin setup --applicationPackage ~.web--baseName PizzaShop--themeName pizza--useJpaContainer false
vaadin generate all --package ~.web.ui --visuallyComposable true
sunnuntaina 13. helmikuuta 2011
![Page 63: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/63.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 64: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/64.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 65: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/65.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 66: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/66.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 67: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/67.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 68: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/68.jpg)
field string --class ~.domain.Pizza --notNull --fieldName name --sizeMin 3
sunnuntaina 13. helmikuuta 2011
![Page 69: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/69.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 70: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/70.jpg)
gettingstarted
sunnuntaina 13. helmikuuta 2011
![Page 71: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/71.jpg)
sunnuntaina 13. helmikuuta 2011
![Page 72: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/72.jpg)
Vaadin 6.4 Edition
US $24.95
Vaadin is an open source Java framework for building modern web applications that look great, perform well and make you and
your users happy. http://vaadin.com/
2675387895299
ISBN 978-952-92-6753-890000
GET A
FreeCopy
sunnuntaina 13. helmikuuta 2011
![Page 73: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/73.jpg)
By Marko Grönroos
ABOUT VAADIN
ww
w.d
zone
.co
m
G
et M
ore
Ref
card
z! V
isit
ref
card
z.co
m
#85
Getting Started with VaadinCONTENTS INCLUDE:
About VaadinCreating An ApplicationComponents Layout ComponentsThemesData Binding and more...
Vaadin is a server-side Ajax web application development framework that allows you to build web applications just like with traditional desktop frameworks, such as AWT or Swing. An application is built from user interface components contained hierarchically in layout components.
In the server-driven model, the application code runs on a server, while the actual user interaction is handled by a client-side engine running in the browser. The client-server communications and any client-side technologies, such as HTML and JavaScript, are invisible to the developer. As the client-side engine runs as JavaScript in the browser, there is no need to install plug-ins. Vaadin is released under the Apache License 2.0.
Figure 1: Vaadin Client-Server Architecture
If the built-in selection of components is not enough, you can develop new components with the Google Web Toolkit (GWT)
Figure 2: Architecture for Vaadin Applications
Hot Tip
You can get a reference to the application object from any component attached to the application with
Event ListenersIn the event-driven model, user interaction with user interface components triggers server-side events, which you can handle
Web BrowserClient-Side Engine
JavaWeb Server
VaadinUIComponents
YourJavaApplication
WebService
EJB
DB
Servlet Container
UserApplication
EventListener
DataModel
ApplicationThemes
ApplicationResources
DefaultTheme
FileResources
ExternalResources
Database
DataBinding
Inherits Events Changes
AJAX Requests
Inherits
UIComponent
JavaServlet
ApplicationClass
Web BrowserClient-Side Engine
brought to you by...
sunnuntaina 13. helmikuuta 2011
![Page 74: Vaadin - Rich Web Apps in Server-Side Java without Plug-ins or JavaScript](https://reader034.vdocuments.us/reader034/viewer/2022051514/5484ff5e5806b5b8588b472e/html5/thumbnails/74.jpg)
www.vaadin.comMap Overlay Nov 14, 2009 - Nov 13, 2010
Comparing to: Site
Visits1 102,776
799,821 visits came from 196 countries/territoriesSite Usage
Visits799,821% of Site Total: 100.00%
Pages/Visit5.58Site Avg: 5.58 (0.00%)
Avg. Time on Site00:06:53Site Avg: 00:06:53 (0.00%)
% New Visits34.64%Site Avg: 34.53% (0.32%)
Bounce Rate37.55%Site Avg: 37.55% (0.00%)
Country/Territory Visits Pages/Visit Avg. Time onSite
% New Visits Bounce Rate
United States 102,776 5.49 00:06:41 42.29% 39.51%
Finland 84,139 6.58 00:07:48 18.89% 35.29%
Germany 73,722 5.80 00:06:26 33.97% 38.19%
France 32,840 5.86 00:06:43 37.86% 35.90%
India 30,822 4.48 00:06:35 51.93% 44.48%
United Kingdom 29,735 5.55 00:06:21 33.64% 41.84%
Russia 29,402 6.01 00:07:07 24.38% 33.45%
Italy 27,904 5.96 00:06:36 34.25% 35.30%
Brazil 24,071 5.17 00:07:13 40.93% 35.94%
1 Google Analytics
Ask the[really active, world wide]
Community
Forums with1000 msgs/m
sunnuntaina 13. helmikuuta 2011