news // 2007.05.09 08:16:34 [hh]

Konkurrenz für "Flash" und "Silverlight": Sun stellt "JavaFX" vor

Mit "JavaFX" will Sun Microsystems seine Java-Plattform im Web und auf mobilen Endgeräten modernisieren und kündigt mit "JavaFX Mobile" eine umfassende Open-Source-Plattform für Mobiltelefon-Hersteller, Netzbetreiber und Inhalte-Anbieter an. Mit dabei ist auch "JavaFX Script", eine Scriptsprache um auf einfache Weise so genannte "Rich Internet Applikationen", also Frontends wie in Adobes "Flash"- und "Flex"-Plattform und Microsofts "Expression"- und "Silverlight"-Produkte aufzusetzen.

"JavaFX Script" ist eine Scriptsprache mit deklarativer Syntax, mit der sich GUI-Komponenten spezifizieren und mit den Daten von Java-Backend-Anwendungen (im Moment die Hauptdomäne von Java) abgleichen lassen. Sie ist wesentlicher Bestandteil von "JavaFX" und soll mit allen gängigen IDEs arbeiten, GUIs unterschiedlicher Größen - vom Mobiltelefon bis zur SetTopBox - unterstützen und die Nutzung des Java-GUI-Frameworks "Swing" vereinfachen.

Fragen und Antworten von Sun

What is JavaFX?
JavaFX is a new family of Sun products based on Java technology and targeted at the high impact, rich content market.

What is being announced at the 2007 JavaOne Conference around JavaFX?
At the Conference, Sun Microsystems is announcing two products in the JavaFX family: JavaFX Script and JavaFX Mobile. JavaFX Script is a a highly productive scripting language for content developers to create rich media and content for deployment on Java technology. JavaFX Mobile is a complete mobile operating and application environment built around Java and Linux open source technologies.

How does JavaFX Script compare with other tools for creating rich internet applications (RIAs)?
Today's Internet offers a world of possibility for those who can quickly develop and deploy rich internet applications (RIAs). But only the Java platform is pervasive enough on mobile devices and browsers to effectively marry client- and browser-based technologies with RIAs enabling applications to run on multiple platforms virtually unchanged. JavaFX is Sun's new product family that addresses this market. JavaFX Script will enable developers to more quickly and easily develop RIAs and next-generation services that can be proliferated across virtually any device -- from desktop browsers and mobile devices, to set-top boxes and Blu-ray Disc DVDs – securely and without local installation. JavaFX Mobile software makes these type of applications a reality for the mobile world.

Will there be other products in the JavaFX family?
Sun is planning several products in this family. More details will follow as they become available.

Where can I obtain JavaFX Script or more information?
More information on JavaFX Script is available at The alpha code that Sun is demoing at the JavaOne Conference is available at Project OpenJFX ( Sun will be expanding this scripting language and is inviting developers to join the OpenJFX community and participate with their feedback.

Tell me more about JavaFX Script.
JavaFX Script is a highly productive scripting language that enables content developers to create rich media and content for deployment on Java environments.
JavaFX Script is a declarative, statically typed programming language. It has First-class functions, declarative syntax, list-comprehensions, and incremental dependency-based evaluation. It can make direct calls to JavaAPIs that are on the platform. Since JavaFX Script is statically typed, it has the same code structuring, reuse, and encapsulation features (such as packages, classes, inheritance, and separate compilation and deployment units) that make it possible to create and maintain very large programs using Java technology.

Why is the JavaFX Script name so long?
Although the official name of the scripting language is JavaFX Script, we expect many programmers to just call it JavaFX as it is the core of the JavaFX family.

Why did you create another scripting language?
JavaFX Script is specifically designed to optimize the creative process of building rich and compelling UIs leveraging Java Swing, Java 2D and Java 3D for developers and content authors.

Will JavaFX be open sourced?
Yes, JavaFX Script will be open sourced. The governance, licensing, and community models will be worked out as product release draws closer.

Can I contribute to JavaFX?
Absolutely. Join the OpenJFX community on Currently, Sun is looking for your feedback and the directions in which you would like to see JavaFX Script evolve. Once the basic prototype phase is completed, Sun will provide additional details on how you can contribute to the technology itself.

Will development tools support JavaFX Script?
JavaFX Script will initially work with the NetBeans IDE, but it is expected to work with other IDEs as well.

Why do I need the JavaFX Script? Isn't Swing good enough?
There's nothing wrong with Swing. Swing is one of the best GUI development toolkits of its kind. Swing makes it very easy to create standard GUI components, buttons, listboxes, trees, and tables. Together with Java 2D, Swing makes it easy to customize existing components or to create new custom components to achieve virtually any desired visual effect. Sun is not replacing Swing with JavaFX; instead, JavaFX Script makes Swing much easier to use.
With the new JavaFX Script language, the structure of the programmer's code closely matches the actual layout of the GUI, making it tangibly easier to understand and maintain.

Why isn't Groovy enough?
Groovy and other languages have two specific traits which don't precisely meet these needs, namely that they are generic in nature and don't provide the appropriate abstractions necessary to optimize the UI design process and similarly are designed specifically for programmers other than content authors.

What about performance? Isn't using a scripting language going to be a problem?
Performance is obviously an important issue. The architecture of JavaFX Script is meant to be highly performant. For example, the GUI components and back-end application objects are implemented in Java; JavaFX Script code is used only to create such components, configure them, and wire them together.
In addition, since the JavaFX Script implementation handles event generation and dispatching, it can be optimized and all Swing applications built with JavaFX Script will benefit. Without JavaFX Script, programmers must effectively handcraft their own incremental evaluator for each new application -- adding property change listeners to and firing events from Java Beans, adding listeners to GUI components, and then determining what events need to fired and/or handled by each bean or component. These steps tend to be very error prone and difficult for programmers to optimize.

Is JavaFX Script only for simple GUIs?
Although JavaFX Script makes it very easy to create simple GUIs, it is designed to be capable of supporting GUIs of any size or complexity. Unlike many other Java scripting languages, JavaFX Script is statically typed and has the same code structuring, reuse, and encapsulation features (such as packages, classes, inheritance, and separate compilation and deployment units) that make it possible to create and maintain very large programs in Java. In addition, JavaFX Script is intended to have the same level of IDE/tool support that Swing programmers are familiar with in Java: an editor with code completion, refactoring, a Javadoc-like documentation tool, a source-level debugger, a profiler, and ultimately a visual builder.

Will JavaFX Script applications run on Java on the desktop?
JavaFX Script applications run on the Java Runtime Enviroment (JRE) on the desktop.

Will JavaFX Script applications run on JavaFX Mobile?
Yes, that is why JavaFX Mobile is being announced simultaneously.

Weitere Informationen: software/ javafx