Frequently Asked Questions

What is the JavaFX Preview SDK?

JavaFX Preview SDK is a preview release of the JavaFX platform. This release is aimed at web scripters and early adopters who want to familiarize themselves with the JavaFX technologies and tools. The SDK also includes Project Nile, a suite of tools and plugins, to enable scripters to incorporate and manipulate graphical assets from design tools like Adobe® Photoshop® CS3 and Adobe® Illustrator® CS3.

Why is Sun Microsystems releasing the JavaFX Preview SDK?

At JavaOne 2008, Sun Microsystems announced the following roadmap for JavaFX:

Who can use the JavaFX Preview SDK?

JavaFX Preview SDK release is recommended for use by early adopters to get familiar with the JavaFX technology. It is not recommended for developing commercial applications at this time as the contents of the JavaFX platform are subject to change, based on internal development schedules and customer feedback.

What is the licensing and pricing for the JavaFX Preview SDK?

The JavaFX Preview SDK is free for download. It is released under a 60 day evaluation license.

Why is the JavaFX Preview SDK provided under a temporary 60 day license agreement? Will I have to pay for the SDK after the 60 days are up?

We are providing the JavaFX Preview SDK under a limited use Technology Evaluation License (TEL) as it still remains under active development. As we move forward with our development process, we want to make sure developers are using the latest releases available. After the 60 day Evaluation Period has expired under the TEL and once version 1.0 has been made available, you will be able to use version 1.0 of the JavaFX SDK for free, without payment of a fee, unless otherwise indicated in the applicable license.

What does the JavaFX Preview SDK provide?

The JavaFX Preview release consists of the the following components:

What platforms does the JavaFX Preview SDK support?

The JavaFX Preview SDK can be used to design stand-alone and browser-based desktop applications. While Mobile and TV platforms are not supported in the JavaFX Preview SDK, you can begin prototyping applications on the desktop by writing to the JavaFX Common APIs.

Which version of Java do I need for the JavaFX Preview SDK?

JavaFX Preview SDK requires the latest Java SE 6. The recommended version for JavaFX is Java SE 6 Update 10 Beta, which can be downloaded here.

What are the key differentiators of the JavaFX Preview SDK?

Author rich internet applications: JavaFX is a unique solution from Sun that enables web scripters, designers, and programmers to create rich, immersive applications that leverage the ubiquity, security model and rich application development environment that characterize the Java platform. JavaFX provides the means for content authors to develop applications providing a consistent user experience across desktop, mobile, TV, and other consumer devices which currently support the Java platform.

Break free from the browser: With Java SE 6 Update 10, currently in beta release, the new Java Plug-in includes a draggable feature for applets. This feature allows users to bring together their browser and desktop experience.This feature increases flexibility in application deployment and takes advantage of Java Web Start technology to simplify deploying JavaFX applications.

Designer-Developer workflow: JavaFX bridges the gap between visual designers and application developers, with a suite of tools that let them collaborate more efficiently on joint projects. As part of Project Nile, Sun is providing a set of Adobe PhotoShop and Adobe Illustrator plug-ins that allow graphics assets to be easily exported JavaFX applications. Leverage your Java investment: JavaFX is built on the Java platform and leverages the power and capabilities of the Java platform on million of PCs, mobile devices, and other consumer electronics. JavaFX will enable more than 8 million Java developers to partner with web scripters and visual designers without having to learn an entirely different platform or visual markup language or complex timeline-based authoring tools.

Simple, declarative language for creative minds: A key element of JavaFX is JavaFX Script, a scripting language designed for web scripters and designers who like to program in a visual context. It is a simple, declarative language that is easy to learn and allows content authors to write in a format that closely matches the layout of graphical user interfaces. On the other hand, JavaFX Script is a fully object-oriented language, complete with method and attributes, that allows expert programmers build highly complex and robust interfaces.

How is JavaFX different from AJAX?

JavaFX is a full rich client platform and not just a browser specific scripting environment. The platform has been architected to create applications that can run across multiple screens- browser/desktop, mobile, TV and other emerging screens.

JavaFX allows web scripters to easily add geometric shapes and primitives to applications and enhance them with compelling effects such as alpha blending, filters, and gradient fills. They can easily add transformation effects such as rotation, shear, scale and translation, and add motion with keyframe animation and tweening.

Furthemore, JavaFX leverages the ubiquity, security model and rich application development environment that characterize the Java platform, allowing different categories of content authors to use the development environments they are familiar with.

How is JavaFX different from other rich client platforms?

The JavaFX platfrom has been architected to create applications that can run across multiple screens- browser/desktop, mobile, TV and other emerging screens. Web scripters have the choice to optimize their applications to take advantage of platform specific features. For instance, JavaFX provides the ability to provide deep integration with APIs in Java ME.

With JavaFX web scripters can create both browser-resident and desktop applications using one integrated environment, rather than being forced to learn multiple development models.

With Java SE 6 Update 10, currently in beta, the new Java Plug-in allows users the ability to drag and drop JavaFX applications from the browser window to the desktop and save the JavaFX application as a re-launchable desktop application. This feature increases flexibility in application deployment and takes advantage of Java Web Start technology to simplify deploying JavaFX applications.

JavaFX leverages the ubiquity, power and security model that characterize the Java platform. Furthermore, JavaFX applications can leverage the power of Java by easily including any Java library within a JavaFX application to add advanced capabilities. This way application developers leverage their investments in Java.

A key element of the JavaFX platform is JavaFX Script, a scripting language designed for web scripters and designers who like to program in a visual context. It is a simple, declarative scripting language that is easy to learn and allows content authors to write in a format that closely matches the layout of graphical user interfaces.

What are Sun's plans to open source JavaFX?

Sun is committed to open source as part of its business model. Key elements of JavaFX are in open source today, and provide customers and partners the proven benefits and security of vendor independence and lower total cost of ownership.

The JavaFX compiler, parts of the graphics libraries and tools are available now from the OpenJFX web site, under the GPL 2.0 open source license.

The JavaFX compiler and JavaFX tools will continue to be developed in the open and the current JavaFX Preview SDK libraries will remain on OpenJFX.com. Sun is committed to delivering enhancements to the JavaFX platform and to this end will continue internal development and reconcile key elements with the open source builds, with future releases of the JavaFX platform.

What is JavaFX Script?

JavaFX Script is a highly productive scripting language that provides the optimal balance of expressing a rich, expressive graphical interfaces and binding to different data sources to create compelling mash-up applications. JavaFX Script is designed for web scripters and content authors who like to program in a visual context. It is a simple, declarative scripting language that is easy to learn and allows content authors to write in a format that closely matches the layout of graphical user interfaces. The language is fully object-oriented, complete with method and attributes thus allowing expert programmers to build highly complex and robust interfaces.

Why did Sun Microsystems create a completely new language?

The JavaFX platform is architected to support multiple scripting languages, and based on customer demand, can be extended to support ECMA based languages as well as XML based visual markup languages.

JavaFX Script is designed for web scripters and content authors who like to program in a visual context. It is easy to learn and provides a simple, declarative syntax that will appeal to web scripters. JavaFX brings together 2D vector graphics, animation, rich text, audio, and video to quickly allow developers to create rich, immersive applications. The Java programming language, on the other hand, is more suited for applications that are heavy in logic and require extensive back-end integration.

JavaFX also enables a highly efficient designer/developer workflow. Hence JavaFX extends the power of Java by providing your Java applications with a more powerful and expressive presentation layer.

I currently build applications in Java. Can I reuse my Java libraries in JavaFX Script?

Yes. You can leverage the power of Java by using any Java library within a JavaFX application. This way you can preserve your investment in Java and use JavaFX to build engaging visual experiences.

The proven security model of Java can be leveraged to securely deploy JavaFX applications and access system resources such as file system and system devices. And because JavaFX applications are compiled to Java byte-code, they take advantage of the dynamic Java HotSpot Virtual Machine to get the best possible performance.

More information here.

I program in JavaScript and ActionScript. But I don't know Java. Can I still learn JavaFX Script?

Yes. JavaFX Script is easy to learn and the syntax is simple and declarative. For resources on learning JavaFX Script click here.

What are the advantages of JavaFX Script over JavaScript and ActionScript?

JavaFX Script is a scripting environment that is better suited than JavaScript or ActionScript to take advantage of Java's ubiquity on the desktop, mobile devices, and other consumer electronics. With JavaFX Script these scripters can provide deep integrated with the Java Runtime environment by integrating specific Java Libraries.

ActionScript is limited to the Flash Development model and deeply tied to the Flash Player, while JavaFX Script is primarily designed for web scripters and content authors who like to program in a visual context. At the same time, the language is fully object-oriented, complete with method and attributes, and thus allows expert programmers build highly complex and robust interfaces.

Is the mobile runtime supported by the JavaFX Preview SDK?

This support will be available in Spring 2009.

Where can I find API documentation for JavaFX?

Click here for API documentation.

What Desktop Operating Systems are support by the JavaFX SDK Preview Release?

The JavaFX Preview SDK currently supports use on Windows and Mac OSX desktops running Java SE 6. JavaFX applications produced by this SDK may run on other desktop environments, but these are not officially supported at this time. We will continue to evaluate additional operating system platform support as we move towards our 1.0 release and beyond.

What audio and video formats are currently supported in JavaFX?

For the preview release, JavaFX Preview SDK provides native media support on the Windows platform only. Future releases will support native codecs on Mac OS X, as well as a set of cross-platform codecs. For this release, Java FX utilizes the Windows DirectShow library, and while Java FX should play all formats that DirectShow supports, the following have explicitly been tested: