JavaFX program in Eclipse (Live Demo)

JavaFX Technology Overview

JavaFX is a family of products for creating rich internet applications (RIA) with immersive media and content, across all the screens of your life. Announced at Java One 2008, it includes a runtime and a tools suite that web scripters, designers and developers can use to quickly build and deliver the next generation of rich interactive applications for desktop, mobile devices, TV, and other platforms. It delivers rich client capability across a wide range of devices and screens as well as unlimited creative expression and accuracy in RIA designs.

The JavaFX family of products consists of the JavaFX Runtime, the JavaFX Tools Suite, and applications powered by JavaFX technology:

JavaFX Runtime delivers rich client capability across a wide range of devices. Examples of JavaFX Runtime are:
* JavaFX Desktop for desktop browsers and desktop applications (available fall 2008)
* JavaFX Mobile (available spring 2009) in the first rollout will deliver the JavaFX rich client runtime on the existing existing platforms that our partners are shipping today. Over time we will deliver additional products.
* JavaFX TV will be for applications that run on the TV platform (available summer 2009)
* Other platforms in the future

JavaFX Tools Suite empowers Web scripters, visual designers, and developers with the freedom to create expressive content, applications, and connected services for consumers of RIA across devices or screens
* JavaFX Development Tools include a plug-in for NetBeans and, in the future, for Eclipse and other IDEs
* JavaFX Designer Authoring Tools:
* JavaFX Media Converter (summer 2008): Tool to export rich media content directly into JavaFX
* JavaFX Designer Authoring Tool (available spring 2009): Tool for visual designers.

JavaFX Suite of Applications: The JavaFX business unit will leverage the capabilities of JavaFX to deliver a suite of content and applications starting in 2009.

JavaFX is a different technology, product and brand than the Java platform. JavaFX is not dependent on any particular JVM or runtime environment, and JavaFX is not built using the JVM specifications. JavaFX leverages the appropriate runtime for each platform - on the desktop it leverages the JRE and is co-bundled with it, while on mobile it leverages the Java ME runtime, and similarly it can run on top of other VMs.

JavaFX Tools Suite Makes Development Easier

Sun recognizes that the communities creating compelling content, applications, and services consist of a wide range of individuals with different skill sets who require specific sets of tools to fit their needs:

Visual designers need visual and graphical tools to create compelling graphics, media, prototypes and rich client applications without requiring any complex scripting or programming. They currently use Adobe Photoshop, Illustrator, and other visual tools. JavaFX designer will deliver a visual authoring tool to this community.

Web Scripters who are currently using HTML, DHTML, CSS, JavaScript, ActionScript, MXML or XAML are looking for familiar and highly productive scripting environments. JavaFX Script is designed to provide an easy-to-learn scripting language to this audience, and the JavaFX runtime is architected to allow the support of additional scripting environments that this community may already be using.

Programmers using Java programming language and other programming languages have a need to work with their scripting and designer colleagues to deliver compelling end-to-end rich interfaces for enterprise applications as well as provide the back-end for RIA content, applications and services. The JavaFX plug-in for NetBeans and JavaFX Media Converter are designed to facilitate this interaction.

Advantages of JavaFX

There are a large number of RIA requirements that remain unmet by any RIA platform, and Sun is uniquely positioned to address these challenges. JavaFX will be provide a number of unprecedented advantages:

Built on Java. JavaFX is not starting from scratch; it is built on the Java platform (Java SE and Java ME) and leverages the power and capabilities of the Java platform. It also extends the Java platform to deliver on the original promise of client-side Java. For example, Java ME has been distributed to 3 billion devices, far exceeding the distribution of Adobe Flash Lite, and JavaFX Mobile will deliver rich client capabilities on top of the Java ME platform.

Across Devices and Screens. JavaFX applications will run across multiple devices or screens - browser, mobile, TV, etc.

Reach and Distribution. Sun will leverage its unrivaled reach to distribute the JavaFX runtime across all devices and screens.

Open Source. Many components of its platform are already available in open source, Sun will announce its open source plans with the release of version 1.0.

Browser and Desktop Deployment. JavaFX will provide support for browser-based RIA applications as well as the powerful capability of deploying the same unmodified application on the desktop. JavaFX designers and developers will have the option to take full advantage of JavaĆ¢€™s capabilities, including access to file system, security model, and caching.

Competing platforms are just beginning to provide early SDKs that provide relatively rudimentary capabilities for building browser and desktop resident applications.

Designer, Developer Workflow. Current rich client platforms have been struggling to extend beyond their animation heritage to appeal to developers. There is still a distinct need to close the gap between a designer's vision and a programmer's skills with an easy-to-use, visually accurate, high-performance suite of tools. The market is not nearly satisfied.

Java has more than 8 million developers who provide the infrastructure that powers most businesses and the backend of most large Web applications. JavaFX tools suite will empower designers to better collaborate with these developers while working within the Java platform. At JavaOne 2008, Sun will demonstrate this capability with JavaFX Media Converter.

The JavaFX Script (or JavaFX language) is a declarative scripting language. The JavaFX allows for easy creation of graphical user interfaces and enables developers to create rich media applications for deployment on Java environments. In this screencast, we use the Eclipse IDE 3.2.2 to create simple JavaFX application.

You can get your first JavaFX application up and running in Eclipse SDK easily by following these steps:
1. Extend Eclipse with JavaFX plugin (01:30):

2. Write you first JavaFX program (01:29):

3. Run JavaFX application (00:59):