introduction to vaadin 7

79
Leif Åstrand Vaadin Expert vaadin.com/leif Vaadin 7 torsdag 21 mars 13

Upload: lastrand

Post on 10-May-2015

539 views

Category:

Technology


6 download

DESCRIPTION

Vaadin 7 presentation at Codemotion in Rome 22.03.2013

TRANSCRIPT

Page 2: Introduction to Vaadin 7

slideshare.com/lastrand

torsdag 21 mars 13

Page 3: Introduction to Vaadin 7

WhyVaadin? How Vaadin

works

torsdag 21 mars 13

Page 4: Introduction to Vaadin 7

new Label(“Hello world”)

torsdag 21 mars 13

Page 5: Introduction to Vaadin 7

Gettingstarted

QA

torsdag 21 mars 13

Page 6: Introduction to Vaadin 7

torsdag 21 mars 13

Page 7: Introduction to Vaadin 7

User interface framework for rich

web applications

torsdag 21 mars 13

Page 8: Introduction to Vaadin 7

torsdag 21 mars 13

Page 9: Introduction to Vaadin 7

htmljava

torsdag 21 mars 13

Page 10: Introduction to Vaadin 7

Apache 2.0 license

torsdag 21 mars 13

Page 11: Introduction to Vaadin 7

Why on earth?

torsdag 21 mars 13

Page 12: Introduction to Vaadin 7

torsdag 21 mars 13

Page 13: Introduction to Vaadin 7

expectations

torsdag 21 mars 13

Page 14: Introduction to Vaadin 7

reality

torsdag 21 mars 13

Page 15: Introduction to Vaadin 7

businessconsumer

“million” users10 views1!/user

“500” users50 views500!/user

>>100,000! / view 5,000! / view

torsdag 21 mars 13

Page 16: Introduction to Vaadin 7

ProblemHow to build consumer

grade UX with business system budget

torsdag 21 mars 13

Page 17: Introduction to Vaadin 7

How?

torsdag 21 mars 13

Page 18: Introduction to Vaadin 7

123Key Ideas

torsdag 21 mars 13

Page 19: Introduction to Vaadin 7

1RichComponents

torsdag 21 mars 13

Page 20: Introduction to Vaadin 7

User IntefaceData Source

Theme

torsdag 21 mars 13

Page 24: Introduction to Vaadin 7

torsdag 21 mars 13

Page 25: Introduction to Vaadin 7

torsdag 21 mars 13

Page 26: Introduction to Vaadin 7

torsdag 21 mars 13

Page 27: Introduction to Vaadin 7

torsdag 21 mars 13

Page 28: Introduction to Vaadin 7

torsdag 21 mars 13

Page 29: Introduction to Vaadin 7

User IntefaceData Source

Theme

torsdag 21 mars 13

Page 34: Introduction to Vaadin 7

Sass

torsdag 21 mars 13

Page 35: Introduction to Vaadin 7

Sass variables & functions

torsdag 21 mars 13

Page 36: Introduction to Vaadin 7

Sass mixins

torsdag 21 mars 13

Page 37: Introduction to Vaadin 7

User IntefaceData Source

Theme

torsdag 21 mars 13

Page 38: Introduction to Vaadin 7

torsdag 21 mars 13

Page 39: Introduction to Vaadin 7

InMemory, Bean, Method, Collection, JDBC, JPA, Hibernate, TextFile, FileSystem, Properties, EclipseLink, Lucene, Mockups, GAE, ...

torsdag 21 mars 13

Page 40: Introduction to Vaadin 7

2Server + Client

torsdag 21 mars 13

Page 41: Introduction to Vaadin 7

Web application layers

JavaScriptJava toJavaScript

required optional optionalrequired optional

Vaa

din

GW

T

requiredrequiredJS

required optionalrequired requiredrequired

required required

Web layerBusinesslayer JSON, XML, ...

torsdag 21 mars 13

Page 42: Introduction to Vaadin 7

Server-

Client-

side

Optim

ized for

Productivity

Opt

imiz

ed fo

r

Cont

rol

torsdag 21 mars 13

Page 43: Introduction to Vaadin 7

server

client

Component

Widget

Connector

RPC

State

torsdag 21 mars 13

Page 44: Introduction to Vaadin 7

How does it work, really?

torsdag 21 mars 13

Page 45: Introduction to Vaadin 7

name = new TextField("Name");greetButton = new Button("Greet");

greetButton.addClickListener(new ClickListener() { public void buttonClick(ClickEvent event) { Notification.show("Ciao " + name.getValue()); }});

torsdag 21 mars 13

Page 46: Introduction to Vaadin 7

• Initial HTML• CSS (theme)• Images• JavaScript

1200k total

300k

compress

135k

reducedwidget setand theme

torsdag 21 mars 13

Page 47: Introduction to Vaadin 7

• name=”Leif”• Button clicked

332 bytes

torsdag 21 mars 13

Page 48: Introduction to Vaadin 7

name = new TextField("Name");greetButton = new Button("Greet");

greetButton.addClickListener(new ClickListener() { public void buttonClick(ClickEvent event) { Notification.show("Ciao " + name.getValue()); }});

torsdag 21 mars 13

Page 49: Introduction to Vaadin 7

• name=”Leif”• Button clicked

332 bytes

• Show notification

462 bytes

torsdag 21 mars 13

Page 50: Introduction to Vaadin 7

Trying it out

torsdag 21 mars 13

Page 51: Introduction to Vaadin 7

https://github.com/vaadin/documentmanager

torsdag 21 mars 13

Page 52: Introduction to Vaadin 7

3EmbracingJava

torsdag 21 mars 13

Page 53: Introduction to Vaadin 7

Any JVMLanguage

torsdag 21 mars 13

Page 54: Introduction to Vaadin 7

Internet ExplorerChromeFirefoxSafariOpera

iOSAndroid

torsdag 21 mars 13

Page 55: Introduction to Vaadin 7

Nobrowserplugins

Nothing toinstall

torsdag 21 mars 13

Page 56: Introduction to Vaadin 7

Servlet Portlet

(most) clouds

torsdag 21 mars 13

Page 57: Introduction to Vaadin 7

EclipseIntelliJ IDEA

NetbeansMaven

AntGradle

∙ ∙ ∙

torsdag 21 mars 13

Page 58: Introduction to Vaadin 7

torsdag 21 mars 13

Page 59: Introduction to Vaadin 7

Vaadin += GWT

torsdag 21 mars 13

Page 60: Introduction to Vaadin 7

torsdag 21 mars 13

Page 61: Introduction to Vaadin 7

torsdag 21 mars 13

Page 62: Introduction to Vaadin 7

torsdag 21 mars 13

Page 63: Introduction to Vaadin 7

GWTCompatible

torsdag 21 mars 13

Page 64: Introduction to Vaadin 7

vaadin.com/vaadin7

torsdag 21 mars 13

Page 65: Introduction to Vaadin 7

torsdag 21 mars 13

Page 66: Introduction to Vaadin 7

torsdag 21 mars 13

Page 67: Introduction to Vaadin 7

torsdag 21 mars 13

Page 68: Introduction to Vaadin 7

torsdag 21 mars 13

Page 69: Introduction to Vaadin 7

torsdag 21 mars 13

Page 70: Introduction to Vaadin 7

torsdag 21 mars 13

Page 71: Introduction to Vaadin 7

torsdag 21 mars 13

Page 72: Introduction to Vaadin 7

torsdag 21 mars 13

Page 73: Introduction to Vaadin 7

torsdag 21 mars 13

Page 74: Introduction to Vaadin 7

gettingstarted

torsdag 21 mars 13

Page 75: Introduction to Vaadin 7

torsdag 21 mars 13

Page 76: Introduction to Vaadin 7

Eclipse

torsdag 21 mars 13

Page 77: Introduction to Vaadin 7

mvn archetype:generate-DarchetypeGroupId=com.vaadin -DarchetypeArtifactId= vaadin-archetype-application-DarchetypeVersion=7.0.3

Maven

torsdag 21 mars 13

Page 78: Introduction to Vaadin 7

Download for Freevaadin.com/book

~700 pages

Vaadin 7 Draft Edition

US $29.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

torsdag 21 mars 13

Page 79: Introduction to Vaadin 7

? [email protected]/leif

slideshare.com/lastrand

torsdag 21 mars 13