introduction to vaadin 7
DESCRIPTION
Vaadin 7 presentation at Codemotion in Milano 30.11.2013TRANSCRIPT
Vaadin7today
Leif ÅstrandSenior Vaadin Expert
lördag 30 november 13
Intro toVaadin How Vaadin
works
lördag 30 november 13
new Label(“Hello world”)
lördag 30 november 13
Gettingstarted
QA
lördag 30 november 13
lördag 30 november 13
User interface framework for rich
web applications
lördag 30 november 13
Building blocks
lördag 30 november 13
lördag 30 november 13
htmljava
lördag 30 november 13
Why on earth?
lördag 30 november 13
lördag 30 november 13
expectations
lördag 30 november 13
reality
lördag 30 november 13
businessconsumer
“million” users “500” users
>>100,000! / view 5,000! / view
10 views1!/user
50 views500!/user
lördag 30 november 13
ChallengeHow to build consumer
grade UX with business system budget
lördag 30 november 13
123Key Ideas
lördag 30 november 13
1RichComponents
lördag 30 november 13
User InterfaceData Source
Theme
lördag 30 november 13
lördag 30 november 13
1.6 Going mobile
GWT is a versatile technology that allows developers to create application UI for desktop, tablet, and mobile consumption. As can be expected, over 98% of apps support desktop browsers, but we found it interesting that tablets had overtaken phones (at least when it came to support from GWT-based apps). In US, the number of apps supporting tablets was as high as 46%, while it was just 34% in Europe.
What kind of devices does your app support?
98.1%25.7%
Phones
36.1%
Tablets
Desktop browsers
Others
2.1%
“Since gwt is used extensively in the enterprise, this may explain why tablets are more popular than support for phones”
Daniel
Browsers developers expect to support in 2013
3.5 Browsers to support in 2012
IE 6/7 Safari Opera IE 8
6/7 8
14% 18% 36% 54%
Chrome
9 10IE 9 IE 10 Firefox
79% 80% 94% 94%Browsers developers expect to support in 2013
3.5 Browsers to support in 2012
IE 6/7 Safari Opera IE 8
6/7 8
14% 18% 36% 54%
Chrome
9 10IE 9 IE 10 Firefox
79% 80% 94% 94%
1.6 Going mobile
GWT is a versatile technology that allows developers to create application UI for
desktop, tablet, and mobile consumption. As can be expected, over 98% of apps
support desktop browsers, but we found it interesting that tablets had overtaken
phones (at least when it came to support from GWT-based apps). In US, the number
of apps supporting tablets was as high as 46%, while it was just 34% in Europe.
What kind of devices does your app support?
98.1%
25.7%
Phones
36.1%
Tablets
Desktop
browsers
Others2.1%
“Since gwt is used extensively
in the enterprise, this may
explain why tablets are more
popular than support for
phones”
Daniel
iPhoneAndroid
WP 8
1.6 Going mobile
GWT is a versatile technology that allows developers to create application UI for
desktop, tablet, and mobile consumption. As can be expected, over 98% of apps
support desktop browsers, but we found it interesting that tablets had overtaken
phones (at least when it came to support from GWT-based apps). In US, the number
of apps supporting tablets was as high as 46%, while it was just 34% in Europe.
What kind of devices does your app support?
98.1%
25.7%
Phones
36.1%
Tablets
Desktop
browsers
Others2.1%
“Since gwt is used extensively
in the enterprise, this may
explain why tablets are more
popular than support for
phones”
Daniel
iPadAndroidWindows 8
lördag 30 november 13
lördag 30 november 13
350+ add-oncomponents
lördag 30 november 13
lördag 30 november 13
lördag 30 november 13
lördag 30 november 13
lördag 30 november 13
User InterfaceData Source
Theme
lördag 30 november 13
lördag 30 november 13
lördag 30 november 13
lördag 30 november 13
lördag 30 november 13
Sass variables & functions
lördag 30 november 13
Mixins
lördag 30 november 13
User InterfaceData Source
Theme
lördag 30 november 13
lördag 30 november 13
InMemory, Bean, Method, Collection, JDBC, JPA, Hibernate, TextFile, FileSystem, Properties, EclipseLink, Lucene, Mockups, GAE, ...
lördag 30 november 13
2Server + Client
lördag 30 november 13
Web application layers
Backendserver
Webserver
Commu-nication JavaScript
lördag 30 november 13
Web application layers
JavaScriptJava toJavaScript
Webserver
Backendserver
required optional optionalrequired
Commu-nication
optional
Vaa
din
required optionalrequired
GW
T
requiredrequiredJS
requiredrequired
required required
lördag 30 november 13
Web application layers
JavaScriptJava toJavaScript
Webserver
Backendserver
required optional optionalrequired
Commu-nication
optional
Vaa
din
required optionalrequired
GW
T
requiredrequiredJS
requiredrequired
required required
1 layervs
3 layers
-50% lines of code-50% development-50% maintenanceeasier to learn
lördag 30 november 13
Server-
Client-
side
Optim
ized for
Productivity
Opt
imiz
ed fo
r
Cont
rol
lördag 30 november 13
Server-Client-
sideO
ptim
ized
for
Prod
uctiv
ity
Optim
ized for
Controllördag 30 november 13
server
client
Component
Widget
Connector
RPC
State
lördag 30 november 13
How does it work, really?
lördag 30 november 13
name = new TextField("Name");greetButton = new Button("Greet");
greetButton.addClickListener(new ClickListener() { public void buttonClick(ClickEvent event) { Notification.show("Ciao " + name.getValue()); }});
lördag 30 november 13
• Initial HTML• CSS (theme)• Images• JavaScript
1200k total
300k
compress
135k
reducedwidget setand theme
lördag 30 november 13
• name=”Leif”• Button clicked
332 bytes
lördag 30 november 13
name = new TextField("Name");greetButton = new Button("Greet");
greetButton.addClickListener(new ClickListener() { public void buttonClick(ClickEvent event) { Notification.show("Ciao " + name.getValue()); }});
lördag 30 november 13
• name=”Leif”• Button clicked
332 bytes
• Show notification
462 bytes
lördag 30 november 13
Hello World!
lördag 30 november 13
https://github.com/vaadin/documentmanager
https://vaadin.com/learn
Source
HOWTO Screencast
lördag 30 november 13
3EmbracingJava
lördag 30 november 13
Any JVMLanguage
lördag 30 november 13
Internet ExplorerChromeFirefoxSafariOpera
iOSAndroid
lördag 30 november 13
Nobrowserplugins
Nothing toinstall
lördag 30 november 13
Servlet Portlet
(most) clouds
lördag 30 november 13
EclipseIntelliJ IDEA
NetbeansMaven
Ant∙ ∙ ∙
lördag 30 november 13
Vaadin += GWT
lördag 30 november 13
lördag 30 november 13
lördag 30 november 13
lördag 30 november 13
GWTCompatible
lördag 30 november 13
Vaadin7.1lördag 30 november 13
v32002
v0.12001
OpenSource
lördag 30 november 13
v42006
Ajax
v52007
lördag 30 november 13
7Febv6
2009
lördag 30 november 13
lördag 30 november 13
934 tickets closed during 16 months of development
3939 commits made by 23 authors
Oldest ticket created 3/2008Newest ticket 2/2013
3939 commits made by 23 authors93 % by 6 persons
> 1 000 000 lines of code touched
lördag 30 november 13
gettingstarted
lördag 30 november 13
lördag 30 november 13
Eclipse
Download plugin from Martketplace
lördag 30 november 13
IntelliJ IDEA
Built-in supportlördag 30 november 13
Netbeans
Download plugin Netbeans Plugin Portal
lördag 30 november 13
mvn archetype:generate-DarchetypeGroupId= com.vaadin-DarchetypeArtifactId= vaadin-archetype-application-DarchetypeVersion= 7.1.8
Maven
lördag 30 november 13
Migration Guide:Vaadin 6 to 7
https://vaadin.com/wiki/-/wiki/Main/Migrating+from+Vaadin+6+to+Vaadin+7
lördag 30 november 13
Download for Freevaadin.com/book
728 pages
9 789529 319701
ISBN 978-952-93-1970-1
PDF, ePub, HTML
lördag 30 november 13
ApacheLicense
lördag 30 november 13
community of100.000+ developers
Ohloh#2 used
Java WebFramework
lördag 30 november 13