Sessions

Keynote / Real World Applications / Show & Tell

Dirk Lemmermann, DLSC,

JavaFX applications are being used in many different domains by many small and large companies. However, most people never get to see these applications as they are being developed and used behind closed company doors. In the keynote we will present several "real world" applications. The "show and tell" section will give attendees the opportunity to also show the cool stuff that they have been working on. 

The JavaFX Roadmap

Johan Vos, Gluon, Wolfgang Weigend, Oracle

About a year ago, JavaFX 11 was released. This was the first release after JavaFX has been decoupled from the core JDK. Since the decoupling was announced, developers from Oracle, Gluon and other companies worked together to ensure that the JavaFX platform was modularized, and that JavaFX developers could use the JavaFX API's in the same way they use other API's. As part of the decoupling, a mirror on github has been created for making the development of OpenJFX easier and more transparent to developers that are used to modern development systems. After that work was done, focus turned again to new functionalities and improvements. The development of JavaFX is mainly driven by its contributors and their customers. 

 

In this session:

  • we look at the most important new feature in JavaFX 13: native rendering support

  • we look into the new features that are being developed as part of JavaFX 14 and beyond, including support for Metal

  • we explain the new packaging mechanisms, including jpackage and GraalVM support

  • we focus on the WORA aspects of JavaFX. Increasingly, more platforms are supported, including desktop, mobile and embedded.

From GitHub Source to GitHub Release: Free CI/CD Pipelines for JavaFX Apps

Bruno Borges, Microsoft

 

Streamline the building, testing, packaging, and release of your desktop JavaFX applications for all major platforms with simple to use CI/CD Pipelines and GitHub. This session will cover the details of combining GitHub for hosting source code and binaries for Mac OS, Windows and Linux of your application, and how to take advantage of Azure Pipelines plan for Open Source projects. We will learn about using a Maven archetype and a Gradle starter project for JavaFX apps, both ready for CI/CD and how they are configured. Join this talk and get ready to streamline your desktop apps just like your microservices.

NativeFX

Michael Hoffer, https://mihosoft.eu

 

NativeFX brings the power of JavaFX to the next level. It provides access to any native visualization library or app that can render to a shared memory buffer. This enables the integration of WebGL/OpenGL, Vulkan, Qt and more to the scene graph. We will showcase WebGL and Qt in this presentation. Since NativeFX uses multiple processes, native code can't crash the JVM. These are essential features for many industrial and scientific applications that rely on a specific visualization technology that can't be easily ported to JavaFX. You get the reliability of the Java platform and the power of native rendering technologies. In this presentation you will learn how to use NativeFX for your own projects. Additionally, we will discuss how you can create your own native renderer.

JavaFX Testing

Sergey Grinev, Azul Systems, Inc.

Once you've built a beautiful and reliable JavaFX application you'll want to keep it this way. To address that in this session we'll talk about automated testing of JavaFX UI application. We'll identify main challenges and look at best practices of the JavaFX UI testing and review frameworks which can help with test automation of JavaFX apps: JemmyFX used by Oracle to test JavaFX platform itself, another OpenSource one TestFX, and commercial framework TestComplete.

JavaFX on Mobile - A Big Update!

Johan Vos, Gluon

 

Since we launched the JavaFXPorts initiative, it has been possible for JavaFX developers to deploy their applications on Android and iOS devices. While there are great apps out there created this way, the limits imposed by Apple and Google have been challenging. As a consequence, the mobile ports always were a few versions behind the desktop releases, and not all of the latest Java functionality was supported. With the new GraalVM, and especially the native-image functionality that is part of it, you can now create JavaFX apps with the very latest JDK release (13) and the very latest JavaFX release (13). Another benefit of GraalVM is the excellent AOT compiler, resulting in much faster startup. In this session, we'll show how GraalVM is changing the Java landscape in general, and we focus on the consequences for mobile/embedded.

​​

JavaFX in the Browser: JPRO

Florian Kirmaier (Sandec, JPro One)

This session will show how to develop and deploy with JPro, which enables Java programs to run in standard web browsers without a plugin.  By taking a deeper look into some real-world applications, the audience will learn how Java can be used for cross platform development, to write applications for not only desktops, but also for mobile devices and web browsers.  The audience will learn how a typical web page can be created with pure Java.  And the code for the web page runs not only in browsers, but also as native apps (desktops, iOS or Android).  A new portal, a web-based JavaFX ensemble, will be announced and presented, which already consolidates a number of prominent JavaFX libraries, such as ControlsFX and JFoenix and can hopefully serve as a common API Portal for many more libraries in time to come.  Attendees will also learn how to let Java code interoperate with currently popular web technologies such as Angular and React.

Java Desktop 2019

Hendrik Ebbers, Karakun


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.