1 of 12

Pavel Jetenský

jOpenSpace Řijen 2024

Vaadin - flow v24Java Backend programmer’s frontend heaven

2 of 12

Demo first

  • 4000 lines of code
    • .kt
    • .java
  • Links

Pavel JetenskýVaadin FlowOctober 2024

3 of 12

Why should I care?

Implementing whole app:

  • frontend UI
  • interaction of frontend components with backend
  • backend

in strongly typed language (Java)!

Pavel JetenskýVaadin FlowOctober 2024

4 of 12

Vaadin products insight

  • Vaadin flow v24 Versions 7-14 obsolete
    • 100% in Java
    • Java objects
    • server-driven architecture XmlHttpRequest(XHR) or WebSockets
    • event-driven component-based programming model
  • Hilla Till 2022 Vaadin fusion
    • TypeScript + Reactive components
    • client-side architecture
    • more frontend development

“For me, Vaadin flow is ideal for personal projects”

Pavel JetenskýVaadin FlowOctober 2024

5 of 12

Concepts

  • View
  • Component
  • Layout
  • Events
  • Binder

Pavel JetenskýVaadin FlowOctober 2024

6 of 12

View - code

Pavel JetenskýVaadin FlowOctober 2024

7 of 12

Layout

  • Parent of all application views
  • More info in Tutorial

Pavel JetenskýVaadin FlowOctober 2024

8 of 12

Component - code

Pavel JetenskýVaadin FlowOctober 2024

9 of 12

Event handling

  • Java Event handlers can be attached to frontent elements
    • addValueChangeListener
    • addClickListener & addDoubleClickListener
    • addKeyDownListener
    • addKeyPressListener
    • addFocusListener
  • Event handling code can interact with frontend

Pavel JetenskýVaadin FlowOctober 2024

10 of 12

Event handling - code

Pavel JetenskýVaadin FlowOctober 2024

11 of 12

Binder

  • Creates binding between Java objects and Form frontend fields
  • Binding is two-directional!
  • Reading & writing to UI in Java

Pavel JetenskýVaadin FlowOctober 2024

12 of 12

Thank you!

  • Time left :)?
    • Show LiveReload

Pavel JetenskýVaadin FlowOctober 2024