This session is for professionals building Java applications for desktop, mobile, and embedded devices in the Cloud age. It will help you to build enhanced visual experiences and to deploy modern, easy to maintain, client applications across a variety of platforms. These applications can take advantage of the latest user interface components, 3D technology, and cloud services to create immersive visualizations and allow high-value data manipulation. Learn how to leverage the latest open-source Java client technologies to build rich, responsive, and modern UIs from the authors of the definitive Java Client reference.
Axa Assurance Maroc - Insurer Innovation Award 2024
Modern Java Clients with JavaFX: The Definitive Guide
1. JAVA CLIENTS AND
JAVAFX
THE DEFINITIVE GUIDE
Stephen Chin
JFrog Developer Relations
Presentation Prepared with Help From:
José Pereda @JPeredaDnr
Gluon Mobile Java@steveonjava
2. @steveonjava
https://jfrog.com/shownotes/
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
18. @steveonjava
https://jfrog.com/shownotes/
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
21. @steveonjava
https://jfrog.com/shownotes/
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
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.
A technique known as UV mapping is used to map a 2D image onto a 3D shape.
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.