SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Some years ago development of Java Desktop applications was easy: We just downloaded Java 8 from Oracle and got a set of useful tools and framework to develop Java desktop applications:
AWT & Swing
WebStart
JavaFX
JFX Packager
If you now download a Java version from Oracle (or any other vendor) several of the mentioned tools and frameworks are gone. Some JDKs only contain AWT & Swing for desktop development and miss all the newer tools. But even if they include such tools or frameworks you have sometimes no idea about their state.
In this session I will give an overview about the differences between JDKs that you can use today and how frameworks like JavaFX are really supported by the vendors. Next to this we will have a look at all the tools that are important for building and installing desktop development. Since some like WebStart are gone you can find quite good alternatives.
Some years ago development of Java Desktop applications was easy: We just downloaded Java 8 from Oracle and got a set of useful tools and framework to develop Java desktop applications:
AWT & Swing
WebStart
JavaFX
JFX Packager
If you now download a Java version from Oracle (or any other vendor) several of the mentioned tools and frameworks are gone. Some JDKs only contain AWT & Swing for desktop development and miss all the newer tools. But even if they include such tools or frameworks you have sometimes no idea about their state.
In this session I will give an overview about the differences between JDKs that you can use today and how frameworks like JavaFX are really supported by the vendors. Next to this we will have a look at all the tools that are important for building and installing desktop development. Since some like WebStart are gone you can find quite good alternatives.
3.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
About me
• Karakun Co-Founder
• Founder of JUG Dortmund
• JSR EG member
• JavaOne Rockstar, Java Champion
• AdoptOpenJDK TSC member
4.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
About me
31.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Oracle Java Desktop Roadmap
• Oracle announced a roadmap for Java on desktop
last year (in March 2018)
https://bit.ly/2JiwELG
32.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Oracle Java Desktop Roadmap
"The application development market has shifted dramatically
over the past decade…
To address these requirements, Oracle proposed to shift Java
to a strict time-based release model, …
These changes create an opportunity to simplify and focus the
client roadmap going forward."
35.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Oracle Java Desktop Roadmap
"The application development market has shifted dramatically
over the past decade…
To address these requirements, Oracle proposed to shift Java
to a strict time-based release model, …
These changes create an opportunity to simplify and focus the
client roadmap going forward."
36.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Oracle Java Desktop Roadmap
"Swing and AWT will continue to be supported on
Java SE 8 through at least March 2025, and on Java
SE 11 (18.9 LTS) through at least September 2026."
37.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Oracle Java Desktop Roadmap
"Oracle will continue to commercially support Java
Web Start on Java SE 8 for commercial use, or when
used in conjunction with Oracle products that have a
Web Start dependency, through at least March 2025"
38.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Oracle Java Desktop Roadmap
"JavaFX new fixes will continue to be supported on
Java SE 8 through March 2022 and removed from
Java SE 11."
39.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Oracle Java Desktop Roadmap
• Swing will be supported in future (commercial)
Java 8 and 11 updates
• We have no idea what will happen to Swing in
future Java LTS versions
40.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Oracle Java Desktop Roadmap
• WebStart will be supported in future (commercial)
Java 8 updates
• WebStart is removed in Java 11
41.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Oracle Java Desktop Roadmap
• JavaFX will be supported in future commercial Java
8 updates
• JavaFX is removed in Java 11
42.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Oracle Java Desktop Roadmap
"Oracle has begun conversations with interested
parties in the Java ecosystem on the stewardship of
JavaFX, Swing and AWT beyond the above
referenced timeframes."
43.
@HendrikEbbers
Java is not "only Oracle"
anymore
46.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Swing & AWT
• Swing and AWT won't used for new projects
anymore
• Stable APIs and no new features needed
47.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Swing & AWT
• But: the private API will change from time to time
• Replace native rendering engine based on os
changes
• Toolkits need support in future
• Who will do that???
51.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Webstart History
2000
JSR 56
Approval
2002
WebStart is
shipped with
Java 1.4
52.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Webstart History
2000
JSR 56
Approval
2002
WebStart is
shipped with
Java 1.4
2016
Development
of Java 9
started
53.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
History
54.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
History
"Developers of applications that rely on the Java browser plugin
need to consider alternative options such as migrating from Java Applets
(which rely on a browser plugin) to the plugin-free Java Web Start technology."
Oracle, 2016
55.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Webstart History
2000
JSR 56
Approval
2002
WebStart is
shipped with
Java 1.4
2016
Development
of Java 9
started
"Migrate to
WebStart"
56.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Webstart History
2000
JSR 56
Approval
2002
WebStart is
shipped with
Java 1.4
2016
Development
of Java 9
started
"Migrate to
WebStart"
Spring
2018
WebStart will
be removed
in future
57.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Webstart History
2000
JSR 56
Approval
2002
WebStart is
shipped with
Java 1.4
2016
Development
of Java 9
started
"Migrate to
WebStart"
Spring
2018
Autumn
2018
WebStart will
be removed
in future
58.
@HendrikEbbers
Java is open source!
I don't care
69.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
jpackage
• Build native executables for your application
• Supports jlink
• You can use it today (with hacks)
• Beta in Java 14 & 15
73.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX today
• You can use JavaFX today without any problems
74.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX today
• You can use JavaFX today without any problems
• Since it is "just software" bugs will pop up over
time
75.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX today
• You can use JavaFX today without any problems
• Since it is "just software" bugs will pop up over
time
• … and security issues
76.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX today
• You can use JavaFX today without any problems
• Since it is "just software" bugs will pop up over
time
• … and security issues
• … and private API / native code must be changed
77.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX today
• Such issues must be targeted in future and LTS
versions
• Currently companies provides LTS support for
JavaFX 8 and 11
78.
@HendrikEbbers
What version of
JavaFX are you
using?
79.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX support - Azul
https://docs.azul.com/zulu/zulurelnotes/ZuluReleaseNotes/CVE_Fixes_November19.htm
80.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX support - Oracle
https://bugs.openjdk.java.net/
81.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX support - Gluon
https://github.com/openjdk/jfx/blob/master/doc-files/release-notes-11.md
82.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX support - Bellsoft
https://bell-sw.com/pages/liberica-release-notes-11.0.5/
83.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX 8 Issues
JDK-8215702
JDK-8215799
JDK-8213806
JDK-8218611
JDK-8217942
JDK-8207772
SVG gradients are not rendered
Complex text is not rendered by webkit on Windows
WebView - JVM crashes for given HTML
fast/xslt tests fails with "Unsupported encoding windows-1251" error
Upgrade to libxslt 1.1.33
File API and FileReader should be supported in WebView
85.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX 8 @ AdoptOpenJDK
• We got often asked why we do not add JavaFX to
the Java 8 binaries
• We only want to provide secure / up-to-date
binaries
• There is not open source JavaFX 8 development
87.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX 11+
• When using Java(FX) 11+ you should add JavaFX as
a dependency
• Using a JVM with integrated JavaFX is not the
preferred solution
88.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX 11+
• Maybe Oracle is only interested in JavaFX until the
LTS support of Java 8 ends
• Today Oracle needs to contribute to JavaFX (based
on the commercial support for Java 8)
93.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX 14+
• There is a good chance that JavaFX 14 will run with
Java 11
• No one knows if JavaFX 15 will still be compatible
94.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX 14+
• If you want to stay on Java 11 you will need to pay
in future
95.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX 14+
• If you want to stay on Java 11 you will need to pay
in future
• … or build JavaFX 11 on your own
96.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX 14+
• If you want to stay on Java 11 you will need to pay
in future
• … or build JavaFX 11 on your own
• … or stay on an old version
97.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX 14+
• If you want to stay on Java 11 you will need to pay
in future
• … or build JavaFX 11 on your own
• … or stay on an old version
• … or do a fork
98.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX 14+
• If you want to stay on Java 11 you will need to pay
in future
• … or build JavaFX 11 on your own
• … or stay on an old version
• … or do a fork
100.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
JavaFX 14+
• Best: buy commercial support today
• … no downgrade from JavaFX 14 to 11 needed in
future
• … your money will help to fix issues today
101.
@HendrikEbbers
If companies do not care
JavaFX will go away!
103.
Karakun DevHub_
@HendrikEbbersdev.karakun.com
Homework
• Is my company interested in the future of JavaFX?
• Is my company interested in the future of Java
Desktop?