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.
At JavaOne 2008, Sun Microsystems announced the following roadmap for JavaFX:
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.
The JavaFX Preview SDK is free for download. It is released under a 60 day evaluation license.
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.
The JavaFX Preview release consists of the the following components:
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.
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.
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.
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.
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.
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.
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.
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.
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.
Yes. JavaFX Script is easy to learn and the syntax is simple and declarative. For resources on learning JavaFX Script click here.
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.
This support will be available in Spring 2009.
Click here for API documentation.
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.
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:
Yes, a future release of JavaFX will add support for video codecs that will provide cross-platform media support across desktop, mobile and other platforms.
JavaFX content can be deployed either as applications via Java Web Start or as applets via the Java Plug-In. The JavaFX runtime will be hosted as a set of extension JNLPs that the developer points to in the application's or applet's JNLP file. This allows the JavaFX runtime to be shared across all applications and provides a dynamic upgrade strategy for the JavaFX runtime.
While it's easy to write your application in JavaFX and call into Java where necessary, the inverse - writing a Java application that calls into JavaFX for the user interface - is not yet true. We expect this to be addressed in the near future.
Java networking primitives can be accessed from JavaFX applications. A web services component integrated with JavaFX will be available in the future.
Since JavaFX is designed to serve as a general development framework and language for both rich web and desktop applications, the possibilities are endless. As a web component, it can co-exist and share with other technologies within your web experience. As a desktop application, it can integrate with your rich desktop experience. Obviously mileage may vary depending on how relaxed or strict you wish to apply security in terms of your sandbox
When we initially announced JavaFX back in 2007 we were very early in our development cycle. We essentially began with Chris Oliver's F3 scripting language that was essentially an interpreted language on top of the JVM. Since then, we've evolved JavaFX into a comprehensive platform for cross-device RIA applications and services. In doing so we built some underlying plumbing into Java SE 6 Update 10 to add key functionality such as the ability to drag and drop applets from the browser to the desktop as well as built a JavaFX compiler from the ground up to take the JavaFX Script and turn it into JVM bytecode. We've also built out plug-ins for NetBeans as well as Project Nile to allow you to incorporate and manipulate graphical assets from popular design tools like Illustrator and Photoshop directly from within JavaFX. We've also been working with our Operator and OEM customers to understand their functionality needs and have been working to build that into JavaFX Mobile.
We are moving in that direction. With future updates of JavaFX this site will be updated as well to include more content written in JavaFX.