introduction to vaadin 7

Post on 25-May-2015

359 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Vaadin 7 presentation at Codemotion in Milano 30.11.2013

TRANSCRIPT

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

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

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

? leif@vaadin.comvaadin.com/leif

slideshare.com/lastrand

lördag 30 november 13

top related