vaadin and spring at devoxx uk 2015
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