SlideShare a Scribd company logo
JAVA CLIENTS AND
JAVAFX
THE DEFINITIVE GUIDE
Stephen Chin
JFrog Developer Relations
Johan Vos
Gluon Mobile Java CEO
@steveonjava @johanvos
@steveonjava
https://jfrog.com/shownotes/
@johanvos@johanvos
HOW I PICTURED MYSELF DURING
THE APOCOLYPSE
@steveonjava
https://jfrog.com/shownotes/
@johanvos@johanvos
HOW I ACTUALLY LOOK DURING THE
PANDEMIC
@steveonjava
https://jfrog.com/shownotes/
@johanvos
HISTORY OF JAVAFX
2006: F3 Form Follows Function
2008: JavaFX 1.0 Initial Release of JavaFX
2011: JavaFX 2.0 Java API (JavaFX Script Removed)
2012: JavaFX 2.2 JavaFX Bundled with JavaSE 7u6
2014: JavaFX 8 JDK Integration
2018: JDK 11 JavaFX Removed from the JDK
@steveonjava
https://jfrog.com/shownotes/
@johanvos@johanvos
@steveonjava
https://jfrog.com/shownotes/
@johanvos
GLUON MOBILE
• JavaFX 11, 12, 13, and 14 builds
• SceneBuilder GUI Builder
• JavaFX on iOS and Android
@steveonjava
https://jfrog.com/shownotes/
@johanvos
JFrog.com/shownotes
● Today’s Slides
● The Video of this Talk
● Nintendo Switch Raffle
● 5 T-Shirts for LJC members
Bit.ly/LJCJFrog
@steveonjava
https://jfrog.com/shownotes/
@johanvos
@steveonjava
https://jfrog.com/shownotes/
@johanvos
JAVAFX USE CASES
@steveonjava
https://jfrog.com/shownotes/
@johanvos
MINT TRAINING AND RESOURCE MANAGEMENT
@steveonjava
https://jfrog.com/shownotes/
@johanvos
NASA DEEP SPACE TRAJECTORY EXPLORER
@steveonjava
https://jfrog.com/shownotes/
@johanvos@johanvos
DEVOXX CONFERENCE MOBILE APPLICATION
@steveonjava
https://jfrog.com/shownotes/
@johanvos
SPACEFX GAME
@steveonjava
https://jfrog.com/shownotes/
@johanvos
JAVAFX 3D
@steveonjava
https://jfrog.com/shownotes/
@johanvos
MESH GEOMETRY (3D SHAPES)
■ Predefined shapes
■ Box
■ Cylinder
■ Sphere
■ User-defined shapes
■ Using TriangleMesh / MeshView
15
@steveonjava
https://jfrog.com/shownotes/
@johanvos
UV MAPPING TEXTURES TO SHAPES
16
Tip: A texture is a 2D image to
be mapped on a 3D surface
@steveonjava
https://jfrog.com/shownotes/
@johanvos
3D LIGHTS
■ Lights are nodes in the scene graph
■ PointLight
■ AmbientLight
■ Default light provided if no active lights
17
@steveonjava
https://jfrog.com/shownotes/
@johanvos
FXYZ
• Built-in shapes
• Lights, materials, camera
• FXyz 3D https://github.com/FXyz/FXyz
@steveonjava
https://jfrog.com/shownotes/
@johanvos
1. PACKAGE YOUR PLATFORM
@steveonjava
https://jfrog.com/shownotes/
@johanvos
PACKAGES KEEP GETTING LARGER
@steveonjava
https://jfrog.com/shownotes/
@johanvos
PACKAGING JAVAFX APPLICATIONS
• Works, but not recommended:
• ¨FAT JAR¨ – Package all your dependencies and run on command line
• Recommended:
• jlink – Requires modular apps
• jpackage – Available now in Java 14
• New options:
• Native image – Use Graal to create a native application
• OpenWebStart – Open source version of Web Start for modern JDKs by Karakun
@steveonjava
https://jfrog.com/shownotes/
@johanvos
CREATE STATIC IMAGES
https://www.gluonhq.co
m
@steveonjava
https://jfrog.com/shownotes/
@johanvos
2. TARGET MOBILE FIRST
@steveonjava
https://jfrog.com/shownotes/
@johanvos
MOBILE WEB TRAFFIC
0.7% 2.9%
6.1%
10.7%
16.2%
27.1%
35.1%
43.6%
50.3%
52.2%
2009 2010 2011 2012 2013 2014 2015 2016 2017 2018
Mobile Web Traffic
@steveonjava
https://jfrog.com/shownotes/
@johanvos
JAVAFX ON MOBILE
• Native-image from GraalVM
• OpenJDK 11+ & OpenJFX 11+
• Mac OS X, Linux, iOS, Android
• Gradle/Maven plugins
• IDE Support for IntelliJ, Eclipse, and NetBeans
• https://github.com/gluonhq/client-samples
@steveonjava
https://jfrog.com/shownotes/
@johanvos
3. BUILD FOR THE CLOUD
@steveonjava
https://jfrog.com/shownotes/
@johanvosETEOBOARD
@steveonjava
https://jfrog.com/shownotes/
@johanvos
JAVAFX ON THE CLOUD
• The Weather App
• Don’t reveal your credentials!
RemoteFunctionObject functionObject =
RemoteFunctionBuilder.create("weather")
.param("q", CITY)
.object();
@steveonjava
https://jfrog.com/shownotes/
@johanvos
FROM JAVAFX EXPERTS TO THE COMMUNITY
@steveonjava
https://jfrog.com/shownotes/
@johanvos
HOW CAN YOU INFLUENCE THE ROADMAP
• Contribute
• OpenJFX code: https://github.com/openjdk/jfx
• Project leads: Kevin Rushforth (Oracle) and Johan Vos (Gluon)
• 100% open source, clear development rules (Reviewer, Committer)
Getting started:
• https://openjfx.io
• Mobile samples: https://github.com/gluonhq/client-samples
@steveonjava
https://jfrog.com/shownotes/
@johanvos@johanvos
Bit.ly/LJCJFrog
@steveonjava
https://jfrog.com/shownotes/
@johanvos@johanvos
Q&A

More Related Content

What's hot (20)

PPTX
Salesforce developer
shanthi priya
 
PDF
Javaland 2014 / GWT architectures and lessons learned
pgt technology scouting GmbH
 
PDF
GR8Conf 2015 - Spring Boot and Groovy. What more do you need?
Iván López Martín
 
PDF
React native - What, Why, How?
Teerasej Jiraphatchandej
 
PPTX
6th Salesforce Developer Group - Bilbao
northspainsalesforcedevelopergroup
 
PPTX
Games, Develop & Html5 for BlackBerry PlayBook
Sergio Brito
 
PDF
Starters with Django
BeDjango
 
KEY
Joys and Pains of Node.js in the Enterprise
Marc Fasel
 
PDF
DevOps Note 20120224
Hirokazu MORIKAWA
 
PDF
React Native "A Bad Idea Or A Game Changer" at Code Mania 101
Ranatchai Chernbamrung
 
PPTX
Flash 2 dev bbp-laybook
Sergio Brito
 
PDF
Power of React Native
Murugan Durai
 
PDF
Use groovy & grails in your spring boot projects
Fátima Casaú Pérez
 
PPTX
Grails Spring Boot
TO THE NEW | Technology
 
PDF
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
tdc-globalcode
 
PDF
Spring IO '15 - Developing microservices, Spring Boot or Grails?
Fátima Casaú Pérez
 
PDF
NodeConfLondon - Making ES6 happen with ChakraCore and Node
Christian Heilmann
 
PDF
CocoaHeads Paris iBeacon par Clément Sauvage
CocoaHeads France
 
PDF
Breaking News and Breaking Software by Andy Hume
SyncConf
 
PDF
Intro to PhoneGap
Jussi Pohjolainen
 
Salesforce developer
shanthi priya
 
Javaland 2014 / GWT architectures and lessons learned
pgt technology scouting GmbH
 
GR8Conf 2015 - Spring Boot and Groovy. What more do you need?
Iván López Martín
 
React native - What, Why, How?
Teerasej Jiraphatchandej
 
6th Salesforce Developer Group - Bilbao
northspainsalesforcedevelopergroup
 
Games, Develop & Html5 for BlackBerry PlayBook
Sergio Brito
 
Starters with Django
BeDjango
 
Joys and Pains of Node.js in the Enterprise
Marc Fasel
 
DevOps Note 20120224
Hirokazu MORIKAWA
 
React Native "A Bad Idea Or A Game Changer" at Code Mania 101
Ranatchai Chernbamrung
 
Flash 2 dev bbp-laybook
Sergio Brito
 
Power of React Native
Murugan Durai
 
Use groovy & grails in your spring boot projects
Fátima Casaú Pérez
 
Grails Spring Boot
TO THE NEW | Technology
 
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
tdc-globalcode
 
Spring IO '15 - Developing microservices, Spring Boot or Grails?
Fátima Casaú Pérez
 
NodeConfLondon - Making ES6 happen with ChakraCore and Node
Christian Heilmann
 
CocoaHeads Paris iBeacon par Clément Sauvage
CocoaHeads France
 
Breaking News and Breaking Software by Andy Hume
SyncConf
 
Intro to PhoneGap
Jussi Pohjolainen
 

Similar to Java Clients and JavaFX - Presented to LJC (20)

PPTX
JavaFX on Mobile (by Johan Vos)
Stephen Chin
 
PDF
Java keynote preso
Artur Alves
 
PDF
JavaFX: A Rich Internet Application (RIA) Development Platform
Praveen Srivastava
 
PDF
JavaOne 2010 Keynote
Tomoyuki Tatsuno
 
PDF
JavaFX 2 Rich Desktop Platform
Rajmahendra Hegde
 
PPTX
Complete Solution for JavaFX Development - NexSoftSys
NexSoftsys
 
PPTX
Java fx
Apsara G
 
DOCX
What is java fx?
kanchanmahajan23
 
PPTX
Introduction To JavaFX 2.0
Boulder Java User's Group
 
KEY
Android java fx-jme@jug-lugano
Fabrizio Giudici
 
PPT
JavaFX - Next Generation Java UI
Yoav Aharoni
 
PPTX
LUGOD Raspberry Pi Hacking
Stephen Chin
 
PDF
The Brainify App - JavaFx
Mohd Shamweel
 
PPTX
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
Lucas Jellema
 
PDF
Java8 launch at AMIS Services / First8
Getting value from IoT, Integration and Data Analytics
 
PPT
What is java fx?
kanchanmahajan23
 
PPTX
OpenJFX on Android and Devices
Stephen Chin
 
PDF
Serverless Java: JJUG CCC 2019
Shaun Smith
 
PPTX
JavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaDayUA
 
PDF
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
JavaFX on Mobile (by Johan Vos)
Stephen Chin
 
Java keynote preso
Artur Alves
 
JavaFX: A Rich Internet Application (RIA) Development Platform
Praveen Srivastava
 
JavaOne 2010 Keynote
Tomoyuki Tatsuno
 
JavaFX 2 Rich Desktop Platform
Rajmahendra Hegde
 
Complete Solution for JavaFX Development - NexSoftSys
NexSoftsys
 
Java fx
Apsara G
 
What is java fx?
kanchanmahajan23
 
Introduction To JavaFX 2.0
Boulder Java User's Group
 
Android java fx-jme@jug-lugano
Fabrizio Giudici
 
JavaFX - Next Generation Java UI
Yoav Aharoni
 
LUGOD Raspberry Pi Hacking
Stephen Chin
 
The Brainify App - JavaFx
Mohd Shamweel
 
Java 8 Launch Event - Past, Present and Future of Java and Java 8 key themes
Lucas Jellema
 
Java8 launch at AMIS Services / First8
Getting value from IoT, Integration and Data Analytics
 
What is java fx?
kanchanmahajan23
 
OpenJFX on Android and Devices
Stephen Chin
 
Serverless Java: JJUG CCC 2019
Shaun Smith
 
JavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaDayUA
 
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
Ad

More from Stephen Chin (20)

PPTX
DevOps Tools for Java Developers v2
Stephen Chin
 
PPTX
10 Ways Everyone Can Support the Java Community
Stephen Chin
 
PPTX
DevOps Tools for Java Developers
Stephen Chin
 
PPTX
RetroPi Handheld Raspberry Pi Gaming Console
Stephen Chin
 
PPTX
Confessions of a Former Agile Methodologist (JFrog Edition)
Stephen Chin
 
PPTX
Devoxx4Kids Lego Workshop
Stephen Chin
 
PPTX
Raspberry Pi with Java (JJUG)
Stephen Chin
 
PPTX
Confessions of a Former Agile Methodologist
Stephen Chin
 
PPTX
Internet of Things Magic Show
Stephen Chin
 
PPTX
Zombie Time - JSR 310 for the Undead
Stephen Chin
 
PPTX
JCrete Embedded Java Workshop
Stephen Chin
 
PPTX
Oracle IoT Kids Workshop
Stephen Chin
 
PPTX
Java on Raspberry Pi Lab
Stephen Chin
 
PDF
Java 8 for Tablets, Pis, and Legos
Stephen Chin
 
PDF
DukeScript
Stephen Chin
 
PPTX
Devoxx4Kids NAO Workshop
Stephen Chin
 
PPTX
Raspberry Pi Gaming 4 Kids (Devoxx4Kids)
Stephen Chin
 
PDF
Raspberry Pi Gaming 4 Kids - Dutch Version
Stephen Chin
 
PPTX
Raspberry pi gaming 4 kids
Stephen Chin
 
PDF
Mary Had a Little λ (QCon)
Stephen Chin
 
DevOps Tools for Java Developers v2
Stephen Chin
 
10 Ways Everyone Can Support the Java Community
Stephen Chin
 
DevOps Tools for Java Developers
Stephen Chin
 
RetroPi Handheld Raspberry Pi Gaming Console
Stephen Chin
 
Confessions of a Former Agile Methodologist (JFrog Edition)
Stephen Chin
 
Devoxx4Kids Lego Workshop
Stephen Chin
 
Raspberry Pi with Java (JJUG)
Stephen Chin
 
Confessions of a Former Agile Methodologist
Stephen Chin
 
Internet of Things Magic Show
Stephen Chin
 
Zombie Time - JSR 310 for the Undead
Stephen Chin
 
JCrete Embedded Java Workshop
Stephen Chin
 
Oracle IoT Kids Workshop
Stephen Chin
 
Java on Raspberry Pi Lab
Stephen Chin
 
Java 8 for Tablets, Pis, and Legos
Stephen Chin
 
DukeScript
Stephen Chin
 
Devoxx4Kids NAO Workshop
Stephen Chin
 
Raspberry Pi Gaming 4 Kids (Devoxx4Kids)
Stephen Chin
 
Raspberry Pi Gaming 4 Kids - Dutch Version
Stephen Chin
 
Raspberry pi gaming 4 kids
Stephen Chin
 
Mary Had a Little λ (QCon)
Stephen Chin
 
Ad

Recently uploaded (20)

PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 

Java Clients and JavaFX - Presented to LJC

Editor's Notes

  • #16: In JavaFX 3D there are three predefined shapes (Box, Cylinder, and Sphere). You can also create your own user-defined shapes, which consist of a mesh of triangles and a MeshView to be able to view the TriangleMesh.
  • #17: A technique known as UV mapping is used to map a 2D image onto a 3D shape.
  • #18: Now that we’ve explored the first feature in JavaFX 3D (mesh geometry), we’ll take a look at other two features mentioned earlier (cameras and lighting). Note to presenter: This demo may be seen by running the FX8-3DAPI project.