

On the Mac, the future of JavaFX application installations will be a drag and a drop.

Source: Oracle Oracle says it intends to enable the next version of its JavaFX Rich Internet Application (RIA) technology to be natively packaged for various platforms. The process will be enabled by an application which can package exe and msi (for Windows), dmg (for Mac OS X) and rpm and zip (for Linux systems).

The system works by creating a wrapper around the JavaFX application; this includes the application code and resources, private copies of Java and Java FX runtimes, an appropriate native application launcher and any required metadata. The wrapper is created by the javafxpackager utility which, by default, tries to build native packages from the application it has been given. Some native installation packages will require third party packages to be installed, and available, to allow package creation.

The native installation packages also have to be created on each target platform; so, developers wishing to create cross-platform packaging would need to run the packager on Windows, Mac OS X and Linux. The other disadvantages include an increase in package size as the Java runtime is now included and the transfer of responsibility to the developer of keeping that Java runtime up to date. On the plus side, the native packaging will allow installation on systems without administrator's rights and users will not have to worry about compatibility between the application and run time. The application will also appear to run under its own name and not as yet another "java.exe" process.

The support is already built into the developer preview of Java 7 Update 6 build 14, or later. There are no plans to deprecate any of the other mechanisms available for deploying Java applications. The JavaFX team is also hoping that the native packaging technology will be available for future Java SE applications built with Swing or AWT to offer a complete alternative deployment system. Oracle is in the process of open sourcing JavaFX for future Java SE versions.

(djwm)