SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
Vaadin Jump Start
Haim Michael
May 30th
, 2014
All logos, trade marks and brand names used in this presentation belong to their
respective owners. Haim Michael and LifeMichael are not related, connected
or associated with any of the technologies mentioned in this presentation or with
the companies that develop them.
You can find the video clip at http://youtu.be/ueQ-TGuIW1Q.
LifeMichael.com
Table of Content
LifeMichael.com
●
What is Vaadin?
●
Google Web Toolkit
● Extending Vaadin
●
Vaadin Themes
●
Data Binding
●
Visual Designer
● Vaadin TouchKit
●
The History of Vaadin
● Easy Deployment
●
Vaadin IDEs
● Learning Resources
● Questions & Answers
What is Vaadin?
● Vaadin is a Java web applications framework that
simplify the development of one page web applications
with a rich user interface.
● Vaadin creates the code running on the web browser,
including the code that communicates with the server.
● Using Vaadin we don't need to learn client side web
technologies such as JavaScript, CSS and HTML5.
www.vaadin.com
LifeMichael.com
What is Vaadin?
● Handling the first HTTP request from the client Vaadin
returns bunch of code in JavaScript back to the client.
● That code is responsible from now on for rendering the
user interface, handling its events and communicating
with the server.
LifeMichael.com
Web Browser HTTP Server
Code We Developed
using Vaadin
Code in JavaScript
Generated by Vaadin
continuous
connection
What is Vaadin?
● Using Vaadin the code looks as if we were developing a
stand alone application with GUI based on Swing.
LifeMichael.com
@SuppressWarnings("serial")
public class HelloUI extends UI {
@Override
protected void init(VaadinRequest request) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
Button button = new Button("Click Me");
button.addClickListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
layout.addComponent(new Label("click!"));
}
});
layout.addComponent(button);
}
}
Google Web Toolkit
● The Vaadin framework uses the Google Web Toolkit
framework that assists with generating the code in
JavaScript and provides the capability to create a full
featured user interface.
www.gwtproject.org
LifeMichael.com
Extending Vaadin
● Vaadin allows us to extend it with new 3rd party widgets
as well as with our owns. We can find lots of add-ons
ready for use in the Vaadin directory.
https://vaadin.com/directory
LifeMichael.com
Vaadin Themes
● Using Vaadin we get a clear separation between the
structure of the user interface and its appearance.
● The appearance is controlled by the theme we choose.
● We can use themes that were already developed or
develop our own. Each theme includes mainly CSS.
LifeMichael.com
Data Binding
● The Vaadin framework allows us to bind user interface
components directly to the data they display.
● It is possible to create UI components that allow the end
user to edit the data.
LifeMichael.com
Visual Designer
● The visual designer simplifies the development
process. The code it generates is relatively readable.
LifeMichael.com
Vaadin TouchKit
● The Vaadin TouchKit is a responsive framework that
includes a collection of mobile platform optimized HTML5
widgets.
www.vaadin.com/touchkit
LifeMichael.com
Vaadin TouchKit
● Vaadin TouchKit targets Android 2.3 (or newer), iOS 5 (or
newer) and Windows Phone 8 (or newer).
LifeMichael.com
Vaadin TouchKit
● The Vaadin TouchKit is optimized for mobile telephones
hybrid applications development. Vaadin TouchKit
supports the PhoneGap framework and allows us writing
code in Java that is executed on the server and takes
care after the required interaction with the mobile
telephone hardware.
LifeMichael.com
Vaadin TouchKit
● The Vaadin TouchKit is available for free when
developing open source projects. When dealing with
commercial products there is a license fee.
LifeMichael.com
The History of Vaadin
● The framework was born in 2000. The original name was
Millstone Library.
● The framework was developed as inner project in IT Mill in
order to develop an information system for one of its
clients.
LifeMichael.com
The History of Vaadin
● In 2006 IT Mill released a new version that included an
extensive use of Ajax and in 2007 the client side engine
was rewritten with GWT.
● In 2009 the framework was renamed to Vaadin. Shortly
after, the IT Mill company was also renamed as Vaadin.
● Vaadin 7 was released in 2012 and it is significantly more
web oriented.
LifeMichael.com
Easy Deployment
● The Vaadin framework uses one single Java Servlet for
running the application.
● We can deploy a Vaadin based web application on every
Java EE application server, such as Tomcat*, WebLogic,
WebSphere, Jboss and Glassfish.
* Apache Tomcat is not a Java EE application server. It is merely a web container. For
running a vaadin web application it is sufficient.
LifeMichael.com
Vaadin IDEs
● The Vaadin plugin is available for Eclipse, Netbeans and
IntelliJ.
LifeMichael.com
www.eclipse.org www.netbeans.org
www.jetbrains.com/idea/
Learning Resources
● You can find the Book of Vaadin available online for free at
https://vaadin.com/book.
LifeMichael.com
Learning Resources
● The Vaadin API documentation can be found at
https://vaadin.com/api.
LifeMichael.com
Learning Resources
● You can find a growing number of online free courses about
various topics in the Java programming language (including
Vaadin) at http://abelski.lifemichael.com.
LifeMichael.com
Learning Resources
● You can find my israeli guide for using Vaadin available for
free at http://www.vaadinbook.co.il.
LifeMichael.com
Questions & Answers
● Three courses you might find interesting include
Software Engineering in PHP
more info
Android 4.4 Java Applications Development
more info
HTML5 Cross Platform Mobile Applications
more info
● If you enjoyed my lecture please leave me a comment
at http://speakerpedia.com/speakers/life-michael.
Thanks for your time!
Haim.
LifeMichael.com
Vaadin Jump Start
Haim Michael
May 30th
, 2014
All logos, trade marks and brand names used in this presentation belong to their
respective owners. Haim Michael and LifeMichael are not related, connected
or associated with any of the technologies mentioned in this presentation or with
the companies that develop them.
You can find the video clip at http://youtu.be/ueQ-TGuIW1Q.
LifeMichael.com
Table of Content
LifeMichael.com
● What is Vaadin?
● Google Web Toolkit
●
Extending Vaadin
● Vaadin Themes
● Data Binding
●
Visual Designer
●
Vaadin TouchKit
● The History of Vaadin
● Easy Deployment
●
Vaadin IDEs
●
Learning Resources
● Questions & Answers
What is Vaadin?
● Vaadin is a Java web applications framework that
simplify the development of one page web applications
with a rich user interface.
● Vaadin creates the code running on the web browser,
including the code that communicates with the server.
● Using Vaadin we don't need to learn client side web
technologies such as JavaScript, CSS and HTML5.
www.vaadin.com
LifeMichael.com
What is Vaadin?
● Handling the first HTTP request from the client Vaadin
returns bunch of code in JavaScript back to the client.
● That code is responsible from now on for rendering the
user interface, handling its events and communicating
with the server.
LifeMichael.com
Web Browser HTTP Server
Code We Developed
using Vaadin
Code in JavaScript
Generated by Vaadin
continuous
connection
What is Vaadin?
● Using Vaadin the code looks as if we were developing a
stand alone application with GUI based on Swing.
LifeMichael.com
@SuppressWarnings("serial")
public class HelloUI extends UI {
@Override
protected void init(VaadinRequest request) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
Button button = new Button("Click Me");
button.addClickListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
layout.addComponent(new Label("click!"));
}
});
layout.addComponent(button);
}
}
Google Web Toolkit
● The Vaadin framework uses the Google Web Toolkit
framework that assists with generating the code in
JavaScript and provides the capability to create a full
featured user interface.
www.gwtproject.org
LifeMichael.com
Extending Vaadin
● Vaadin allows us to extend it with new 3rd party widgets
as well as with our owns. We can find lots of add-ons
ready for use in the Vaadin directory.
https://vaadin.com/directory
LifeMichael.com
Vaadin Themes
● Using Vaadin we get a clear separation between the
structure of the user interface and its appearance.
● The appearance is controlled by the theme we choose.
● We can use themes that were already developed or
develop our own. Each theme includes mainly CSS.
LifeMichael.com
Data Binding
● The Vaadin framework allows us to bind user interface
components directly to the data they display.
● It is possible to create UI components that allow the end
user to edit the data.
LifeMichael.com
Visual Designer
● The visual designer simplifies the development
process. The code it generates is relatively readable.
LifeMichael.com
Vaadin TouchKit
● The Vaadin TouchKit is a responsive framework that
includes a collection of mobile platform optimized
HTML5 widgets.
www.vaadin.com/touchkit
LifeMichael.com
Vaadin TouchKit
● Vaadin TouchKit targets Android 2.3 (or newer), iOS 5 (or
newer) and Windows Phone 8 (or newer).
LifeMichael.com
Vaadin TouchKit
● The Vaadin TouchKit is optimized for mobile telephones
hybrid applications development. Vaadin TouchKit
supports the PhoneGap framework and allows us writing
code in Java that is executed on the server and takes
care after the required interaction with the mobile
telephone hardware.
LifeMichael.com
Vaadin TouchKit
● The Vaadin TouchKit is available for free when
developing open source projects. When dealing with
commercial products there is a license fee.
LifeMichael.com
The History of Vaadin
● The framework was born in 2000. The original name was
Millstone Library.
● The framework was developed as inner project in IT Mill in
order to develop an information system for one of its
clients.
LifeMichael.com
The History of Vaadin
● In 2006 IT Mill released a new version that included an
extensive use of Ajax and in 2007 the client side engine
was rewritten with GWT.
● In 2009 the framework was renamed to Vaadin. Shortly
after, the IT Mill company was also renamed as Vaadin.
● Vaadin 7 was released in 2012 and it is significantly more
web oriented.
LifeMichael.com
Easy Deployment
● The Vaadin framework uses one single Java Servlet for
running the application.
● We can deploy a Vaadin based web application on every
Java EE application server, such as Tomcat*, WebLogic,
WebSphere, Jboss and Glassfish.
* Apache Tomcat is not a Java EE application server. It is merely a web container. For
running a vaadin web application it is sufficient.
LifeMichael.com
Vaadin IDEs
● The Vaadin plugin is available for Eclipse, Netbeans and
IntelliJ.
LifeMichael.com
www.eclipse.org www.netbeans.org
www.jetbrains.com/idea/
Learning Resources
● You can find the Book of Vaadin available online for free at
https://vaadin.com/book.
LifeMichael.com
Learning Resources
● The Vaadin API documentation can be found at
https://vaadin.com/api.
LifeMichael.com
Learning Resources
● You can find a growing number of online free courses about
various topics in the Java programming language (including
Vaadin) at http://abelski.lifemichael.com.
LifeMichael.com
Learning Resources
● You can find my israeli guide for using Vaadin available for
free at http://www.vaadinbook.co.il.
LifeMichael.com
Questions & Answers
● Three courses you might find interesting include
Software Engineering in PHP
more info
Android 4.4 Java Applications Development
more info
HTML5 Cross Platform Mobile Applications
more info
● If you enjoyed my lecture please leave me a comment
at http://speakerpedia.com/speakers/life-michael.
Thanks for your time!
Haim.
LifeMichael.com

Contenu connexe

Similaire à Vaadin Jump Start

Java Development Company | Xicom
Java Development Company | XicomJava Development Company | Xicom
Java Development Company | XicomRyanForeman5
 
Vaadin Flow - JavaLand 2018
Vaadin Flow - JavaLand 2018Vaadin Flow - JavaLand 2018
Vaadin Flow - JavaLand 2018Peter Lehto
 
Android crash course_20180812
Android crash course_20180812Android crash course_20180812
Android crash course_20180812Haim Michael
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechDivante
 
Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020Devathon
 
Django app deployment in Azure By Saurabh Agarwal
Django app deployment in Azure By Saurabh AgarwalDjango app deployment in Azure By Saurabh Agarwal
Django app deployment in Azure By Saurabh Agarwalratneshsinghparihar
 
Is Vue catching up with React.pdf
Is Vue catching up with React.pdfIs Vue catching up with React.pdf
Is Vue catching up with React.pdfMindfire LLC
 
9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Developmentcodecraftcrew
 
#11 DataWeave Extension Library using Visual Studio Code
#11 DataWeave Extension Library using Visual Studio Code#11 DataWeave Extension Library using Visual Studio Code
#11 DataWeave Extension Library using Visual Studio CodeAnoopRamachandran13
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonHamed Hatami
 
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentationvue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentationDivante
 
Simple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and Vaadin
Simple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and VaadinSimple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and Vaadin
Simple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and VaadinJian Wu
 
Vaadin7 coding ui components
Vaadin7   coding ui componentsVaadin7   coding ui components
Vaadin7 coding ui componentsmp technology
 
Vaadin7 - coding ui components
Vaadin7 -  coding ui componentsVaadin7 -  coding ui components
Vaadin7 - coding ui componentsPatrick Pfister
 
Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Muhammad Ghazali
 
Top Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To KnowTop Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To KnowPixel Crayons
 

Similaire à Vaadin Jump Start (20)

Java Development Company | Xicom
Java Development Company | XicomJava Development Company | Xicom
Java Development Company | Xicom
 
Vaadin Flow - JavaLand 2018
Vaadin Flow - JavaLand 2018Vaadin Flow - JavaLand 2018
Vaadin Flow - JavaLand 2018
 
Web summit.pptx
Web summit.pptxWeb summit.pptx
Web summit.pptx
 
Android crash course_20180812
Android crash course_20180812Android crash course_20180812
Android crash course_20180812
 
What's new in Visual Studio 2022
What's new in Visual Studio 2022What's new in Visual Studio 2022
What's new in Visual Studio 2022
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
 
Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020
 
Micro-Frontend Architecture
Micro-Frontend ArchitectureMicro-Frontend Architecture
Micro-Frontend Architecture
 
Django app deployment in Azure By Saurabh Agarwal
Django app deployment in Azure By Saurabh AgarwalDjango app deployment in Azure By Saurabh Agarwal
Django app deployment in Azure By Saurabh Agarwal
 
Is Vue catching up with React.pdf
Is Vue catching up with React.pdfIs Vue catching up with React.pdf
Is Vue catching up with React.pdf
 
9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development
 
Django PPT.pptx
Django PPT.pptxDjango PPT.pptx
Django PPT.pptx
 
#11 DataWeave Extension Library using Visual Studio Code
#11 DataWeave Extension Library using Visual Studio Code#11 DataWeave Extension Library using Visual Studio Code
#11 DataWeave Extension Library using Visual Studio Code
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks Comparison
 
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentationvue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
 
Simple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and Vaadin
Simple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and VaadinSimple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and Vaadin
Simple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and Vaadin
 
Vaadin7 coding ui components
Vaadin7   coding ui componentsVaadin7   coding ui components
Vaadin7 coding ui components
 
Vaadin7 - coding ui components
Vaadin7 -  coding ui componentsVaadin7 -  coding ui components
Vaadin7 - coding ui components
 
Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1
 
Top Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To KnowTop Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To Know
 

Plus de Haim Michael

Virtual Threads in Java
Virtual Threads in JavaVirtual Threads in Java
Virtual Threads in JavaHaim Michael
 
MongoDB Design Patterns
MongoDB Design PatternsMongoDB Design Patterns
MongoDB Design PatternsHaim Michael
 
Introduction to SQL Injections
Introduction to SQL InjectionsIntroduction to SQL Injections
Introduction to SQL InjectionsHaim Michael
 
Record Classes in Java
Record Classes in JavaRecord Classes in Java
Record Classes in JavaHaim Michael
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design PatternsHaim Michael
 
Structural Pattern Matching in Python
Structural Pattern Matching in PythonStructural Pattern Matching in Python
Structural Pattern Matching in PythonHaim Michael
 
Unit Testing in Python
Unit Testing in PythonUnit Testing in Python
Unit Testing in PythonHaim Michael
 
OOP Best Practices in JavaScript
OOP Best Practices in JavaScriptOOP Best Practices in JavaScript
OOP Best Practices in JavaScriptHaim Michael
 
JavaScript Jump Start 20220214
JavaScript Jump Start 20220214JavaScript Jump Start 20220214
JavaScript Jump Start 20220214Haim Michael
 
Bootstrap Jump Start
Bootstrap Jump StartBootstrap Jump Start
Bootstrap Jump StartHaim Michael
 
What is new in PHP
What is new in PHPWhat is new in PHP
What is new in PHPHaim Michael
 
What is new in Python 3.9
What is new in Python 3.9What is new in Python 3.9
What is new in Python 3.9Haim Michael
 
Programming in Python on Steroid
Programming in Python on SteroidProgramming in Python on Steroid
Programming in Python on SteroidHaim Michael
 
The matplotlib Library
The matplotlib LibraryThe matplotlib Library
The matplotlib LibraryHaim Michael
 
Pandas meetup 20200908
Pandas meetup 20200908Pandas meetup 20200908
Pandas meetup 20200908Haim Michael
 
The num py_library_20200818
The num py_library_20200818The num py_library_20200818
The num py_library_20200818Haim Michael
 
Jupyter notebook 20200728
Jupyter notebook 20200728Jupyter notebook 20200728
Jupyter notebook 20200728Haim Michael
 
Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Haim Michael
 

Plus de Haim Michael (20)

Anti Patterns
Anti PatternsAnti Patterns
Anti Patterns
 
Virtual Threads in Java
Virtual Threads in JavaVirtual Threads in Java
Virtual Threads in Java
 
MongoDB Design Patterns
MongoDB Design PatternsMongoDB Design Patterns
MongoDB Design Patterns
 
Introduction to SQL Injections
Introduction to SQL InjectionsIntroduction to SQL Injections
Introduction to SQL Injections
 
Record Classes in Java
Record Classes in JavaRecord Classes in Java
Record Classes in Java
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design Patterns
 
Structural Pattern Matching in Python
Structural Pattern Matching in PythonStructural Pattern Matching in Python
Structural Pattern Matching in Python
 
Unit Testing in Python
Unit Testing in PythonUnit Testing in Python
Unit Testing in Python
 
OOP Best Practices in JavaScript
OOP Best Practices in JavaScriptOOP Best Practices in JavaScript
OOP Best Practices in JavaScript
 
Java Jump Start
Java Jump StartJava Jump Start
Java Jump Start
 
JavaScript Jump Start 20220214
JavaScript Jump Start 20220214JavaScript Jump Start 20220214
JavaScript Jump Start 20220214
 
Bootstrap Jump Start
Bootstrap Jump StartBootstrap Jump Start
Bootstrap Jump Start
 
What is new in PHP
What is new in PHPWhat is new in PHP
What is new in PHP
 
What is new in Python 3.9
What is new in Python 3.9What is new in Python 3.9
What is new in Python 3.9
 
Programming in Python on Steroid
Programming in Python on SteroidProgramming in Python on Steroid
Programming in Python on Steroid
 
The matplotlib Library
The matplotlib LibraryThe matplotlib Library
The matplotlib Library
 
Pandas meetup 20200908
Pandas meetup 20200908Pandas meetup 20200908
Pandas meetup 20200908
 
The num py_library_20200818
The num py_library_20200818The num py_library_20200818
The num py_library_20200818
 
Jupyter notebook 20200728
Jupyter notebook 20200728Jupyter notebook 20200728
Jupyter notebook 20200728
 
Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start)
 

Dernier

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
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
 
Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptesrabilgic2
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS 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
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 

Dernier (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).ppt
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
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
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 

Vaadin Jump Start

  • 1. Vaadin Jump Start Haim Michael May 30th , 2014 All logos, trade marks and brand names used in this presentation belong to their respective owners. Haim Michael and LifeMichael are not related, connected or associated with any of the technologies mentioned in this presentation or with the companies that develop them. You can find the video clip at http://youtu.be/ueQ-TGuIW1Q. LifeMichael.com
  • 2. Table of Content LifeMichael.com ● What is Vaadin? ● Google Web Toolkit ● Extending Vaadin ● Vaadin Themes ● Data Binding ● Visual Designer ● Vaadin TouchKit ● The History of Vaadin ● Easy Deployment ● Vaadin IDEs ● Learning Resources ● Questions & Answers
  • 3. What is Vaadin? ● Vaadin is a Java web applications framework that simplify the development of one page web applications with a rich user interface. ● Vaadin creates the code running on the web browser, including the code that communicates with the server. ● Using Vaadin we don't need to learn client side web technologies such as JavaScript, CSS and HTML5. www.vaadin.com LifeMichael.com
  • 4. What is Vaadin? ● Handling the first HTTP request from the client Vaadin returns bunch of code in JavaScript back to the client. ● That code is responsible from now on for rendering the user interface, handling its events and communicating with the server. LifeMichael.com Web Browser HTTP Server Code We Developed using Vaadin Code in JavaScript Generated by Vaadin continuous connection
  • 5. What is Vaadin? ● Using Vaadin the code looks as if we were developing a stand alone application with GUI based on Swing. LifeMichael.com @SuppressWarnings("serial") public class HelloUI extends UI { @Override protected void init(VaadinRequest request) { final VerticalLayout layout = new VerticalLayout(); layout.setMargin(true); setContent(layout); Button button = new Button("Click Me"); button.addClickListener(new Button.ClickListener() { public void buttonClick(ClickEvent event) { layout.addComponent(new Label("click!")); } }); layout.addComponent(button); } }
  • 6. Google Web Toolkit ● The Vaadin framework uses the Google Web Toolkit framework that assists with generating the code in JavaScript and provides the capability to create a full featured user interface. www.gwtproject.org LifeMichael.com
  • 7. Extending Vaadin ● Vaadin allows us to extend it with new 3rd party widgets as well as with our owns. We can find lots of add-ons ready for use in the Vaadin directory. https://vaadin.com/directory LifeMichael.com
  • 8. Vaadin Themes ● Using Vaadin we get a clear separation between the structure of the user interface and its appearance. ● The appearance is controlled by the theme we choose. ● We can use themes that were already developed or develop our own. Each theme includes mainly CSS. LifeMichael.com
  • 9. Data Binding ● The Vaadin framework allows us to bind user interface components directly to the data they display. ● It is possible to create UI components that allow the end user to edit the data. LifeMichael.com
  • 10. Visual Designer ● The visual designer simplifies the development process. The code it generates is relatively readable. LifeMichael.com
  • 11. Vaadin TouchKit ● The Vaadin TouchKit is a responsive framework that includes a collection of mobile platform optimized HTML5 widgets. www.vaadin.com/touchkit LifeMichael.com
  • 12. Vaadin TouchKit ● Vaadin TouchKit targets Android 2.3 (or newer), iOS 5 (or newer) and Windows Phone 8 (or newer). LifeMichael.com
  • 13. Vaadin TouchKit ● The Vaadin TouchKit is optimized for mobile telephones hybrid applications development. Vaadin TouchKit supports the PhoneGap framework and allows us writing code in Java that is executed on the server and takes care after the required interaction with the mobile telephone hardware. LifeMichael.com
  • 14. Vaadin TouchKit ● The Vaadin TouchKit is available for free when developing open source projects. When dealing with commercial products there is a license fee. LifeMichael.com
  • 15. The History of Vaadin ● The framework was born in 2000. The original name was Millstone Library. ● The framework was developed as inner project in IT Mill in order to develop an information system for one of its clients. LifeMichael.com
  • 16. The History of Vaadin ● In 2006 IT Mill released a new version that included an extensive use of Ajax and in 2007 the client side engine was rewritten with GWT. ● In 2009 the framework was renamed to Vaadin. Shortly after, the IT Mill company was also renamed as Vaadin. ● Vaadin 7 was released in 2012 and it is significantly more web oriented. LifeMichael.com
  • 17. Easy Deployment ● The Vaadin framework uses one single Java Servlet for running the application. ● We can deploy a Vaadin based web application on every Java EE application server, such as Tomcat*, WebLogic, WebSphere, Jboss and Glassfish. * Apache Tomcat is not a Java EE application server. It is merely a web container. For running a vaadin web application it is sufficient. LifeMichael.com
  • 18. Vaadin IDEs ● The Vaadin plugin is available for Eclipse, Netbeans and IntelliJ. LifeMichael.com www.eclipse.org www.netbeans.org www.jetbrains.com/idea/
  • 19. Learning Resources ● You can find the Book of Vaadin available online for free at https://vaadin.com/book. LifeMichael.com
  • 20. Learning Resources ● The Vaadin API documentation can be found at https://vaadin.com/api. LifeMichael.com
  • 21. Learning Resources ● You can find a growing number of online free courses about various topics in the Java programming language (including Vaadin) at http://abelski.lifemichael.com. LifeMichael.com
  • 22. Learning Resources ● You can find my israeli guide for using Vaadin available for free at http://www.vaadinbook.co.il. LifeMichael.com
  • 23. Questions & Answers ● Three courses you might find interesting include Software Engineering in PHP more info Android 4.4 Java Applications Development more info HTML5 Cross Platform Mobile Applications more info ● If you enjoyed my lecture please leave me a comment at http://speakerpedia.com/speakers/life-michael. Thanks for your time! Haim. LifeMichael.com
  • 24. Vaadin Jump Start Haim Michael May 30th , 2014 All logos, trade marks and brand names used in this presentation belong to their respective owners. Haim Michael and LifeMichael are not related, connected or associated with any of the technologies mentioned in this presentation or with the companies that develop them. You can find the video clip at http://youtu.be/ueQ-TGuIW1Q. LifeMichael.com
  • 25. Table of Content LifeMichael.com ● What is Vaadin? ● Google Web Toolkit ● Extending Vaadin ● Vaadin Themes ● Data Binding ● Visual Designer ● Vaadin TouchKit ● The History of Vaadin ● Easy Deployment ● Vaadin IDEs ● Learning Resources ● Questions & Answers
  • 26. What is Vaadin? ● Vaadin is a Java web applications framework that simplify the development of one page web applications with a rich user interface. ● Vaadin creates the code running on the web browser, including the code that communicates with the server. ● Using Vaadin we don't need to learn client side web technologies such as JavaScript, CSS and HTML5. www.vaadin.com LifeMichael.com
  • 27. What is Vaadin? ● Handling the first HTTP request from the client Vaadin returns bunch of code in JavaScript back to the client. ● That code is responsible from now on for rendering the user interface, handling its events and communicating with the server. LifeMichael.com Web Browser HTTP Server Code We Developed using Vaadin Code in JavaScript Generated by Vaadin continuous connection
  • 28. What is Vaadin? ● Using Vaadin the code looks as if we were developing a stand alone application with GUI based on Swing. LifeMichael.com @SuppressWarnings("serial") public class HelloUI extends UI { @Override protected void init(VaadinRequest request) { final VerticalLayout layout = new VerticalLayout(); layout.setMargin(true); setContent(layout); Button button = new Button("Click Me"); button.addClickListener(new Button.ClickListener() { public void buttonClick(ClickEvent event) { layout.addComponent(new Label("click!")); } }); layout.addComponent(button); } }
  • 29. Google Web Toolkit ● The Vaadin framework uses the Google Web Toolkit framework that assists with generating the code in JavaScript and provides the capability to create a full featured user interface. www.gwtproject.org LifeMichael.com
  • 30. Extending Vaadin ● Vaadin allows us to extend it with new 3rd party widgets as well as with our owns. We can find lots of add-ons ready for use in the Vaadin directory. https://vaadin.com/directory LifeMichael.com
  • 31. Vaadin Themes ● Using Vaadin we get a clear separation between the structure of the user interface and its appearance. ● The appearance is controlled by the theme we choose. ● We can use themes that were already developed or develop our own. Each theme includes mainly CSS. LifeMichael.com
  • 32. Data Binding ● The Vaadin framework allows us to bind user interface components directly to the data they display. ● It is possible to create UI components that allow the end user to edit the data. LifeMichael.com
  • 33. Visual Designer ● The visual designer simplifies the development process. The code it generates is relatively readable. LifeMichael.com
  • 34. Vaadin TouchKit ● The Vaadin TouchKit is a responsive framework that includes a collection of mobile platform optimized HTML5 widgets. www.vaadin.com/touchkit LifeMichael.com
  • 35. Vaadin TouchKit ● Vaadin TouchKit targets Android 2.3 (or newer), iOS 5 (or newer) and Windows Phone 8 (or newer). LifeMichael.com
  • 36. Vaadin TouchKit ● The Vaadin TouchKit is optimized for mobile telephones hybrid applications development. Vaadin TouchKit supports the PhoneGap framework and allows us writing code in Java that is executed on the server and takes care after the required interaction with the mobile telephone hardware. LifeMichael.com
  • 37. Vaadin TouchKit ● The Vaadin TouchKit is available for free when developing open source projects. When dealing with commercial products there is a license fee. LifeMichael.com
  • 38. The History of Vaadin ● The framework was born in 2000. The original name was Millstone Library. ● The framework was developed as inner project in IT Mill in order to develop an information system for one of its clients. LifeMichael.com
  • 39. The History of Vaadin ● In 2006 IT Mill released a new version that included an extensive use of Ajax and in 2007 the client side engine was rewritten with GWT. ● In 2009 the framework was renamed to Vaadin. Shortly after, the IT Mill company was also renamed as Vaadin. ● Vaadin 7 was released in 2012 and it is significantly more web oriented. LifeMichael.com
  • 40. Easy Deployment ● The Vaadin framework uses one single Java Servlet for running the application. ● We can deploy a Vaadin based web application on every Java EE application server, such as Tomcat*, WebLogic, WebSphere, Jboss and Glassfish. * Apache Tomcat is not a Java EE application server. It is merely a web container. For running a vaadin web application it is sufficient. LifeMichael.com
  • 41. Vaadin IDEs ● The Vaadin plugin is available for Eclipse, Netbeans and IntelliJ. LifeMichael.com www.eclipse.org www.netbeans.org www.jetbrains.com/idea/
  • 42. Learning Resources ● You can find the Book of Vaadin available online for free at https://vaadin.com/book. LifeMichael.com
  • 43. Learning Resources ● The Vaadin API documentation can be found at https://vaadin.com/api. LifeMichael.com
  • 44. Learning Resources ● You can find a growing number of online free courses about various topics in the Java programming language (including Vaadin) at http://abelski.lifemichael.com. LifeMichael.com
  • 45. Learning Resources ● You can find my israeli guide for using Vaadin available for free at http://www.vaadinbook.co.il. LifeMichael.com
  • 46. Questions & Answers ● Three courses you might find interesting include Software Engineering in PHP more info Android 4.4 Java Applications Development more info HTML5 Cross Platform Mobile Applications more info ● If you enjoyed my lecture please leave me a comment at http://speakerpedia.com/speakers/life-michael. Thanks for your time! Haim. LifeMichael.com