Vaadin roadmap-devoxx-2013

37
Joonas Lehtinen Founder & CEO @joonaslehtinen Beyond 7

Transcript of Vaadin roadmap-devoxx-2013

Page 1: Vaadin roadmap-devoxx-2013

Joonas Lehtinen Founder & CEO @joonaslehtinen

Beyond 7

Page 2: Vaadin roadmap-devoxx-2013

Questions & answers

Roadmap

Quick recap of Vaadin 7

7.1 Feature by feature

Agenda

Page 3: Vaadin roadmap-devoxx-2013

Vaadin7.1

Page 4: Vaadin roadmap-devoxx-2013

@VaadinServletConfiguration

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

Page 5: Vaadin roadmap-devoxx-2013

@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 6: Vaadin roadmap-devoxx-2013

@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 7: Vaadin roadmap-devoxx-2013

Server initiated events / Push

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

Page 8: Vaadin roadmap-devoxx-2013

server

client

Component

Widget

Connector

RPC

State

Page 9: Vaadin roadmap-devoxx-2013

Sample http://demo.vaadin.com/sampler/#foundation/push

Page 10: Vaadin roadmap-devoxx-2013

@Push MyUI !

!

<async-supported/> orasyncSupported = true !

!

vaadin-push dependency

Page 11: Vaadin roadmap-devoxx-2013

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

Page 12: Vaadin roadmap-devoxx-2013

Debug window

Page 13: Vaadin roadmap-devoxx-2013

?debug

Page 14: Vaadin roadmap-devoxx-2013

Optimizing widgetset...

278k 130k

Page 15: Vaadin roadmap-devoxx-2013

Compiling themes

Page 16: Vaadin roadmap-devoxx-2013

Add-on theme packaging

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

Page 17: Vaadin roadmap-devoxx-2013

Inject CSS dynamically

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

Page 18: Vaadin roadmap-devoxx-2013

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

Page 19: Vaadin roadmap-devoxx-2013

Sample http://demo.vaadin.com/sampler/#foundation/cssinject

Page 20: Vaadin roadmap-devoxx-2013

Calendar

https://vaadin.com/wiki/-/wiki/Main/Migrating+from+Vaadin+7.0+to+Vaadin+7.1

Page 21: Vaadin roadmap-devoxx-2013

Accessibility with WAI-ARIA

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

Page 22: Vaadin roadmap-devoxx-2013

Button

TextField

PasswordField

TextArea

DateField

WAI-ARIA enabled components

CheckBox

ComboBox

ButtonGroup

Tree

Tooltip

Page 23: Vaadin roadmap-devoxx-2013

Roadmap

Page 24: Vaadin roadmap-devoxx-2013

Vaadin 7.2

GWT compatibility

Application archetype

Vaadin CDI 1.0 beta

Vaadin TouchKit 4.0

Vaadin TestBench 4.0

Netbeans plug-in

Spreadsheet

Page 25: Vaadin roadmap-devoxx-2013

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

New theme that leverages SASS

Responsive extension built-in http://vaadin.com/addon/vaadin-responsive

Vaadin 7.2

Page 26: Vaadin roadmap-devoxx-2013

Editor rowWidgetWidgetWidget

Editor rowComponentComponentComponent

Widget

Renderer

Grid

Escalator

Connector (Hierarchical) DataSource

(Hierarchical) DataSource

Grid

Component Component

Widget

Renderer Per column

In headers and cells

In headers and cells

Page 27: Vaadin roadmap-devoxx-2013

Escalator

Page 28: Vaadin roadmap-devoxx-2013

<Beat design example>

Page 29: Vaadin roadmap-devoxx-2013

// Vaadin UI protected 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 30: Vaadin roadmap-devoxx-2013

Full stack example

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

Modularization and full tools support

Application Archetype

Page 31: Vaadin roadmap-devoxx-2013

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 32: Vaadin roadmap-devoxx-2013

New cross-platform theme http://demo.vaadin.com/parking/

Windows Phone 8 support

Vaadin TouchKit 4.0

Page 33: Vaadin roadmap-devoxx-2013

New cross-platform theme http://demo.vaadin.com/parking/

Windows Phone 8 support

Vaadin TouchKit 4.0

Page 34: Vaadin roadmap-devoxx-2013

Vaadin Driver : New way of building selectors

Replacing recorder with debug window

Vaadin TestBench 4.0

Page 35: Vaadin roadmap-devoxx-2013

Spreadsheet

Page 36: Vaadin roadmap-devoxx-2013

Netbeans plugin

Page 37: Vaadin roadmap-devoxx-2013

http://gwtcreate.com/

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