SlideShare uma empresa Scribd logo
1 de 98
Baixar para ler offline
Vaadin 7

   Joonas Lehtinen, CEO
   @joonaslehtinen
Intro to
 Vaadin

           new Label( “Hello world”)
New in

  7
Getting
started



          QA
User interface
framework for rich
  web applications
java   html
Why on earth?
consumerEE
expectations
reality
consumer      business
 “million” users   “500” users
        10 views   50 views
         1€/user   500€/user

100,000€ / view >> 5,000€ / view
Problem
 How to build consumer
grade UX with business
        system budget
How?
123
Key Ideas
1
Rich
Components
User Inteface
Data Source
   Theme
Rich Applications
User Inteface
Data Source
   Theme
User Inteface
Data Source
   Theme
InMemory, Bean, Method,
Collection, JDBC, JPA, Hibernate,
TextFile, FileSystem, Properties,
EclipseLink, Lucene, Mockups,
GAE, ...
2
Server + Client
Layers of abstraction
             Backend      Web                   Java to
                                     RPC                    JavaScript
              server     server                JavaScript
GWT Vaadin




              required   required   optional     optional     optional




              required   required   required     required     optional
JS




              required   required   required                  required
How does it work,
really?
•   Initial HTML
•   CSS (theme)
•   Images
•   JavaScript

830k total
        compress

250k
        reduced
        widgetset

120k
• name=”Joonas”
• button clicked

150 bytes
• name=”Joonas”
• button clicked

150 bytes




• Add notification

466 bytes
Trying it out
https://github.com/jojule/NotesDemo
3
Embracing
Java
Any JVM
Language
Internet Explorer
         Chrome
          Firefox
           Safari
           Opera
             iOS
         Android
No
  browser
   plugins

Nothing to
    install
Servlet
      Portlet
(most) clouds
Eclipse
IntelliJ IDEA
   Netbeans
       Maven
           Ant
 Spring Roo
            ∙∙∙
Vaadin


      7
Framework
Empower Developers

Embrace Extendability

            Clean Up
Vaadin += GWT
GWT
Compatible
Server
                    Pr
                     Op
          -
             od
                        t
                                               r
                 im
                                             fo
    uc
                                           d
       ti     ize
                                     ize
 vit        df
y      or
                                  tim
                               e rol
                                Op
                                  t-



                            s d ont
                             i C
                               ien
                             Cl
Se
     rve



            r    P
        r-

                           e
            Op
              od
u
                        sid
  c           tim
                                             or
   tiv
                                           df
                 ized
      ity
                                     ize
                                           ol
     f or
                                 r
                               tim
                           Op nt
                            Co
                             t-
                           en
                        Cli
Architecture
Refactored
windowing
public class Vaadin6App extends Application {

	   public void init() {
	   	 setMainWindow(createWindow());
	   }

	   public Window getWindow(String name) {
	   	 Window window = super.getWindow(name);
	   	 if (window == null) {
	   	 	 window = createWindow();
	   	 	 window.setName(name);
	   	 	 addWindow(window);
	   	 }
	   	 return window;
	   }

	   private Window createWindow() {
	   	 Window window = new Window("Vaadin 6 Application");
	   	 window.addComponent(new TextField("What is your name"));
	   	 window.addComponent(new Button("Do not push me"));
	   	 return window;
	   }

}
@Title("Vaadin 7 Application")
public class Vaadin7uiUI extends UI {

	   @Override
	   public void init(VaadinRequest request) {
	   	 addComponent(new TextField("What is your name"));
	   	 addComponent(new Button("Do not push me"));
	   }

}
SASS
Variables & functions
Mixins
Nesting
Selector Inheritance
Redesigned
Forms
public class Employee {
	 String firstName;
	 String lastName;
	 double salary;
                                        6
	 Date birthDate;
      // Getters, setters, …
}

Form form = new Form();
form.setItemDataSource(
   new BeanItem<Employee>(employee));
form.setFormFieldFactory(new FormFieldFactory() {

	 	 	 public Field createField(Item item, Object propertyId,
	 	 	 	 	 Component uiContext) {

	   	   	   	   if ("birthDate".equals(propertyId)) {
                                                                 6
	   	   	   	   	 DateField df = new DateField();
	   	   	   	   	 df.setResolution(DateField.RESOLUTION_DAY);
	   	   	   	   	 return df;
	   	   	   	   }

                // ..

	   	   	 	 return DefaultFieldFactory.createFieldByPropertyType(item
	   	   	 	 	 	 .getItemProperty(propertyId).getType());
	   	   	 }
	   	   });
7
	 	 GridLayout form = new GridLayout(2,2) {

	   	   	    TextField   firstName = new TextField("First name");
	   	   	    TextField   lastName = new TextField("Last name");
	   	   	    TextField   salary = new TextField("Salary");
	   	   	    DateField   birthDate = new DateField("Birth date");

	   	   	    {
	   	   	    	   birthDate.setResolution(Resolution.DAY);
	   	   	    	   setSpacing(true);
	   	   	    	   addComponent(firstName);
	   	   	    	   addComponent(lastName);
	   	   	    	   addComponent(birthDate);
	   	   	    	   addComponent(salary);
	   	   	    }
	   	   };

	 	 BeanFieldGroup<Employee> fieldGroup = new BeanFieldGroup<Employee>(Employee.class);
	 	 fieldGroup.bindMemberFields(form);
	 	 fieldGroup.setItemDataSource(new BeanItem<Employee>(employee));
public class Person {

    @Size(min = 5, max = 50)
    private String name;

    @Min(0)
    @Max(100)
    private int age;

    // + constructor + setters + getters
}
“Joonas Lehtinen”



presentation
                    Component
model




                firstName = “Joonas”
               lastName = “Lehtinen”
final TextField textField = new TextField("Name");
textField.setConverter(new StringToNameConverter());

// ....

Name name = (Name) textField.getConvertedValue();
public class StringToNameConverter implements Converter<String, Name> {

    public Name convertToModel(String text, Locale locale)
            throws ConversionException {
      // do the conversion
    }

    public String convertToPresentation(Name name, Locale locale)
            throws ConversionException {
      // do the conversion
    }

    public Class<Name> getModelType() {
        return Name.class;
    }

    public Class<String> getPresentationType() {
        return String.class;
    }
}
Renewed
communication
Widget
                                        6
                     Paintable
          Variable
client   Changes


server
                                 UIDL


                 Component
Widget
                         7
         Connector

client
                     State
server
         RPC


         Component
public interface ButtonRpc extends ServerRpc {
                             public void click(MouseEventDetails details);
                         }




                                                               private ButtonRpc rpc = new ButtonRpc() {
                                                                  public void click(
private ButtonRpc rpc =
                                                                    MouseEventDetails details) {
RpcProxy.create(ButtonRpc.class, this);
                                                                        // do stuff
                                                                  }
public void onClick(ClickEvent event) {
                                                               };
  rpc.click(
     new MouseEventDetails(event));
                                                               public Button() {
}
                                                                 registerRpc(rpc);
                                                               }




                                    client              server
JavaScript
Add-ons
Publish API from Java

getPage().getJavaScript().addCallback("myCallback",
	 new JavaScriptCallback() {
	 	 public void call(JSONArray arguments) throws JSONException {
	 	 	 // Do something with the arguments
	 	 }
	 });
	 	

Use from JavaScript

window.myCallback('foo', 100);
Widget implementation in JavaScript

window.com_example_MyWidget = function() {
	 var element = $(this.getWidgetElement());
	
    // Draw a plot for any server-side (plot data) state change
	 this.onStateChange = function() {
	 	 $.plot(element, this.getState().series, {grid: {clickable: true}});
	 }

      // Communicate local events back to server-side component
	    element.bind('plotclick', function(event, point, item) {
	    	 if (item) {
        	 var onPlotClick = this.getCallback("plotClick");
	    	 	 onPlotClick(item.seriesIndex, item.dataIndex);
	    	 }
	    });
}
Server-side Java API for Widget

public class MyWidget extends AbstractJavaScriptComponent {

	   public MyWidget() {
	   	 registerCallback("plotClick", new JavaScriptCallback() {
	   	 	 public void call(JSONArray arguments) throws JSONException {
	   	 	 	 // Do something with the event
	   	 	 }
	   	 });
	   }

	   public static class MyWidgetState extends ComponentState {
	   	 public List<List<List<Double>>> plotSeriesData =
	   	 	 	 new ArrayList<List<List<Double>>>();
	   	 // getters & setters
	   }

}
getting
started
Maven
  mvn archetype:generate
  -DarchetypeGroupId=com.vaadin
  -DarchetypeArtifactId=
     vaadin-archetype-application
  -DarchetypeVersion=7.0.0.beta8


  mvn package                   yourproject-1.0.war
Eclipse




http://vaadin.com/
eclipse/experimental
Download for Free
     vaadin.com/book




 ework
 s that
o u an d




      ~700 pages
aadin
                                                                                                                                                                with V                                                  nroo
                                                                                                                                                                                                                            s

                                                                                          ted                                                                                                     o                  Grö
#85
                                                                                     gStar                                                                                                 By Mark

                                                                                 ttin
                                                  DE:


                                                                               Ge
                                            LU                                                                                                                                                                                       rnal
                                        INC                                                                                                                                                                                      Exte urces
                                NTS                                                                                                                                                                                                   o
                       CO NTE                                                                                                                                                                                                     Res
                                    adin           tion
  m



                             ut Va         p plica
                        Abo          An A
             o




                                ting
                         C re a
    rd z . c




                                         s
                                    nent         nts
                          Co  mpo       m  pone                                                                                                   Web ser                                                                              File urces
                                   t Co                                                                                                           Brow -Side                                                                            Res
                                                                                                                                                                                                                                           o
                             ayou                           ...
                           L                         m o re                                                                                             t
                                                                                                                                                   Clien e                                          ntai
                                                                                                                                                                                                         ner
  a




                                    es          nd                                                                                                                                             Co
                            Them inding a                                                                                                          Engi
                                                                                                                                                        n             sts                rvlet
                  fc




                                                                                                                                                                  eque                Se
                                     B                                                                                                                       AX R
                                                                                                                                                               AJ
                             Data
           i t re




                                                                                                                               ent
                                                                                                                       opm                                                                                             efau
                                                                                                                                                                                                                               lt
                                                                                                               d evel         us  t like n              Java t                                          Data g D
                                                                                                                                                                                                                             me
                                                                        IN                            ation ations j                                                                                                  The
                                                                                                                                                                                                              in
       Vis




                                                                                                                                         .A                                                              Bind
                                                                                                                                                           ervle
                                                               AAD                            pplic pplic                           ing
                                                                                                                           or Sw ined
                                                                                                                                                         S
                                                   UT V                                eb a
                                                                                                                                                                                                                                                          n
                                                                                                         a                                                                          UI             nt                                                atio
                                               O                                  xw                eb                WT                                                                   pone                      Inhe
                                                                                                                                                                                                                          rits
                                                                                                                                                                                                                                               pplic ces
                                          AB                               e Aja o build w uch as A                             onta                                       n         Com                                                     A
                                                                                                                                                                                                                                                   our
                 z!




                                                                                                                                                                      atio
                                                                ve   r-sid       u  t              s, s              ne nts c                              A pplic                                 es                       pp  licat
                                                                                                                                                                                                                                      ion     Res
                                                      a ser
                                                                                                                                                                                               ang
                                                                            s yo            work e compo
                         d




                                                                                                                                                                    s                      Ch                           A
                                                                                                                                                            Clas                                                                 mes
                                              in is                  allow p frame                                                                                                  ts                                    The
                    fcar




                                                                                                     c                                                                          Even                    ata
                                       Vaad ork that eskto                                    terfa                                    n                                                              D
                                                                                                                                                                                                           del
                                            me   w                al  d            us  er in        s.                      ru   ns o                       Inhe
                                                                                                                                                                 rits
                                                                                                                                                                                     E vent r Mo
                                        fra             i t i o n u i l t f ro m             nent                   code d by a                                                       Liste
                                                                                                                                                                                            ne
                                                 trad                                 mpo                    tion
                 Re




                                                                     b                                                       l e                                    ser
                                         with                                 ut co                   plica                                  r                                   n
                                                          on is                                                       hand nt-serve
                                                                                                                                                                U             io
                                                                                                                                                                        licat                                       base
                                              pl  icati lly in layo                       , th e ap         tio n is         lie             s
                                                                                                                                                                  App                                      Data
                                          ap              ica                     odel             terac er. The
                                                                                                                           c
                                                                                                                                        ch a
                        e




                                                r a rc h                    en m l user in                     s                 s, su        he                                                                                    s
                                                                                                                                                                                                                                                               ject
                                r




                                           hie                          riv                                  w               ie                                                                                              ation
                                                                 er-d             tua               e bro chnolog per. As t s no                                                                                     pplic                                on ob on with
                           t Mo




                                                      e se
                                                              rv                c
                                                                          the a ning in
                                                                                                 th           te              lo               ei                                                        aadi
                                                                                                                                                                                                                nA                                 licati
                                             In th                 hile            n           ient-
                                                                                                      side             deve ser, ther                                                              for V
                                                                                                                                                                                                                                      to the app e applicati
                                                          er, w ngine ru                                         the                              he                                    itect
                                                                                                                                                                                              ure
                                                  serv                                  n y c l i s i b l e t o t h e b ro w h e A p a c                                          Arch                                      ence ched to th
                                               a
                                                             side
                                                                      e
                                                                               and
                                                                                      a
                                                                                                nv                                    t                                    re 2:                                    refer
                                                                                                                                                                                                         get a onent atta
                        Ge




                                                                                                                 in          nder
                                                cl i e n t - i c a t i o n s i p t , a re i                ript            u                                        Figu
                                                                                                                                                                                                     an
                                                                 n               r                 vaSc              sed                                                                    You c y comp
                                                  co  m m u d J a v a S c u n s a s J a n i s re l e a                                              Web                                                                                                                  face
                                                              L  an
                                                   HTM ide eng ug-ins. V
                                                                              in er             a adi                                             Ser vice                      Ho   t from an                                                                user
                                                                                                                                                                                                                                                                   inter     le
                                                                                                                                                                                                                                                        with           hand
                                                               t-s
                                                     clien o install
                                                                               pl                                       You  r
                                                                                                                                                       EJB                       Tip                                                             tion           u ca
                                                                                                                                                                                                                                                                     n
                                                                                                                          ava            n                                                                                                terac which yo
                                                      need
                                                                  t                                     in               J
                                                                                                                                licat
                                                                                                                                      io                                                                                           er in         ts,
                                                                        2.0.                     Vaad                     App                                                                         ers
                                                                                                                                                                                                en n mode side even        l, us                                               ith
                                                        L icen
                                                                   s e
                                                                                   va             UI           ents                                           B                       t   List rive                           er -                                     t ton w
                                                                                                         pon
                                                                                                                                                                             Even event-d gers serv
                                                                                Ja                                                                         D
                                                                                                                                                                                                                                                                  a bu
                                                                                 Web r             Com                                                                                                                                                      s for
                                                              Web ser
                                                                                  Serv
                                                                                         e
                                                                                                                                                                              In th
                                                                                                                                                                                     e                trig                                             vent
                                                                     w
                                                               Bro -Side                                                                                                                    ents                 s .                      le c lick e
                                                                                                                                                                                       pon              ener                       hand
                                                                  lient                                                                                                        com               t list                        e
                                                                C
                                                                       ne                                                                                    can                         even                         w, w
                                                                 Engi
                                                                                                                                                ugh , you                        with                        belo
                                                                                                                                                               WT)                                     ple
                                                                                                                                         t eno olkit (G                                      exam s class:
                                       m




                                                                                                                     ure
                                                                                                              hitec
                                                                                                                    t             is no          To                                    the               u
Q&A

Mais conteúdo relacionado

Mais procurados

Lecture: Vaadin Overview
Lecture: Vaadin OverviewLecture: Vaadin Overview
Lecture: Vaadin OverviewJoonas Lehtinen
 
Kotlin, 어떻게 동작하나요
Kotlin, 어떻게 동작하나요Kotlin, 어떻게 동작하나요
Kotlin, 어떻게 동작하나요Chang W. Doh
 
Create a Customized GMF DnD Framework
Create a Customized GMF DnD FrameworkCreate a Customized GMF DnD Framework
Create a Customized GMF DnD FrameworkKaniska Mandal
 
Hey Kotlin, How it works?
Hey Kotlin, How it works?Hey Kotlin, How it works?
Hey Kotlin, How it works?Chang W. Doh
 
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Async code on kotlin: rx java or/and coroutines - Kotlin Night TurinAsync code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Async code on kotlin: rx java or/and coroutines - Kotlin Night TurinFabio Collini
 
#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기Arawn Park
 
Lexical environment in ecma 262 5
Lexical environment in ecma 262 5Lexical environment in ecma 262 5
Lexical environment in ecma 262 5Kim Hunmin
 
Imagine a world without mocks
Imagine a world without mocksImagine a world without mocks
Imagine a world without mockskenbot
 
Zend Framework meets Doctrine 2
Zend Framework meets Doctrine 2Zend Framework meets Doctrine 2
Zend Framework meets Doctrine 2Mayflower GmbH
 
Surface flingerservice(서피스플링거서비스초기화)
Surface flingerservice(서피스플링거서비스초기화)Surface flingerservice(서피스플링거서비스초기화)
Surface flingerservice(서피스플링거서비스초기화)fefe7270
 
안드로이드 데이터 바인딩
안드로이드 데이터 바인딩안드로이드 데이터 바인딩
안드로이드 데이터 바인딩GDG Korea
 
Groovy And Grails JUG Sardegna
Groovy And Grails JUG SardegnaGroovy And Grails JUG Sardegna
Groovy And Grails JUG SardegnaJohn Leach
 
Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.JustSystems Corporation
 
Doc Parsers Api Cheatsheet 1 0
Doc Parsers Api Cheatsheet 1 0Doc Parsers Api Cheatsheet 1 0
Doc Parsers Api Cheatsheet 1 0Oleh Burkhay
 
GeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleGeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleAnton Arhipov
 

Mais procurados (20)

Lecture: Vaadin Overview
Lecture: Vaadin OverviewLecture: Vaadin Overview
Lecture: Vaadin Overview
 
Kotlin, 어떻게 동작하나요
Kotlin, 어떻게 동작하나요Kotlin, 어떻게 동작하나요
Kotlin, 어떻게 동작하나요
 
Create a Customized GMF DnD Framework
Create a Customized GMF DnD FrameworkCreate a Customized GMF DnD Framework
Create a Customized GMF DnD Framework
 
Jersey Guice AOP
Jersey Guice AOPJersey Guice AOP
Jersey Guice AOP
 
Hey Kotlin, How it works?
Hey Kotlin, How it works?Hey Kotlin, How it works?
Hey Kotlin, How it works?
 
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Async code on kotlin: rx java or/and coroutines - Kotlin Night TurinAsync code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
 
Concurrencyproblem
ConcurrencyproblemConcurrencyproblem
Concurrencyproblem
 
#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기
 
Game Lab
Game LabGame Lab
Game Lab
 
Deep dive into Oracle ADF
Deep dive into Oracle ADFDeep dive into Oracle ADF
Deep dive into Oracle ADF
 
Lexical environment in ecma 262 5
Lexical environment in ecma 262 5Lexical environment in ecma 262 5
Lexical environment in ecma 262 5
 
Imagine a world without mocks
Imagine a world without mocksImagine a world without mocks
Imagine a world without mocks
 
Zend Framework meets Doctrine 2
Zend Framework meets Doctrine 2Zend Framework meets Doctrine 2
Zend Framework meets Doctrine 2
 
Surface flingerservice(서피스플링거서비스초기화)
Surface flingerservice(서피스플링거서비스초기화)Surface flingerservice(서피스플링거서비스초기화)
Surface flingerservice(서피스플링거서비스초기화)
 
안드로이드 데이터 바인딩
안드로이드 데이터 바인딩안드로이드 데이터 바인딩
안드로이드 데이터 바인딩
 
Groovy And Grails JUG Sardegna
Groovy And Grails JUG SardegnaGroovy And Grails JUG Sardegna
Groovy And Grails JUG Sardegna
 
Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.
 
Con5623 pdf 5623_001
Con5623 pdf 5623_001Con5623 pdf 5623_001
Con5623 pdf 5623_001
 
Doc Parsers Api Cheatsheet 1 0
Doc Parsers Api Cheatsheet 1 0Doc Parsers Api Cheatsheet 1 0
Doc Parsers Api Cheatsheet 1 0
 
GeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleGeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassle
 

Destaque

Introduction to Vaadin
Introduction to VaadinIntroduction to Vaadin
Introduction to VaadinJeroen Benats
 
Improving Type 2 Diabetes Therapy Adherence and Persistence in Germany
Improving Type 2 Diabetes Therapy Adherence and Persistence in GermanyImproving Type 2 Diabetes Therapy Adherence and Persistence in Germany
Improving Type 2 Diabetes Therapy Adherence and Persistence in GermanyTim Borgas
 
PathoPhysiology Chapter 31
PathoPhysiology Chapter 31PathoPhysiology Chapter 31
PathoPhysiology Chapter 31TheSlaps
 
Ui in firness_instrcutors_2011
Ui in firness_instrcutors_2011Ui in firness_instrcutors_2011
Ui in firness_instrcutors_2011claudiahacad
 
Paleocristiano siria coptos
Paleocristiano siria coptosPaleocristiano siria coptos
Paleocristiano siria coptoselmorralito22
 
Actividad mediada con TIC - Educación Tecnológica.
Actividad mediada con TIC - Educación Tecnológica.Actividad mediada con TIC - Educación Tecnológica.
Actividad mediada con TIC - Educación Tecnológica.Roxana Bonzio
 
Palestra proferida na OAB/DF, por Lara Selem, sobre Advocacia e Tecnologia
Palestra proferida na OAB/DF, por Lara Selem, sobre Advocacia e TecnologiaPalestra proferida na OAB/DF, por Lara Selem, sobre Advocacia e Tecnologia
Palestra proferida na OAB/DF, por Lara Selem, sobre Advocacia e TecnologiaLara Selem
 
17) Vargas Delgado Luis Miguel, 2013-1
17) Vargas Delgado Luis Miguel, 2013-117) Vargas Delgado Luis Miguel, 2013-1
17) Vargas Delgado Luis Miguel, 2013-1marconuneze
 
228181 programa de formacion
228181   programa de formacion228181   programa de formacion
228181 programa de formacionmargareth30
 
Semantic Linking of Information, Content and Metadata for Early Music (SLICKM...
Semantic Linking of Information, Content and Metadata for Early Music (SLICKM...Semantic Linking of Information, Content and Metadata for Early Music (SLICKM...
Semantic Linking of Information, Content and Metadata for Early Music (SLICKM...sebastianewert
 
Presentación sg network para extranjero y españa
Presentación sg network  para extranjero y españaPresentación sg network  para extranjero y españa
Presentación sg network para extranjero y españaJoaquín Sanz-Gadea Goncer
 
Oración Sor Patrocinio
Oración Sor PatrocinioOración Sor Patrocinio
Oración Sor PatrocinioRaquel Z
 
Water Quality Standards for Contact Recreation, Bacteria TMDLs, and MS4 Permits
Water Quality Standards for Contact Recreation, Bacteria TMDLs, and MS4 PermitsWater Quality Standards for Contact Recreation, Bacteria TMDLs, and MS4 Permits
Water Quality Standards for Contact Recreation, Bacteria TMDLs, and MS4 PermitsMichael F. Bloom PE, ENV SP, CFM, BCEE
 
Se vendi casa
Se vendi casa Se vendi casa
Se vendi casa itimare
 
Generali Group 1Q 2014 Results
Generali  Group 1Q 2014 ResultsGenerali  Group 1Q 2014 Results
Generali Group 1Q 2014 ResultsGenerali
 

Destaque (20)

Introduction to Vaadin
Introduction to VaadinIntroduction to Vaadin
Introduction to Vaadin
 
Improving Type 2 Diabetes Therapy Adherence and Persistence in Germany
Improving Type 2 Diabetes Therapy Adherence and Persistence in GermanyImproving Type 2 Diabetes Therapy Adherence and Persistence in Germany
Improving Type 2 Diabetes Therapy Adherence and Persistence in Germany
 
PathoPhysiology Chapter 31
PathoPhysiology Chapter 31PathoPhysiology Chapter 31
PathoPhysiology Chapter 31
 
Ui in firness_instrcutors_2011
Ui in firness_instrcutors_2011Ui in firness_instrcutors_2011
Ui in firness_instrcutors_2011
 
Paleocristiano siria coptos
Paleocristiano siria coptosPaleocristiano siria coptos
Paleocristiano siria coptos
 
Actividad mediada con TIC - Educación Tecnológica.
Actividad mediada con TIC - Educación Tecnológica.Actividad mediada con TIC - Educación Tecnológica.
Actividad mediada con TIC - Educación Tecnológica.
 
Palestra proferida na OAB/DF, por Lara Selem, sobre Advocacia e Tecnologia
Palestra proferida na OAB/DF, por Lara Selem, sobre Advocacia e TecnologiaPalestra proferida na OAB/DF, por Lara Selem, sobre Advocacia e Tecnologia
Palestra proferida na OAB/DF, por Lara Selem, sobre Advocacia e Tecnologia
 
Home banking
Home bankingHome banking
Home banking
 
Mi proyecto de vida....
Mi proyecto de vida....Mi proyecto de vida....
Mi proyecto de vida....
 
17) Vargas Delgado Luis Miguel, 2013-1
17) Vargas Delgado Luis Miguel, 2013-117) Vargas Delgado Luis Miguel, 2013-1
17) Vargas Delgado Luis Miguel, 2013-1
 
228181 programa de formacion
228181   programa de formacion228181   programa de formacion
228181 programa de formacion
 
Semantic Linking of Information, Content and Metadata for Early Music (SLICKM...
Semantic Linking of Information, Content and Metadata for Early Music (SLICKM...Semantic Linking of Information, Content and Metadata for Early Music (SLICKM...
Semantic Linking of Information, Content and Metadata for Early Music (SLICKM...
 
Presentación sg network para extranjero y españa
Presentación sg network  para extranjero y españaPresentación sg network  para extranjero y españa
Presentación sg network para extranjero y españa
 
Oración Sor Patrocinio
Oración Sor PatrocinioOración Sor Patrocinio
Oración Sor Patrocinio
 
Prestações de Contas - 2013
Prestações de Contas - 2013Prestações de Contas - 2013
Prestações de Contas - 2013
 
Water Quality Standards for Contact Recreation, Bacteria TMDLs, and MS4 Permits
Water Quality Standards for Contact Recreation, Bacteria TMDLs, and MS4 PermitsWater Quality Standards for Contact Recreation, Bacteria TMDLs, and MS4 Permits
Water Quality Standards for Contact Recreation, Bacteria TMDLs, and MS4 Permits
 
Conichiwa brochure
Conichiwa brochureConichiwa brochure
Conichiwa brochure
 
Gbpe 2010
Gbpe 2010Gbpe 2010
Gbpe 2010
 
Se vendi casa
Se vendi casa Se vendi casa
Se vendi casa
 
Generali Group 1Q 2014 Results
Generali  Group 1Q 2014 ResultsGenerali  Group 1Q 2014 Results
Generali Group 1Q 2014 Results
 

Semelhante a Vaadin 7

A GWT Application with MVP Pattern Deploying to CloudFoundry using Spring Roo
A GWT Application with MVP Pattern Deploying to CloudFoundry using  Spring Roo A GWT Application with MVP Pattern Deploying to CloudFoundry using  Spring Roo
A GWT Application with MVP Pattern Deploying to CloudFoundry using Spring Roo Ali Parmaksiz
 
Construire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradleConstruire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradleThierry Wasylczenko
 
Android Best Practices
Android Best PracticesAndroid Best Practices
Android Best PracticesYekmer Simsek
 
Reactive programming every day
Reactive programming every dayReactive programming every day
Reactive programming every dayVadym Khondar
 
Modern Android app library stack
Modern Android app library stackModern Android app library stack
Modern Android app library stackTomáš Kypta
 
比XML更好用的Java Annotation
比XML更好用的Java Annotation比XML更好用的Java Annotation
比XML更好用的Java Annotationjavatwo2011
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsJeff Durta
 
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...DroidConTLV
 
JJUG CCC 2011 Spring
JJUG CCC 2011 SpringJJUG CCC 2011 Spring
JJUG CCC 2011 SpringKiyotaka Oku
 
Advance Java Programs skeleton
Advance Java Programs skeletonAdvance Java Programs skeleton
Advance Java Programs skeletonIram Ramrajkar
 
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Tsuyoshi Yamamoto
 
Vaadin 7 CN
Vaadin 7 CNVaadin 7 CN
Vaadin 7 CNjojule
 
WordPress Realtime - WordCamp São Paulo 2015
WordPress Realtime - WordCamp São Paulo 2015WordPress Realtime - WordCamp São Paulo 2015
WordPress Realtime - WordCamp São Paulo 2015Fernando Daciuk
 
33rd Degree 2013, Bad Tests, Good Tests
33rd Degree 2013, Bad Tests, Good Tests33rd Degree 2013, Bad Tests, Good Tests
33rd Degree 2013, Bad Tests, Good TestsTomek Kaczanowski
 

Semelhante a Vaadin 7 (20)

A GWT Application with MVP Pattern Deploying to CloudFoundry using Spring Roo
A GWT Application with MVP Pattern Deploying to CloudFoundry using  Spring Roo A GWT Application with MVP Pattern Deploying to CloudFoundry using  Spring Roo
A GWT Application with MVP Pattern Deploying to CloudFoundry using Spring Roo
 
Vaadin7
Vaadin7Vaadin7
Vaadin7
 
Construire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradleConstruire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradle
 
Griffon @ Svwjug
Griffon @ SvwjugGriffon @ Svwjug
Griffon @ Svwjug
 
Android workshop
Android workshopAndroid workshop
Android workshop
 
Using the Windows 8 Runtime from C++
Using the Windows 8 Runtime from C++Using the Windows 8 Runtime from C++
Using the Windows 8 Runtime from C++
 
Android Best Practices
Android Best PracticesAndroid Best Practices
Android Best Practices
 
Reactive programming every day
Reactive programming every dayReactive programming every day
Reactive programming every day
 
Modern Android app library stack
Modern Android app library stackModern Android app library stack
Modern Android app library stack
 
比XML更好用的Java Annotation
比XML更好用的Java Annotation比XML更好用的Java Annotation
比XML更好用的Java Annotation
 
Vaadin 7
Vaadin 7Vaadin 7
Vaadin 7
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applications
 
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...
 
JJUG CCC 2011 Spring
JJUG CCC 2011 SpringJJUG CCC 2011 Spring
JJUG CCC 2011 Spring
 
Advance Java Programs skeleton
Advance Java Programs skeletonAdvance Java Programs skeleton
Advance Java Programs skeleton
 
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
 
Vaadin 7 CN
Vaadin 7 CNVaadin 7 CN
Vaadin 7 CN
 
WordPress Realtime - WordCamp São Paulo 2015
WordPress Realtime - WordCamp São Paulo 2015WordPress Realtime - WordCamp São Paulo 2015
WordPress Realtime - WordCamp São Paulo 2015
 
SOLID Principles
SOLID PrinciplesSOLID Principles
SOLID Principles
 
33rd Degree 2013, Bad Tests, Good Tests
33rd Degree 2013, Bad Tests, Good Tests33rd Degree 2013, Bad Tests, Good Tests
33rd Degree 2013, Bad Tests, Good Tests
 

Mais de Joonas Lehtinen

Web Components for Java Developers
Web Components for Java DevelopersWeb Components for Java Developers
Web Components for Java DevelopersJoonas Lehtinen
 
Vaadin Components @ Angular U
Vaadin Components @ Angular UVaadin Components @ Angular U
Vaadin Components @ Angular UJoonas Lehtinen
 
Vaadin Introduction, 7.3 edition
Vaadin Introduction, 7.3 editionVaadin Introduction, 7.3 edition
Vaadin Introduction, 7.3 editionJoonas Lehtinen
 
Vaadin intro at GWT.create conference
Vaadin intro at GWT.create conferenceVaadin intro at GWT.create conference
Vaadin intro at GWT.create conferenceJoonas Lehtinen
 
Vaadin roadmap-devoxx-2013
Vaadin roadmap-devoxx-2013Vaadin roadmap-devoxx-2013
Vaadin roadmap-devoxx-2013Joonas Lehtinen
 
Hackathon - Building vaadin add on components
Hackathon - Building vaadin add on componentsHackathon - Building vaadin add on components
Hackathon - Building vaadin add on componentsJoonas Lehtinen
 
Migration from vaadin 6 to vaadin 7 devoxx france 2013
Migration from vaadin 6 to vaadin 7   devoxx france 2013Migration from vaadin 6 to vaadin 7   devoxx france 2013
Migration from vaadin 6 to vaadin 7 devoxx france 2013Joonas Lehtinen
 
Desingning reusable web components
Desingning reusable web componentsDesingning reusable web components
Desingning reusable web componentsJoonas Lehtinen
 
Client-Server Hybrid Apps with Vaadin
Client-Server Hybrid Apps with VaadinClient-Server Hybrid Apps with Vaadin
Client-Server Hybrid Apps with VaadinJoonas Lehtinen
 
Building i pad apps in pure java with vaadin
Building i pad apps in pure java with vaadinBuilding i pad apps in pure java with vaadin
Building i pad apps in pure java with vaadinJoonas Lehtinen
 

Mais de Joonas Lehtinen (20)

Web Components for Java Developers
Web Components for Java DevelopersWeb Components for Java Developers
Web Components for Java Developers
 
Vaadin Components @ Angular U
Vaadin Components @ Angular UVaadin Components @ Angular U
Vaadin Components @ Angular U
 
Vaadin & Web Components
Vaadin & Web ComponentsVaadin & Web Components
Vaadin & Web Components
 
Vaadin Components
Vaadin ComponentsVaadin Components
Vaadin Components
 
Vaadin Introduction, 7.3 edition
Vaadin Introduction, 7.3 editionVaadin Introduction, 7.3 edition
Vaadin Introduction, 7.3 edition
 
Hybrid webinar
Hybrid webinarHybrid webinar
Hybrid webinar
 
Vaadin 7.2
Vaadin 7.2Vaadin 7.2
Vaadin 7.2
 
Vaadin intro
Vaadin introVaadin intro
Vaadin intro
 
Vaadin intro at GWT.create conference
Vaadin intro at GWT.create conferenceVaadin intro at GWT.create conference
Vaadin intro at GWT.create conference
 
Hybrid applications
Hybrid applicationsHybrid applications
Hybrid applications
 
Notes on architecture
Notes on architectureNotes on architecture
Notes on architecture
 
Vaadin roadmap-devoxx-2013
Vaadin roadmap-devoxx-2013Vaadin roadmap-devoxx-2013
Vaadin roadmap-devoxx-2013
 
Beoynd Vaadin 7
Beoynd Vaadin 7Beoynd Vaadin 7
Beoynd Vaadin 7
 
Hackathon - Building vaadin add on components
Hackathon - Building vaadin add on componentsHackathon - Building vaadin add on components
Hackathon - Building vaadin add on components
 
Migration from vaadin 6 to vaadin 7 devoxx france 2013
Migration from vaadin 6 to vaadin 7   devoxx france 2013Migration from vaadin 6 to vaadin 7   devoxx france 2013
Migration from vaadin 6 to vaadin 7 devoxx france 2013
 
Desingning reusable web components
Desingning reusable web componentsDesingning reusable web components
Desingning reusable web components
 
Vaadin 7 what next
Vaadin 7   what nextVaadin 7   what next
Vaadin 7 what next
 
Client-Server Hybrid Apps with Vaadin
Client-Server Hybrid Apps with VaadinClient-Server Hybrid Apps with Vaadin
Client-Server Hybrid Apps with Vaadin
 
Building i pad apps in pure java with vaadin
Building i pad apps in pure java with vaadinBuilding i pad apps in pure java with vaadin
Building i pad apps in pure java with vaadin
 
Vaadin += GWT
Vaadin += GWTVaadin += GWT
Vaadin += GWT
 

Último

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Vaadin 7

  • 1.
  • 2. Vaadin 7 Joonas Lehtinen, CEO @joonaslehtinen
  • 3. Intro to Vaadin new Label( “Hello world”)
  • 4. New in 7
  • 6.
  • 7. User interface framework for rich web applications
  • 8.
  • 9. java html
  • 12.
  • 15. consumer business “million” users “500” users 10 views 50 views 1€/user 500€/user 100,000€ / view >> 5,000€ / view
  • 16. Problem How to build consumer grade UX with business system budget
  • 17. How?
  • 21.
  • 22.
  • 24.
  • 25.
  • 26.
  • 28.
  • 29.
  • 30.
  • 31.
  • 33.
  • 34. InMemory, Bean, Method, Collection, JDBC, JPA, Hibernate, TextFile, FileSystem, Properties, EclipseLink, Lucene, Mockups, GAE, ...
  • 36. Layers of abstraction Backend Web Java to RPC JavaScript server server JavaScript GWT Vaadin required required optional optional optional required required required required optional JS required required required required
  • 37. How does it work, really?
  • 38.
  • 39. Initial HTML • CSS (theme) • Images • JavaScript 830k total compress 250k reduced widgetset 120k
  • 40.
  • 41. • name=”Joonas” • button clicked 150 bytes
  • 42.
  • 43. • name=”Joonas” • button clicked 150 bytes • Add notification 466 bytes
  • 45.
  • 49. Internet Explorer Chrome Firefox Safari Opera iOS Android
  • 50. No browser plugins Nothing to install
  • 51. Servlet Portlet (most) clouds
  • 52. Eclipse IntelliJ IDEA Netbeans Maven Ant Spring Roo ∙∙∙
  • 53.
  • 54. Vaadin 7 Framework
  • 57.
  • 58.
  • 59.
  • 61. Server Pr Op - od t r im fo uc d ti ize ize vit df y or tim e rol Op t- s d ont i C ien Cl
  • 62. Se rve r P r- e Op od u sid c tim or tiv df ized ity ize ol f or r tim Op nt Co t- en Cli
  • 64.
  • 66.
  • 67. public class Vaadin6App extends Application { public void init() { setMainWindow(createWindow()); } public Window getWindow(String name) { Window window = super.getWindow(name); if (window == null) { window = createWindow(); window.setName(name); addWindow(window); } return window; } private Window createWindow() { Window window = new Window("Vaadin 6 Application"); window.addComponent(new TextField("What is your name")); window.addComponent(new Button("Do not push me")); return window; } }
  • 68. @Title("Vaadin 7 Application") public class Vaadin7uiUI extends UI { @Override public void init(VaadinRequest request) { addComponent(new TextField("What is your name")); addComponent(new Button("Do not push me")); } }
  • 69. SASS
  • 75. public class Employee { String firstName; String lastName; double salary; 6 Date birthDate; // Getters, setters, … } Form form = new Form(); form.setItemDataSource( new BeanItem<Employee>(employee));
  • 76.
  • 77.
  • 78. form.setFormFieldFactory(new FormFieldFactory() { public Field createField(Item item, Object propertyId, Component uiContext) { if ("birthDate".equals(propertyId)) { 6 DateField df = new DateField(); df.setResolution(DateField.RESOLUTION_DAY); return df; } // .. return DefaultFieldFactory.createFieldByPropertyType(item .getItemProperty(propertyId).getType()); } });
  • 79. 7 GridLayout form = new GridLayout(2,2) { TextField firstName = new TextField("First name"); TextField lastName = new TextField("Last name"); TextField salary = new TextField("Salary"); DateField birthDate = new DateField("Birth date"); { birthDate.setResolution(Resolution.DAY); setSpacing(true); addComponent(firstName); addComponent(lastName); addComponent(birthDate); addComponent(salary); } }; BeanFieldGroup<Employee> fieldGroup = new BeanFieldGroup<Employee>(Employee.class); fieldGroup.bindMemberFields(form); fieldGroup.setItemDataSource(new BeanItem<Employee>(employee));
  • 80. public class Person { @Size(min = 5, max = 50) private String name; @Min(0) @Max(100) private int age; // + constructor + setters + getters }
  • 81. “Joonas Lehtinen” presentation Component model firstName = “Joonas” lastName = “Lehtinen”
  • 82. final TextField textField = new TextField("Name"); textField.setConverter(new StringToNameConverter()); // .... Name name = (Name) textField.getConvertedValue();
  • 83. public class StringToNameConverter implements Converter<String, Name> { public Name convertToModel(String text, Locale locale) throws ConversionException { // do the conversion } public String convertToPresentation(Name name, Locale locale) throws ConversionException { // do the conversion } public Class<Name> getModelType() { return Name.class; } public Class<String> getPresentationType() { return String.class; } }
  • 85. Widget 6 Paintable Variable client Changes server UIDL Component
  • 86. Widget 7 Connector client State server RPC Component
  • 87. public interface ButtonRpc extends ServerRpc { public void click(MouseEventDetails details); } private ButtonRpc rpc = new ButtonRpc() { public void click( private ButtonRpc rpc = MouseEventDetails details) { RpcProxy.create(ButtonRpc.class, this); // do stuff } public void onClick(ClickEvent event) { }; rpc.click( new MouseEventDetails(event)); public Button() { } registerRpc(rpc); } client server
  • 89. Publish API from Java getPage().getJavaScript().addCallback("myCallback", new JavaScriptCallback() { public void call(JSONArray arguments) throws JSONException { // Do something with the arguments } }); Use from JavaScript window.myCallback('foo', 100);
  • 90. Widget implementation in JavaScript window.com_example_MyWidget = function() { var element = $(this.getWidgetElement()); // Draw a plot for any server-side (plot data) state change this.onStateChange = function() { $.plot(element, this.getState().series, {grid: {clickable: true}}); } // Communicate local events back to server-side component element.bind('plotclick', function(event, point, item) { if (item) { var onPlotClick = this.getCallback("plotClick"); onPlotClick(item.seriesIndex, item.dataIndex); } }); }
  • 91. Server-side Java API for Widget public class MyWidget extends AbstractJavaScriptComponent { public MyWidget() { registerCallback("plotClick", new JavaScriptCallback() { public void call(JSONArray arguments) throws JSONException { // Do something with the event } }); } public static class MyWidgetState extends ComponentState { public List<List<List<Double>>> plotSeriesData = new ArrayList<List<List<Double>>>(); // getters & setters } }
  • 93.
  • 94. Maven mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId= vaadin-archetype-application -DarchetypeVersion=7.0.0.beta8 mvn package yourproject-1.0.war
  • 96. Download for Free vaadin.com/book ework s that o u an d ~700 pages
  • 97. aadin with V nroo s ted o Grö #85 gStar By Mark ttin DE: Ge LU rnal INC Exte urces NTS o CO NTE Res adin tion m ut Va p plica Abo An A o ting C re a rd z . c s nent nts Co mpo m pone Web ser File urces t Co Brow -Side Res o ayou ... L m o re t Clien e ntai ner a es nd Co Them inding a Engi n sts rvlet fc eque Se B AX R AJ Data i t re ent opm efau lt d evel us t like n Java t Data g D me IN ation ations j The in Vis .A Bind ervle AAD pplic pplic ing or Sw ined S UT V eb a n a UI nt atio O xw eb WT pone Inhe rits pplic ces AB e Aja o build w uch as A onta n Com A our z! atio ve r-sid u t s, s ne nts c A pplic es pp licat ion Res a ser ang s yo work e compo d s Ch A Clas mes in is allow p frame ts The fcar c Even ata Vaad ork that eskto terfa n D del me w al d us er in s. ru ns o Inhe rits E vent r Mo fra i t i o n u i l t f ro m nent code d by a Liste ne trad mpo tion Re b l e ser with ut co plica r n on is hand nt-serve U io licat base pl icati lly in layo , th e ap tio n is lie s App Data ap ica odel terac er. The c ch a e r a rc h en m l user in s s, su he s ject r hie riv w ie ation er-d tua e bro chnolog per. As t s no pplic on ob on with t Mo e se rv c the a ning in th te lo ei aadi nA licati In th hile n ient- side deve ser, ther for V to the app e applicati er, w ngine ru the he itect ure serv n y c l i s i b l e t o t h e b ro w h e A p a c Arch ence ched to th a side e and a nv t re 2: refer get a onent atta Ge in nder cl i e n t - i c a t i o n s i p t , a re i ript u Figu an n r vaSc sed You c y comp co m m u d J a v a S c u n s a s J a n i s re l e a Web face L an HTM ide eng ug-ins. V in er a adi Ser vice Ho t from an user inter le with hand t-s clien o install pl You r EJB Tip tion u ca n ava n terac which yo need t in J licat io er in ts, 2.0. Vaad App ers en n mode side even l, us ith L icen s e va UI ents B t List rive er - t ton w pon Even event-d gers serv Ja D a bu Web r Com s for Web ser Serv e In th e trig vent w Bro -Side ents s . le c lick e pon ener hand lient com t list e C ne can even w, w Engi ugh , you with belo WT) ple t eno olkit (G exam s class: m ure hitec t is no To the u
  • 98. Q&A