beoynd vaadin 7

42
Joonas Lehtinen Founder & CEO @joonaslehtinen Beyond 7

Upload: joonas-lehtinen

Post on 10-May-2015

2.383 views

Category:

Technology


3 download

DESCRIPTION

Presentation at Vaadin & GWT meetup San Francisco Sep 25, 2013

TRANSCRIPT

Page 1: Beoynd Vaadin 7

Joonas LehtinenFounder & CEO@joonaslehtinen

Beyond 7

Page 2: Beoynd Vaadin 7

Questions &answers

Roadmap

Quick recap of Vaadin 7

7.1Feature by feature

Agenda

Page 3: Beoynd Vaadin 7

Vaadin7

Page 4: Beoynd Vaadin 7

v32002

v0.12001

OpenSource

Page 5: Beoynd Vaadin 7

v42006

Ajax

v52007

Page 6: Beoynd Vaadin 7

7Febv6

2009

Page 7: Beoynd Vaadin 7

Completestack

Renewedfrom Inside

Sass

JS

HTML5+=GWT

RPCState

UI

Field

Page 9: Beoynd Vaadin 7

Vaadin7.1

Page 10: Beoynd Vaadin 7

@VaadinServletConfiguration

https://vaadin.com/wiki/-/wiki/Main/Creating+a+servlet+3.0+application

Page 11: Beoynd Vaadin 7

@Theme("foo")public class FooUI extends UI {

@WebServlet(value = "/*", asyncSupported = true) @VaadinServletConfiguration(productionMode = false, ui = FooUI.class) public static class Servlet extends VaadinServlet { }

@Override protected void init(VaadinRequest request) { ... }

}

Page 12: Beoynd Vaadin 7

@Theme("foo")public class FooUI extends UI {

@WebServlet(value = "/*", asyncSupported = true) @VaadinServletConfiguration(productionMode = false, ui = FooUI.class) public static class Servlet extends VaadinServlet { }

@Override protected void init(VaadinRequest request) { ... }

}

Page 13: Beoynd Vaadin 7

Server initiated events / Push

https://vaadin.com/wiki/-/wiki/Main/Using+server+initiated+events

Page 14: Beoynd Vaadin 7

server

client

Component

Widget

Connector

RPC

State

Page 16: Beoynd Vaadin 7

@Push MyUI

<async-supported/> orasyncSupported = true

vaadin-push dependency

Page 17: Beoynd Vaadin 7

UI.getCurrent().access(new Runnable() {public void run() {layout.addComponent(new Label("foo”));

}});

Page 18: Beoynd Vaadin 7

Debugwindow

Page 19: Beoynd Vaadin 7

?debug

Page 20: Beoynd Vaadin 7

Optimizing widgetset...

278k 130k

Page 21: Beoynd Vaadin 7

Compiling themes

Page 22: Beoynd Vaadin 7

Add-ontheme packaging

https://vaadin.com/wiki/-/wiki/Main/Packaging+SCSS+or+CSS+in+an+add-on

Page 23: Beoynd Vaadin 7

Inject CSSdynamically

https://vaadin.com/wiki/-/wiki/Main/Dynamically+injecting+CSS

Page 24: Beoynd Vaadin 7

getPage().getStyles().add(".reindeer.v-app { background: #"+ Math.round(Math.random() * 899 + 100) + ";}"

);

Page 27: Beoynd Vaadin 7

Accessibility with WAI-ARIA

https://vaadin.com/blog/-/blogs/first-step-in-accessibility

Page 28: Beoynd Vaadin 7

ButtonTextFieldPasswordFieldTextAreaDateField

WAI-ARIA enabled components

CheckBoxComboBoxButtonGroupTreeTooltip

Page 29: Beoynd Vaadin 7

Roadmap

Page 30: Beoynd Vaadin 7

Roadmap

Page 31: Beoynd Vaadin 7

Vaadin 7.2GWT compatibilityApplication archetypeVaadin CDI 1.0 betaVaadin TouchKit 4.0Vaadin TestBench 4.0Netbeans plug-inSpreadsheet

Page 32: Beoynd Vaadin 7

Grid• Client-side data model• Client-side APIs• Replaces Table and TreeTable

New theme that leverages SASS

Responsive extension built-inhttp://vaadin.com/addon/vaadin-responsive

Vaadin 7.2

Page 33: Beoynd Vaadin 7
Page 34: Beoynd Vaadin 7

<Beat design example>

Page 35: Beoynd Vaadin 7

// Vaadin UIprotected void init(VaadinRequest request) { new Responsive(this);}

// CSS.v-ui[width-range~="0-800px"] { /* Styles that apply when the UI's width is between 0 and 800 pixels */} .v-ui[width-range~="801px-"] { /* Styles that apply when the UI's width is over 800 pixels */}

http://demo.vaadin.com/responsive/

Page 36: Beoynd Vaadin 7

Full stack example

Suitable for working on all layers• Server-side Java• Client-side Java• JavaScript

Modularization and full tools support

Application Archetype

Page 37: Beoynd Vaadin 7

Finalize what is already available as alpha in directoryhttp://vaadin.com/addon/vaadin-cdi

Features• Registering UI with @CDIUI and Views• Decoupling by injecting components• Injecting EJBs, events, ...• UI Scope• Supports JAAS

Vaadin CDI 1.0 beta

Page 38: Beoynd Vaadin 7

New cross-platform themehttp://demo.vaadin.com/parking/

Windows Phone 8 support

Vaadin TouchKit 4.0

Page 39: Beoynd Vaadin 7

Vaadin Driver : New way of building selectors

Replacing recorder with debug window

Vaadin TestBench 4.0

Page 40: Beoynd Vaadin 7

Spreadsheet

Page 41: Beoynd Vaadin 7

Netbeans plugin

Page 42: Beoynd Vaadin 7

http://gwtcreate.com/

San Francisco - Dec 12-13Frankfurt - Dec 17-18