Search This Blog

Loading...

Tuesday, March 27, 2012

JavaFX: Why JavaFX 2.0? Develop Hardware-Accelerated RIA using JAVA.

Why Use JavaFX?


JavaFX provides a powerful Java-based UI platform capable of handling large-scale data-driven business applications.
JavaFX applications are completely developed in Java, one of the most widely deployed technologies with one of the largest developer communities in the world, while leveraging the power of standards-based programming practices and design patterns.

JavaFX provides a rich set of UI controls, graphics and media API with high-performance hardware-accelerated graphics and media engines to simplify development of immersive visual applications.

JavaFX 2.0 is Java’s next generation graphical user interface (GUI) toolkit for developers to rapidly build rich cross-platform applications. Built from the ground up, JavaFX takes advantage of modern GPUs through hardware-accelerated graphics while providing well-designed programming interfaces enabling developers to combine graphics, animation, and UI controls. The new JavaFX 2.0 is a pure Java language application programming interface (API).

The key architectural strategies provided by JavaFX 2.0 API are the reuse of existing Java libraries and the bridging of communication between other languages that run on the JVM (Visage, Jython, Groovy, JRuby, and Scala).

Nandini Ramani of Oracle plainly states the intended direction of JavaFX the platform in the following excerpt from the screen-cast, Introducing JavaFX 2.0:
The industry is moving toward multi-core/multi-threading [type] platforms with GPUs. JavaFX 2.0 leverages these attributes to improve execution efficiency and UI design flexibility. Our initial goal is to give architects and developers of enterprise applications a set of tools and APIs to help them build better data driven business applications.
— Nandini Ramani - Oracle Corp, VP of Development, Java Client Platform.

Table of features and benefits:

Features Benefits
  • Java APIs for JavaFX. JavaFX 2.0 applications are completely developed in Java
  • Developers can use their favorite Java development tools
  • Leverage thousands of existing Java libraries
  • Developers can use popular JVM-based scripting languages, such as Groovy, JRuby and Scala
  • FXML, a scriptable, XML-based markup language for defining user interfaces.
  • Develop and maintain complex user interfaces easily
  • Web rendering engine
  • Seamlessly mix and match native Java capabilities and the dynamic capabilities of web technologies in your applications
  • Seamless integration into Swing applications
  • Existing Swing applications can be updated easily with new JavaFX features, such as rich graphics API, media playback, and embedded Web content
  • High-performance hardware accelerated graphics pipeline
  • JavaFX applications featuring data visualizations and complex user interfaces can leverage modern graphics cards for optimal performance
  • High-performance media engine
  • Playback video and audio content in popular formats within your application
  • Over 50 charts, form and layout components, easily customizable through the use of Cascading Style Sheets (CSS).
  • JavaFX provides all the major UI controls required for the development of a full featured application. Components can be easily skinned using standard Web technologies such as CSS
  • Ubiquitous deployment via the Java Runtime Environment (JRE)
  • The JavaFX Runtime is installed with the Java Runtime Environment, ensuring its availability on more than 97% of enterprise desktops worldwide [Source: Forrester, November 2009: Enterprise Platform Trends, H1 2009]

If you plan to use and develop javaFX based GUI you will need the JavaFX SDK.
By the way now starting with Java SE 7 Update 2, the JDK includes the JavaFX SDK.

For more information & resources:

DOWNLOAD
START LEARNING
API DOCUMENTATION
DISCUSSION FORUM
OTHER RESOURCES