SlideShare a Scribd company logo
1 of 19
Download to read offline
Java Saigon January 2019 | January 17, 2019
Mikaël Geljić
@mikaelgeljic
An Introduction

to Vaadin Flow
JavaSaigon, meetup #2
* Afterwork, “Come as you are”
* Community driven
* Monthly, e.g. last Thursday
* https://www.meetup.com/Java-Saigon/
* Rules
Schedule
* Vaadin timeline
* Vaadin Flow
* Live coding example, the return of the “Café Finder”
Vaadin
Timeline
Vaadin Framework
.1 .2 3 4 5 6 7 8
2001
2002
2002
2005
2007
2009
2013
2017
GWTAJAXHTML
Vaadin Framework 8
Vaadin Framework
.1 .2 3 4 5 6 7 8
2001
2002
2002
2005
2007
2009
2013
2017
GWTAJAXHTML
Vaadin Framework 8
Vaadin Framework
.1 .2 3 4 5 6 7 8
2001
2002
2002
2005
2007
2009
2013
2017
GWTAJAXHTML
oving forward from GWT
Enter (Web) Components
.1 .2 3 4 5 6 7 8
Vaadin Components
Web ComponentsGWTAJAXHTML
xxxx | 12th April 2018
Web
Components
4 specifications:
* Custom elements
* Shadow DOM
* HTML templates
* ES modules
https://www.webcomponents.org/specs
Vaadin 10 14
* Vaadin Platform, e.g. 12.0.3

(aka vaadin-core)
* Vaadin Flow 1.2.3

flow-server, flow-push

flow-html-components ...
* Spring/CDI addons
* Lumo theme 1.3.3
* Individual Vaadin Components

vaadin-text-field 2.1.5

vaadin-combo-box 4.2.1

vaadin-grid 5.2.5 ...
* Bower packages => WebJars
https://github.com/vaadin/platform/releases/
Vaadin Components
Vaadin Framework
4 5 6 7 8
Flow Vaadin 10
Vaadin 10 14
* Vaadin Platform, e.g. 12.0.3

(aka vaadin-core)
* Vaadin Flow 1.2.3

flow-server, flow-push

flow-html-components ...
* Spring/CDI addons
* Lumo theme 1.3.3
* Individual Vaadin Components

vaadin-text-field 2.1.5

vaadin-combo-box 4.2.1

vaadin-grid 5.2.5 ...
* Bower packages => WebJars
https://github.com/vaadin/platform/releases/
Vaadin Components
Vaadin Framework
4 5 6 7 8
Flow Vaadin 10
Vaadin Flow
Vaadin Flow
* Successor of Framework 8
* Server-side framework, Java API for building web-apps on the JVM
* Rich, mobile-first UI components
* Transparent communication
* Functional-style data binding
* Routing
* Open source
Standards-based

Web Components
<vaadin-combo-box>

</vaadin-combo-box>
Optional Java framework
new ComboBox();
Routing & Navigation
@Route("some/path")

public class HelloWorld extends Div {

public SomePathComponent() {

setText("Hello @Route!");

}

}
The return of the

Café Finder
What we've covered
* Views & Routes
* RouterLayout, error handling
* Theming app & components
* Data binding w/ Grid
Closing
* Co-organizers & hosts
* JavaSaigon February 2019
* 21st or 28th, Nicolai?

* JavaSaigon March 2019, 21st or 28th
* 21st or 28th, Ilgün?
Thank you

More Related Content

Similar to An Introduction to Vaadin Flow - Java Saigon January 2019

DevNexus 2019: Migrating to Java 11
DevNexus 2019: Migrating to Java 11DevNexus 2019: Migrating to Java 11
DevNexus 2019: Migrating to Java 11DaliaAboSheasha
 
Drupal Camp Sthml 09
Drupal Camp Sthml 09Drupal Camp Sthml 09
Drupal Camp Sthml 09Pelle Wessman
 
Webform and Drupal 8
Webform and Drupal 8Webform and Drupal 8
Webform and Drupal 8Philip Norton
 
iPhone Web Development
iPhone Web DevelopmentiPhone Web Development
iPhone Web DevelopmentAndy Peters
 
SharePoint Web part programming
SharePoint Web part programmingSharePoint Web part programming
SharePoint Web part programmingQuang Nguyễn Bá
 
Struts2 Course: Introduction
Struts2 Course: IntroductionStruts2 Course: Introduction
Struts2 Course: IntroductionJavaEE Trainers
 
TestNet 2016 - Improving Your Selenium WebDriver Tests
TestNet 2016 - Improving Your Selenium WebDriver TestsTestNet 2016 - Improving Your Selenium WebDriver Tests
TestNet 2016 - Improving Your Selenium WebDriver TestsRoy de Kleijn
 
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなど
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなどJakarta EE 最前線 - Jakarta EEの現在、ロードマップなど
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなどオラクルエンジニア通信
 
Learn skills technologies
Learn skills technologiesLearn skills technologies
Learn skills technologiess_shankar1977
 
Net Beans Jasig Jun2006
Net Beans Jasig Jun2006Net Beans Jasig Jun2006
Net Beans Jasig Jun2006ardlian
 
Primefaces mobile users_guide_0_9
Primefaces mobile users_guide_0_9Primefaces mobile users_guide_0_9
Primefaces mobile users_guide_0_9ednilsoncampos
 
Gwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosifirenze-gtug
 
Introduction to WSO2 Developer Studio
Introduction to WSO2 Developer Studio Introduction to WSO2 Developer Studio
Introduction to WSO2 Developer Studio WSO2
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...Igalia
 

Similar to An Introduction to Vaadin Flow - Java Saigon January 2019 (20)

DevNexus 2019: Migrating to Java 11
DevNexus 2019: Migrating to Java 11DevNexus 2019: Migrating to Java 11
DevNexus 2019: Migrating to Java 11
 
Drupal Camp Sthml 09
Drupal Camp Sthml 09Drupal Camp Sthml 09
Drupal Camp Sthml 09
 
Webform and Drupal 8
Webform and Drupal 8Webform and Drupal 8
Webform and Drupal 8
 
iPhone Web Development
iPhone Web DevelopmentiPhone Web Development
iPhone Web Development
 
SharePoint Web part programming
SharePoint Web part programmingSharePoint Web part programming
SharePoint Web part programming
 
Custom workflow in sharepoint
Custom workflow in sharepointCustom workflow in sharepoint
Custom workflow in sharepoint
 
Rails + Webpack
Rails + WebpackRails + Webpack
Rails + Webpack
 
Struts2 Course: Introduction
Struts2 Course: IntroductionStruts2 Course: Introduction
Struts2 Course: Introduction
 
TestNet 2016 - Improving Your Selenium WebDriver Tests
TestNet 2016 - Improving Your Selenium WebDriver TestsTestNet 2016 - Improving Your Selenium WebDriver Tests
TestNet 2016 - Improving Your Selenium WebDriver Tests
 
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなど
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなどJakarta EE 最前線 - Jakarta EEの現在、ロードマップなど
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなど
 
Learn skills technologies
Learn skills technologiesLearn skills technologies
Learn skills technologies
 
Net Beans Jasig Jun2006
Net Beans Jasig Jun2006Net Beans Jasig Jun2006
Net Beans Jasig Jun2006
 
Primefaces mobile users_guide_0_9
Primefaces mobile users_guide_0_9Primefaces mobile users_guide_0_9
Primefaces mobile users_guide_0_9
 
XTech May 2008
XTech May 2008XTech May 2008
XTech May 2008
 
Gwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosi
 
Introduction to django
Introduction to djangoIntroduction to django
Introduction to django
 
Java 9 and Beyond
Java 9 and BeyondJava 9 and Beyond
Java 9 and Beyond
 
Introduction to WSO2 Developer Studio
Introduction to WSO2 Developer Studio Introduction to WSO2 Developer Studio
Introduction to WSO2 Developer Studio
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
 
HTML5
HTML5HTML5
HTML5
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

An Introduction to Vaadin Flow - Java Saigon January 2019

  • 1. Java Saigon January 2019 | January 17, 2019 Mikaël Geljić @mikaelgeljic An Introduction
 to Vaadin Flow
  • 2. JavaSaigon, meetup #2 * Afterwork, “Come as you are” * Community driven * Monthly, e.g. last Thursday * https://www.meetup.com/Java-Saigon/ * Rules
  • 3. Schedule * Vaadin timeline * Vaadin Flow * Live coding example, the return of the “Café Finder”
  • 5. Vaadin Framework .1 .2 3 4 5 6 7 8 2001 2002 2002 2005 2007 2009 2013 2017 GWTAJAXHTML Vaadin Framework 8
  • 6. Vaadin Framework .1 .2 3 4 5 6 7 8 2001 2002 2002 2005 2007 2009 2013 2017 GWTAJAXHTML Vaadin Framework 8 Vaadin Framework .1 .2 3 4 5 6 7 8 2001 2002 2002 2005 2007 2009 2013 2017 GWTAJAXHTML oving forward from GWT
  • 7. Enter (Web) Components .1 .2 3 4 5 6 7 8 Vaadin Components Web ComponentsGWTAJAXHTML
  • 8. xxxx | 12th April 2018 Web Components 4 specifications: * Custom elements * Shadow DOM * HTML templates * ES modules https://www.webcomponents.org/specs
  • 9. Vaadin 10 14 * Vaadin Platform, e.g. 12.0.3
 (aka vaadin-core) * Vaadin Flow 1.2.3
 flow-server, flow-push
 flow-html-components ... * Spring/CDI addons * Lumo theme 1.3.3 * Individual Vaadin Components
 vaadin-text-field 2.1.5
 vaadin-combo-box 4.2.1
 vaadin-grid 5.2.5 ... * Bower packages => WebJars https://github.com/vaadin/platform/releases/ Vaadin Components Vaadin Framework 4 5 6 7 8 Flow Vaadin 10
  • 10. Vaadin 10 14 * Vaadin Platform, e.g. 12.0.3
 (aka vaadin-core) * Vaadin Flow 1.2.3
 flow-server, flow-push
 flow-html-components ... * Spring/CDI addons * Lumo theme 1.3.3 * Individual Vaadin Components
 vaadin-text-field 2.1.5
 vaadin-combo-box 4.2.1
 vaadin-grid 5.2.5 ... * Bower packages => WebJars https://github.com/vaadin/platform/releases/ Vaadin Components Vaadin Framework 4 5 6 7 8 Flow Vaadin 10
  • 12. Vaadin Flow * Successor of Framework 8 * Server-side framework, Java API for building web-apps on the JVM * Rich, mobile-first UI components * Transparent communication * Functional-style data binding * Routing * Open source
  • 15. Routing & Navigation @Route("some/path")
 public class HelloWorld extends Div {
 public SomePathComponent() {
 setText("Hello @Route!");
 }
 }
  • 16. The return of the
 Café Finder
  • 17. What we've covered * Views & Routes * RouterLayout, error handling * Theming app & components * Data binding w/ Grid
  • 18. Closing * Co-organizers & hosts * JavaSaigon February 2019 * 21st or 28th, Nicolai?
 * JavaSaigon March 2019, 21st or 28th * 21st or 28th, Ilgün?