SlideShare a Scribd company logo
JavaFX
canoo
About me
Java Champion
JavaOne Rockstar
Canoo Engineering AG
JCP Expert Group
JUG Dortmund
Star Wars
www.guigarage.com@hendrikEbbers canoo
Hello Worldwww.guigarage.com@hendrikEbbers canoo
Hello Worldwww.guigarage.com@hendrikEbbers canoo
JavaFX is PLAIN JAVA
NO JavaFX Script
Write it with any Java IDE
... or go oldschool
never use this one ;)
Hello Worldwww.guigarage.com@hendrikEbbers canoo
1 - Create a Class
2 - Extend Javafx.application.application
3 - Have Fun
Hello Worldwww.guigarage.com@hendrikEbbers canoo
public	class	HelloWorld	extends	Application	{	
				@Override	
				public	void	start(Stage	primaryStage)	{	
								StackPane	myPane	=	new	StackPane(new	Button("Hello	World"));	
								primaryStage.setScene(new	Scene(myPane));	
								primaryStage.show();	
				}	
				public	static	void	main(String[]	args)	{	
								launch(args);	
				}	
}
Hello Worldwww.guigarage.com@hendrikEbbers canoo
Stage
Scene
StackPane
Button
Scenegraph
contains
Hello Worldwww.guigarage.com@hendrikEbbers canoo
public class Demo extends javafx.application.Application {
@Override public void init() {}
@Override public void start(javafx.stage.Stage stage) {}
@Override public void stop() {}
public static void main(String[] parameters) {
launch(parameters);
}
}
application.init() application.start(Stage) application.stop()
stage.close()
stuck in the IDE
www.guigarage.com@hendrikEbbers canoo
stuck in the IDE
www.guigarage.com@hendrikEbbers canoo
Netbeans Project Eclipse Project
stuck in the IDE
www.guigarage.com@hendrikEbbers canoo
stuck in the IDE
www.guigarage.com@hendrikEbbers canoo
😥
😭
😱
😰
😵
stuck in the IDE
www.guigarage.com@hendrikEbbers canoo
😥 😓 😨 😰 😵 😭 😱
stuck in the IDE
www.guigarage.com@hendrikEbbers canoo
?
Project
management
www.guigarage.com@hendrikEbbers canoo
www.guigarage.com@hendrikEbbers canoo
Describe the application in an
Environment independent way
Project
management
www.guigarage.com@hendrikEbbers canoo
1 - Define Java Version in Build file
2 - Define Dependencies in Build File
I like to to this in a
static way…
Project
management
www.guigarage.com@hendrikEbbers canoo
JavaFX and Maven
Project
management
a perfect match
www.guigarage.com@hendrikEbbers canoo
Project
management
<?xml	version="1.0"	encoding="UTF-8"?>

<project	xmlns="http://maven.apache.org/POM/4.0.0"

									xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

									xsi:schemaLocation="http://maven.apache.org/POM/4.0.0		
																													http://maven.apache.org/xsd/maven-4.0.0.xsd">	


				<modelVersion>4.0.0</modelVersion>



				<groupId>com.guigarage</groupId>

				<artifactId>javafx-application</artifactId>

				<version>1.0-SNAPSHOT</version>



				<properties>

								<maven.compiler.target>1.8</maven.compiler.target>

								<maven.compiler.source>1.8</maven.compiler.source>

								<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

				</properties>	


</project>
www.guigarage.com@hendrikEbbers canoo
You have to choose
Project
management
www.guigarage.com@hendrikEbbers canoo
Native Builds
Project
management
Providing a JAR to customers sucks
Since Java 8 we can go
Native
EXE & DMG
www.guigarage.com@hendrikEbbers canoo
Native Builds
Project
management
JavaPackager is part of JDK
Oracle Provides ANT support
Maven & Gradle Support
by Community
www.guigarage.com@hendrikEbbers canoo
Native Builds
Project
management
www.guigarage.com@hendrikEbbers canoo
Native Builds
Project
management
simply add nativecontent to your project
www.guigarage.com@hendrikEbbers canoo
Test Support
Project
management
USe TestFX to write JavaFX test
Tests automatically boot
your UI
Headless Tests
supported
Build pipeline
Build pipeline
Deploying an productive app
... from your local machine is like ...
Build pipeline
Deploying an productive app
. . . from your local machine is like
Build pipeline
Deploying an productive app
. . . from your local machine is like
Build pipeline
Deploying an productive app
. . . from your local machine is like
Build pipeline
Deploying an productive app
. . . from your local machine is like
Build pipeline
Just to make sure you get it ...
Build pipeline
Deploying an productive app
. . . from your local machine is like
Build pipeline
Deploying an productive app
. . . from your local machine is like
All together now
Build pipeline
Deploying an productive app
... from a Build server is like ...
Build pipeline
Deploying an productive app
. . . from your local machine is like
Build pipeline
Using a Build server is quite easy
It's really the same than for any other Java project
Remember: JavaFX == Java
choose your favorite
Build pipeline
Works for Open Source, Too
It only takes 5 minutes to setup a Travis Build
for your GitHub repo
+
Build pipeline
Native Builds
You need build notes for the different platforms
Build server
Linux build
node
Mac build
node
Windows
build node
trigger builds
JavaFX on
Mobile
www.guigarage.com@hendrikEbbers canoo
JavaFX Mobile
Simply Install IDE Plugin
Create a new Project
Run JavaFX on
Mobile
www.guigarage.com@hendrikEbbers canoo
WAIT!
DON'T We stuck in the IDE now????
JavaFX on
Mobile
www.guigarage.com@hendrikEbbers canoo
Gradle Build
questions?

More Related Content

What's hot (20)

PDF
JavaFX8 TestFX - CDI
Sven Ruppert
 
PDF
From Swing to JavaFX
Yuichi Sakuraba
 
PDF
Java Intro: Unit1. Hello World
Yakov Fain
 
PDF
The JavaFX Ecosystem
Andres Almiray
 
ODP
Java and XPages
Patrick Kwinten
 
PPTX
Single Page Applications with AngularJS 2.0
Sumanth Chinthagunta
 
PDF
Dart for Java Developers
Yakov Fain
 
PDF
AngularJS Unit Test
Chiew Carol
 
PDF
JavaFX Advanced
Paul Bakker
 
PDF
Node.js and Selenium Webdriver, a journey from the Java side
Mek Srunyu Stittri
 
PDF
Philip Shurpik "Architecting React Native app"
Fwdays
 
PDF
Testing nightwatch, by David Torroija
David Torroija
 
PPTX
Making React Native UI Components with Swift
Ray Deck
 
PDF
Desktop|Embedded Application API JSR
Andres Almiray
 
PDF
Night Watch with QA
Carsten Sandtner
 
PDF
The Many Ways to Test Your React App
All Things Open
 
ZIP
Automated Frontend Testing
Neil Crosby
 
PDF
Григорий Шехет "Treasure hunt in the land of Reactive frameworks"
Fwdays
 
PDF
Introduction of React.js
Jyaasa Technologies
 
PDF
Reactive Streams and RxJava2
Yakov Fain
 
JavaFX8 TestFX - CDI
Sven Ruppert
 
From Swing to JavaFX
Yuichi Sakuraba
 
Java Intro: Unit1. Hello World
Yakov Fain
 
The JavaFX Ecosystem
Andres Almiray
 
Java and XPages
Patrick Kwinten
 
Single Page Applications with AngularJS 2.0
Sumanth Chinthagunta
 
Dart for Java Developers
Yakov Fain
 
AngularJS Unit Test
Chiew Carol
 
JavaFX Advanced
Paul Bakker
 
Node.js and Selenium Webdriver, a journey from the Java side
Mek Srunyu Stittri
 
Philip Shurpik "Architecting React Native app"
Fwdays
 
Testing nightwatch, by David Torroija
David Torroija
 
Making React Native UI Components with Swift
Ray Deck
 
Desktop|Embedded Application API JSR
Andres Almiray
 
Night Watch with QA
Carsten Sandtner
 
The Many Ways to Test Your React App
All Things Open
 
Automated Frontend Testing
Neil Crosby
 
Григорий Шехет "Treasure hunt in the land of Reactive frameworks"
Fwdays
 
Introduction of React.js
Jyaasa Technologies
 
Reactive Streams and RxJava2
Yakov Fain
 

Viewers also liked (20)

PDF
BUILDING MODERN WEB UIS WITH WEB COMPONENTS @ Devoxx
Hendrik Ebbers
 
PDF
DataFX 8 (JavaOne 2014)
Hendrik Ebbers
 
PDF
JavaFX 2 Rich Desktop Platform
Rajmahendra Hegde
 
PPT
Javafx
Tarun Soni
 
PPT
RIA - przyszłość aplikacji internetowych
cree8tive
 
PDF
Delivering unicorns
Katarzyna Mrowca
 
PPTX
What’s new in java 8
Rajmahendra Hegde
 
PPTX
JSR 354 - Money and Currency API
Rajmahendra Hegde
 
PDF
JavaFX Enterprise (JavaOne 2014)
Hendrik Ebbers
 
PPTX
Civil war journal project
keboruff
 
PPT
רעיונות יצירתיים לעיצוב אילנה דמארי
ilanadamari
 
PPT
Algae x簡報4
本華 游
 
PPT
Leaders With No Title
xnder
 
PPT
Leaders With No Title
xnder
 
PPT
אילנה דמארי - רדיקלים חופשיים בדם
ilanadamari
 
PPS
פסלי רחוב- אילנה דמארי הכהן
ilanadamari
 
PPTX
PLASMA
Dima Ceby
 
PPT
認證說明
本華 游
 
PDF
"Measurement of 0.4 kV network grid using DAQ and MATLAB / SIMULINK"
Faris Karić
 
PPT
אילנה דמארי - מצגת תמונות הר מירון
ilanadamari
 
BUILDING MODERN WEB UIS WITH WEB COMPONENTS @ Devoxx
Hendrik Ebbers
 
DataFX 8 (JavaOne 2014)
Hendrik Ebbers
 
JavaFX 2 Rich Desktop Platform
Rajmahendra Hegde
 
Javafx
Tarun Soni
 
RIA - przyszłość aplikacji internetowych
cree8tive
 
Delivering unicorns
Katarzyna Mrowca
 
What’s new in java 8
Rajmahendra Hegde
 
JSR 354 - Money and Currency API
Rajmahendra Hegde
 
JavaFX Enterprise (JavaOne 2014)
Hendrik Ebbers
 
Civil war journal project
keboruff
 
רעיונות יצירתיים לעיצוב אילנה דמארי
ilanadamari
 
Algae x簡報4
本華 游
 
Leaders With No Title
xnder
 
Leaders With No Title
xnder
 
אילנה דמארי - רדיקלים חופשיים בדם
ilanadamari
 
פסלי רחוב- אילנה דמארי הכהן
ilanadamari
 
PLASMA
Dima Ceby
 
認證說明
本華 游
 
"Measurement of 0.4 kV network grid using DAQ and MATLAB / SIMULINK"
Faris Karić
 
אילנה דמארי - מצגת תמונות הר מירון
ilanadamari
 
Ad

Similar to JavaFX JumpStart @JavaOne 2016 (20)

PPTX
professional core java trainer
vibrantuser
 
PDF
Getting started with puppet and vagrant (1)
Puppet
 
PPTX
Building native Android applications with Mirah and Pindah
Nick Plante
 
PDF
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
MarcinStachniuk
 
PPT
Rcp by example
tsubramanian80
 
PDF
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
PDF
Developing cross platform desktop application with Ruby
Anis Ahmad
 
ODP
Building JBoss AS 7 for Fedora
wolfc71
 
PDF
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
David Wesst
 
PDF
Django & Buildout (en)
zerok
 
PPT
Javalecture 1
mrinalbhutani
 
PPT
Griffon Presentation
Kelly Robinson
 
PPTX
Ignite your app development with Angular, NativeScript and Firebase
Jen Looper
 
PDF
Jsf tutorial
Edress Oryakhail
 
PDF
Dependent things dependency management for apple sw - slideshare
Cavelle Benjamin
 
PDF
Web application on menu card qrcode generator.pdf
deepalishinkar1
 
PPT
Griffon: Swing just got fun again
James Williams
 
ODP
Aug penguin16
alhino
 
PPT
Java & J2EE Struts with Hibernate Framework
Mohit Belwal
 
professional core java trainer
vibrantuser
 
Getting started with puppet and vagrant (1)
Puppet
 
Building native Android applications with Mirah and Pindah
Nick Plante
 
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
MarcinStachniuk
 
Rcp by example
tsubramanian80
 
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
Developing cross platform desktop application with Ruby
Anis Ahmad
 
Building JBoss AS 7 for Fedora
wolfc71
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
David Wesst
 
Django & Buildout (en)
zerok
 
Javalecture 1
mrinalbhutani
 
Griffon Presentation
Kelly Robinson
 
Ignite your app development with Angular, NativeScript and Firebase
Jen Looper
 
Jsf tutorial
Edress Oryakhail
 
Dependent things dependency management for apple sw - slideshare
Cavelle Benjamin
 
Web application on menu card qrcode generator.pdf
deepalishinkar1
 
Griffon: Swing just got fun again
James Williams
 
Aug penguin16
alhino
 
Java & J2EE Struts with Hibernate Framework
Mohit Belwal
 
Ad

More from Hendrik Ebbers (20)

PDF
Java Desktop 2019
Hendrik Ebbers
 
PDF
Java APIs- The missing manual (concurrency)
Hendrik Ebbers
 
PDF
Beauty & the Beast - Java VS TypeScript
Hendrik Ebbers
 
PDF
Java 11 OMG
Hendrik Ebbers
 
PDF
Java APIs - the missing manual
Hendrik Ebbers
 
PDF
Multidevice Controls: A Different Approach to UX
Hendrik Ebbers
 
PDF
Java WebStart Is Dead: What Should We Do Now?
Hendrik Ebbers
 
PDF
Java ap is you should know
Hendrik Ebbers
 
PDF
Web Components & Polymer 1.0 (Webinale Berlin)
Hendrik Ebbers
 
PDF
webcomponents (Jfokus 2015)
Hendrik Ebbers
 
PDF
Feature driven development
Hendrik Ebbers
 
PDF
Extreme Gui Makeover
Hendrik Ebbers
 
PDF
JavaFX Enterprise
Hendrik Ebbers
 
PDF
Bonjour for Java
Hendrik Ebbers
 
PDF
DataFX - JavaOne 2013
Hendrik Ebbers
 
PDF
Vagrant Binding JayDay 2013
Hendrik Ebbers
 
PDF
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Hendrik Ebbers
 
PDF
Vagrant-Binding JUG Dortmund
Hendrik Ebbers
 
PDF
Lightweight and reproducible environments with vagrant and Puppet
Hendrik Ebbers
 
PDF
Jgrid
Hendrik Ebbers
 
Java Desktop 2019
Hendrik Ebbers
 
Java APIs- The missing manual (concurrency)
Hendrik Ebbers
 
Beauty & the Beast - Java VS TypeScript
Hendrik Ebbers
 
Java 11 OMG
Hendrik Ebbers
 
Java APIs - the missing manual
Hendrik Ebbers
 
Multidevice Controls: A Different Approach to UX
Hendrik Ebbers
 
Java WebStart Is Dead: What Should We Do Now?
Hendrik Ebbers
 
Java ap is you should know
Hendrik Ebbers
 
Web Components & Polymer 1.0 (Webinale Berlin)
Hendrik Ebbers
 
webcomponents (Jfokus 2015)
Hendrik Ebbers
 
Feature driven development
Hendrik Ebbers
 
Extreme Gui Makeover
Hendrik Ebbers
 
JavaFX Enterprise
Hendrik Ebbers
 
Bonjour for Java
Hendrik Ebbers
 
DataFX - JavaOne 2013
Hendrik Ebbers
 
Vagrant Binding JayDay 2013
Hendrik Ebbers
 
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Hendrik Ebbers
 
Vagrant-Binding JUG Dortmund
Hendrik Ebbers
 
Lightweight and reproducible environments with vagrant and Puppet
Hendrik Ebbers
 

Recently uploaded (20)

PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 

JavaFX JumpStart @JavaOne 2016