Vaadin and Spring at Devoxx UK 2015

Post on 13-Aug-2015

525 views 3 download

transcript

“good” = “awesome”“Honesty - Invented in Finland” https://vimeo.com/113102755

How to rock your web apps

with Spring and Vaadin

what isVaadin

all about??

Make building (good)

webapplications

easy

Web application layers

JavaScriptJava to

JavaScriptWeb

serverBackend

server

required optional optionalrequired

RPC

optional

Vaadin

required optionalrequired

GW

T

requiredrequiredJS

requiredrequired

required required

TextField name = new TextField("Name");Button greetButton = new Button("Greet"); greetButton.addClickListener(e -> { Notification.show("Hi "+name.getValue());});

Vaadin Java code:

525

Vaadin andSpring?

Build beautiful web user interfaces.

Single page application easily.

Code in Java on the server-side.

Easy binding to Spring data sources.

Vaadin

for Spring Applications?

One-step with Spring Boot.

IoC for modularity and testability.

Cloud-ready applications.

Full set of Spring libraries available.

Spring

for Vaadin Applications?

@SpringBootApplicationpublic class DemoApplication {

public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }

@Service public static class MyService {

public String sayHi() { return "Hello Spring Initializr!"; }

}

@Theme("valo") @SpringUI(path = "") public static class VaadinUI extends UI {

@Autowired MyService myService;

@Override protected void init(VaadinRequest request) { setContent(new Label(myService.sayHi())); }

}}

curl start.spring.iodemo}>|

curl https://start.spring.io/starter.zip \ -d type=maven-project -d dependencies=vaadin,data-jpa,data-rest,h2,social-twitter \ -d baseDir=vaadin-demo -d artifactId=vaadin-demo -d javaVersion=1.8 -o vaadin-demo.zip

JPA

Spring Data

Spring Boot

curl -i -X POST -H "Content-Type:application/json" -d '{ "lat" : "60.205654", "lon" : "21.8838", "speed" : "6.5", "timestamp" : "2015-04-28'T'16:50:20Z" }' http://localhost:8080/gps

REST

/JSO

N

GPSData

Backend Frontend

Vaadin

github.com/samie/

spring-vaadin-demo

vaadin.com/spring

Springfor Vaadin

Vaadinfor Spring Applications