Pular para o conteúdo

Conheça Walt Disney World

JavaFX

JavaFX
JavaFX.png
Developer(s) Oracle Corporation
Stable release 2.2 / August 14, 2012; 58 days ago (2012-08-14)
Operating system Java Runtime Environment
Platform Cross-platform
Available in Java
Type Rich Internet applications
License EULA, parts under GPL+linking exception[1]
Website javafx.com

JavaFX is a software platform for creating and delivering rich Internet applications (RIAs) that can run across a wide variety of connected devices. The current release (JavaFX 2.2, August 2012) enables building applications for desktop, browser and mobile phones. TV set-top boxes, gaming consoles, Blu-ray players and other platforms are planned.

Before version 2.0 of JavaFX, app developers used a statically typed, declarative language called JavaFX Script to build JavaFX applications. However, Java code could be integrated into JavaFX programs. JavaFX Script was compiled to Java bytecode, so JavaFX applications could run on any desktop and browser that runs the Java Runtime Environment (JRE) and on top of mobile phones running Java ME.

The new JavaFX 2.0 and later is implemented as a native Java library and is therefore written in native Java code. JavaFX Script has been scrapped by Oracle but development is being continued in the Visage project.[2]

On desktop, the current release supports Windows XP, Windows Vista, Windows 7 and Mac OS X operating systems.[3] Beginning with JavaFX 1.2, Oracle has released beta versions for Linux and OpenSolaris.[4] On mobile, JavaFX is capable of running on multiple mobile operating systems, including Symbian OS, Windows Mobile, and proprietary real-time operating systems.

Commentators[who?] have speculated JavaFX will compete on the desktop with Adobe AIR, Apache Pivot, OpenLaszlo and Microsoft Silverlight.

Contents

Technical highlights

Common profile. JavaFX is based on the concept of a “Common profile” that is intended to span across all devices supported by JavaFX. This approach makes it possible for developers to use a common programming model while building an application targeted for both desktop and mobile devices and to share much of the code, graphics assets and content between desktop and mobile versions. To address the need for tuning applications on a specific class of devices, the JavaFX 1.1 platform includes APIs that are desktop or mobile-specific. For example JavaFX Desktop profile includes Swing and advanced visual effects.

Drag-to-Install. From the point of view of the end user “Drag-to-Install” allows them to drag a JavaFX widget (or application residing in a website and is visible within the browser window) and drop it onto their desktop. The application will not lose its state or context even after the browser is closed. An application can also be re-launched by clicking on a shortcut that gets created automatically on the user's desktop. This behavior is enabled out-of-the-box by the Java applet mechanism and is leveraged by JavaFX from the underlying Java layer. Sun touts “Drag-to-Install” as opening up of a new distribution model and allowing developers to “break away from the browser”.

Integrating graphics created with third-party tools. JavaFX includes a set of plug-ins for Adobe Photoshop and Illustrator that enable advanced graphics to be integrated directly into JavaFX applications. The plug-ins generate JavaFX Script code that preserves layers and structure of the graphics. Developers can then easily add animation or effects to the static graphics imported. There is also an SVG graphics converter tool (a.k.a. Media Factory) that allows for importing graphics and previewing assets after the conversion to JavaFX format.

Design highlights

Sun Microsystems licensed a custom typeface called Amble for use on JavaFX powered devices. The font family was designed by mobile user interface design specialists Punchcut and is available as part of the JavaFX SDK 1.3 Release.

JavaFX platform components

Current release of JavaFX platform includes the following components:

  1. The JavaFX SDK: JavaFX compiler and runtime tools. Graphics, media web services, and rich text libraries
  2. NetBeans IDE for JavaFX: NetBeans with drag-and-drop palette to add objects with transformations, effects and animations plus set of samples and best practices. For Eclipse users there is a community-supported plugin hosted on Project Kenai
  3. Tools and plugins for creative tools (a.k.a. Production Suite): Plugins for Adobe Photoshop and Adobe Illustrator that can export graphics assets to JavaFX Script code, tools to convert SVG graphics into JavaFX Script code and preview assets converted to JavaFX from other tools (currently not supported in JavaFX 2.x versions)

History

JavaFX Script, the scripting component of JavaFX, began life as a project by Chris Oliver called F3.[5]

Sun Microsystems first announced JavaFX at the JavaOne Worldwide Java Developer conference on May 2007.

In May 2008 Sun Microsystems announced plans to deliver JavaFX for the browser and desktop by the third quarter of 2008, and JavaFX for mobile devices in the second quarter of 2009. Sun also announced a multi-year agreement with On2 Technologies to bring comprehensive video capabilities to the JavaFX product family using the company's TrueMotion Video codec.

Since end of July 2008, developers could download a preview of the JavaFX SDK for Windows and Macintosh, as well as the JavaFX plugin for NetBeans 6.1. On December 4, 2008 Sun released JavaFX 1.0.

JavaFX 1.1

JavaFX for mobile development was finally made available as part of the JavaFX 1.1 release announced officially on February 12, 2009.

JavaFX 1.2

JavaFX 1.2 was released at JavaOne on June 2, 2009. This release introduced:[6]

JavaFX 1.3

JavaFX 1.3 was released on April 22, 2010. This release introduced[7]:

  • Performance improvements
  • Support of additional platforms
  • Improved support for user interface controls

JavaFX 1.3.1

This version was released on August 21, 2010. This release introduced:

  • Quick startup time of JavaFX application.
  • Custom progress bar for application startup.

JavaFX 2.0

This version was released on October 10, 2011. This release introduced:

  • A new set of Java APIs opening JavaFX capabilities to all Java developers, without the need for them to learn a new scripting language.
  • Support for high performance lazy binding, binding expressions, bound sequence expressions, and partial bind re-evaluation.

Various improvements have been made within the JavaFX libraries for multithreading. The Task APIs have been updated to support much more concise threading capabilities (i.e. the JavaTaskBase class is no longer necessary since all the APIs are in Java, and the requirement to have a callback interface and Java implementation class are no longer necessary). In addition, the scene graph has been designed to allow scenes to be constructed on background threads and then attached to "live" scenes in a threadsafe manner.

On May 26, 2011, Oracle released the JavaFX 2.0 Beta. The beta release was only made available for 32 and 64 bit versions of Microsoft Windows XP, Windows Vista and Windows 7. An Early Access version for Mac OS X was also available for members of the JavaFX Partner Program at the time, while Linux support is planned for a future release of JavaFX.

JavaFX 2.0 makes use of a new declarative XML language called FXML[8][9].

JavaFX 2.1

On April 27, 2012, Oracle released version 2.1 of JavaFX[10], which includes the following main features[11]:

  • H.264 and AAC support
  • First official version for Mac OS X (desktop only)
  • LCD text
  • UI enhancements including combo box controls, charts (stacked chart), and menu bars
  • Webview component now allows JavaScript to make calls to Java methods

Current release

JavaFX 2.2

On August 14, 2012, Oracle released version 2.2 of JavaFX[12], which includes the following main features[13]:

  • Media H.264 and AAC support
  • Linux support (including plugin and webstart)
  • Canvas
  • New controls: Color Picker, Pagination
  • HTTP Live Streaming support
  • Touch events and gestures
  • Image manipulation API

JDK and JRE versions from 1.7.0_04 and onwards include JavaFX bundled to be installed with them. When Java 8 is available, JavaFX will become part of the JRE/JDK.[14]

License

There are currently various licenses for the modules that compose the JavaFX runtime:

During development, Sun explained they will roll out their strategy for the JavaFX licensing model for JavaFX first release.[18] After the release, Jeet Kaul, Sun's Vice president for Client Software, explained that they will soon publish a specification for JavaFX and its associated file formats, and will continue to open source the JavaFX runtime, and decouple this core from the proprietary parts licensed by external parties[19].

At JavaOne 2011, Oracle Corporation announced that JavaFX 2.0 would become open source[20]. Since December 2011, Oracle began to open source the JavaFX code under the GPL+linking exception.[1][21]


See also

References

  1. ^ a b "OpenJFX Project". Oracle Corporation. http://openjdk.java.net/projects/openjfx/. Retrieved 2011-12-07. 
  2. ^ Visage
  3. ^ "JavaFX 2.0 and above Certified System Configurations". http://www.oracle.com/technetwork/java/javafx/downloads/supportedconfigurations-1506746.html. 
  4. ^ "Software and System Requirements for JavaFX Technology". http://java.sun.com/javafx/1/reference/system-requirements-1-2.html#javafxsdk. 
  5. ^ Project name F3
  6. ^ Marinacci, Joshua (2009-06-09). "Top 5 Most Important Features in JavaFX 1.2". http://weblogs.java.net/blog/joshy/archive/2009/06/top_5_most_impo.html. Retrieved 2009-06-12. 
  7. ^ "JavaFX 1.3 Released, Improves User Experiences". 2010-04-22. http://blogs.sun.com/javafx/entry/javafx_1_3_released_delivers. Retrieved 2010-04-25. 
  8. ^ Meyer, David (2011-10-06). "JavaFX 2.0 arrives and heads for open source". ZDNet. http://www.zdnet.co.uk/news/application-development/2011/10/06/javafx-20-arrives-and-heads-for-open-source-40094121/. Retrieved 2011-10-09. "The update introduces a new XML-based markup language called FXML, which is aimed at defining user interfaces. Other scripting languages, such as Groovy, JRuby and Scala, can also be used to write apps in JavaFX 2.0, as can the Java development tools NetBeans and Eclipse." 
  9. ^ Greg Brown (2011-08-15). "Introducing FXML". http://fxexperience.com/wp-content/uploads/2011/08/Introducing-FXML.pdf. Retrieved 2011-10-09. 
  10. ^ http://terrencebarr.wordpress.com/2012/04/27/jdk-7u4-and-javafx-2-1-released-now-also-including-mac-os-x/
  11. ^ "JavaFX 2.1 Release Notes". Oracle_Corporation. http://docs.oracle.com/javafx/2/release_notes_2-1/jfxpub-release_notes_2-1.htm. Retrieved 2012-05-05. 
  12. ^ https://blogs.oracle.com/javafx/entry/what_s_new_in_javafx
  13. ^ "JavaFX 2.2 Release Notes". Oracle_Corporation. http://docs.oracle.com/javafx/2/release_notes_2-2/jfxpub-release_notes_2-2.htm. Retrieved 2012-10-02. 
  14. ^ "JavaFX FAQ". Oracle_Corporation. http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#5. Retrieved 2012-05-50. 
  15. ^ a b "JavaFX Downloads". http://openjfx.dev.java.net/downloads.html. Retrieved 2008-06-07. 
  16. ^ "OpenJFX Compiler Project". http://openjfx-compiler.dev.java.net/. Retrieved 2008-06-07. 
  17. ^ "Project Scene Graph home". http://scenegraph.dev.java.net/. Retrieved 2008-06-07. 
  18. ^ "Will JavaFX technology be released in open source?". http://java.sun.com/javafx/faqs.jsp#2. Retrieved 2008-06-07. "Sun will continue to engage the OpenJFX community as we release JavaFX products. This fall we will be rolling out our open source strategy for JavaFX technology concurrent with the release of version 1 of JavaFX Desktop" 
  19. ^ Kaul, Jeet (2008-12-16). "JavaFX — the road ahead". http://blogs.sun.com/meetjeet/entry/javafx_the_road_ahead. Retrieved 2009-01-03. "Sun is committed to open standards and open source, and specifications are coming soon(...)There are some dependencies on licensed code that cannot be open sourced. We are working towards decoupling the dependencies so that the non-proprietary portions can be open sourced. Currently the JavaFX compiler, Netbeans JavaFX plugin and Eclipse JavaFX plugin are already being developed in the open source. The scene graph is out in the open. We will put the core runtime out in the open over time." 
  20. ^ Meyer, David (2011-10-06). "JavaFX 2.0 arrives and heads for open source". ZDNet. http://www.zdnet.co.uk/news/application-development/2011/10/06/javafx-20-arrives-and-heads-for-open-source-40094121/. Retrieved 2011-10-09. "At the event, Oracle also announced plans to make the JavaFX platform open source. It has submitted a proposal to the OpenJDK Community, and its first contribution will include the JavaFX user interface controls and related libraries. "Other JavaFX components are planned to follow in multiple phases," the company said." 
  21. ^ Richard Bair (2011-12-02). "Call for patches". Oracle Corporation. http://forums.oracle.com/forums/thread.jspa?messageID=10017677. Retrieved 2011-12-07. "Hey guys, Just a note to indicate that the UI controls have been open sourced into openjdk" [unreliable source?]

Bibliography

External links

Personal tools
  • Create account
  • Log in
Namespaces

Variants
Actions
Navigation
Toolbox
Print/export