JavaFX: Difference between revisions

Content deleted Content added
No edit summary
Blanked the page
Line 1:
{{Infobox Software
| name = JavaFX
| logo = [[Image:JavaFX logo.jpg]]
| screenshot =<!-- Deleted image removed: [[Image:CrudfxSmall.jpg|250px|{{ifdc|1=CrudfxSmall.jpg|log=2008 December 16}}]] -->
| caption = Demonstration of JavaFX application
| developer = [[Sun Microsystems]]
| latest release version = 1.2
| latest release date = {{release date|2009|06|02}}
| latest preview version =
| latest preview date =
| operating system = [[Java Runtime Environment]]
| platform = [[Cross-platform]]
| language = [[JavaFX Script]]
| genre = [[Rich Internet application]]s
| source model = [[Open source]]
| license = [[EULA]]
| website = http://javafx.com/
}}
'''JavaFX''' is a [[software platform ]] for creating and delivering [[rich Internet application]]s that can run across wide variety of connected devices. The current release (JavaFX 1.2, June 2009) enables building applications for desktop, browser and mobile phones. TV set-top boxes, gaming consoles, [[Blu-ray]] players and other platforms are planned.
 
JavaFX is fully integrated with the [[Java Runtime Environment]] (JRE) – JavaFX applications will run on any desktop and browser that runs the JRE and on top of mobile phones running [[Java ME]].
 
To build JavaFX apps developers use a statically typed, declarative language called [[JavaFX Script]].
 
On desktop, the current release supports [[Windows XP]], [[Windows Vista]] and [[Mac OS]] operating systems. Beginning with JavaFX 1.2 Sun has released beta-releases for [[GNU]]/[[Linux]] and [[OpenSolaris]].<ref name="linuxsupport">{{cite web
| url=http://java.sun.com/javafx/1/reference/system-requirements-1-2.html#javafxsdk
| title=Software and System Requirements for JavaFX Technology
}}</ref>.
 
On mobile, JavaFX is capable of running on multiple mobile operating systems, including [[Android (operating system)|Android]], [[Windows Mobile]], and proprietary [[real-time operating system]]s.
 
Current release of JavaFX platform includes the following components:
 
# The JavaFX SDK: JavaFX compiler and runtime tools. Graphics, media web services, and rich text libraries
# [[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]]
# 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
 
Commentators have speculated JavaFX to compete on the desktop with [[Adobe Flash Player]], [[Adobe AIR]], [[OpenLaszlo]], and [[Microsoft Silverlight]].
 
==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 for the needs of specific class of devices, the JavaFX 1.1 platform includes APIs that are desktop or mobile-specific. For example JavaFX Desktop profile includes [[Swing (Java)|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 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 automatically created 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.
 
== History ==
JavaFX Script, the scripting component of JavaFX, began life as a project by [[Chris Oliver]] called F3.<ref>[http://blogs.sun.com/chrisoliver/entry/f3 Project name F3]</ref>
 
[[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|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 <ref>{{cite web
| url=http://weblogs.java.net/blog/joshy/archive/2009/06/top_5_most_impo.html
| title=Top 5 Most Important Features in JavaFX 1.2
| date=[[2009-06-09]]
|last=Marinacci|first=Joshua
| accessdate=2009-06-12}}</ref>:
* Full support for [[Linux]] and [[Solaris (operating system)|Solaris]],
* Built-in [[GUI widget|controls]] and [[Layout manager|layouts]],
* [[Skin (computing)|Skinnable]] [[Cascading Style Sheets|CSS]] controls,
* Built-in [[Chart|chart]] widgets,
* JavaFX [[Input/output|I/O]] management, masking differences between [[Desktop computer|desktop]] and [[Mobile device|mobile devices]],
* Speed improvements.
 
== License ==
There are currently various licenses for the modules that compose the JavaFX runtime:
* The core JavaFX runtime is still [[proprietary software]] and its code has not yet been released to the public,<ref name="javaFX">{{cite web
| url=https://openjfx.dev.java.net/downloads.html
| title=JavaFX Downloads
| accessdate=2008-06-07}}</ref>
* The JavaFX compiler<ref name="jfxcompiler">{{cite web
| url=https://openjfx-compiler.dev.java.net/
| title=OpenJFX Compiler Project
| accessdate=2008-06-07}}</ref> and an older version of the [[2D computer graphics|2D]] [[Scene graph]]<ref name="scenegraph">{{cite web
| url=https://scenegraph.dev.java.net/
| title=Project Scene Graph home
| accessdate=2008-06-07}}</ref> are released under a [[GNU General Public License#Version 2|GPL v2]] license,
* The [[NetBeans]] plugin for JavaFX is dual licensed under [[GNU General Public License#Version 2|GPL v2]] and [[Common Development and Distribution License|CDDL]].<ref name="javaFX" />
 
During development, [[Sun microsystems|Sun]] explained they will roll out their strategy for the JavaFX licensing model for JavaFX first release<ref name="javaFXFAQ">{{cite web
| url=http://java.sun.com/javafx/faqs.jsp#2
| title=Will JavaFX technology be released in open source?
| quote=''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''
| accessdate=2008-06-07}}</ref>. 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 format]]s, and will continue to open source the JavaFX runtime, and decouple this core from the proprietary parts licensed by external parties<ref>{{cite web
| url=http://blogs.sun.com/meetjeet/entry/javafx_the_road_ahead
| title = JavaFX - the road ahead
| date = [[2008-12-16]]
| last=Kaul|first=Jeet
| quote=''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.''
| accessdate=2009-01-03}}</ref>.
 
== See also ==
 
* [[JavaFX Script]]
* [[JavaFX Mobile]]
* [[Lobo (Browser)|Lobo Web Browser]], with JavaFX support
* [[Curl (programming language)|Curl RIA platform]]
* [[UltraLightClient]], a Java based approach for Rich Internet Applications
 
== References ==
{{reflist|2}}
 
==Bibliography==
{{refbegin}}
* {{citation
| first1 = Kim
| last1 = Topley
| date = October 12, 2009
| title = JavaFX Developer's Guide
| publisher = [[Addison-Wesley Professional]]
| pages = 640
| isbn = 0321601653
| url = http://www.informit.com/store/product.aspx?isbn=0321648978
}}
* {{citation
| first1 = James L.
| last1 = Weaver
| first2 = Weiqi
| last2 = Gao
| first3 = Stephen
| last3 = Chin
| first4 = Dean
| last4 = Iverson
| date = June 22, 2009
| title = Pro JavaFX™ Platform: Script, Desktop and Mobile RIA with Java™ Technology
| publisher = [[Apress]]
| pages = 500
| isbn = 1430218754
| url = http://www.apress.com/book/view/1430218754
}}
* {{citation
| first1 = Simon
| last1 = Morris
| date = June 15, 2009
| title = JavaFX in Action
| publisher = [[Manning]]
| pages = 375
| isbn = 1933988991
| url = http://www.manning.com/morris
}}
* {{citation
| first1 = Jim
| last1 = Clarke
| first2 = Jim
| last2 = Connors
| first3 = Eric
| last3 = J. Bruno
| date = June 15, 2009
| title = JavaFX: Developing Rich Internet Applications
| publisher = [[Prentice Hall]]
| pages = 384
| isbn = 013701287X
| url = http://www.informit.com/store/product.aspx?isbn=0137013531
}}
* {{citation
| first1 = Gail
| last1 = Anderson
| first2 = Paul
| last2 = Anderson
| date = June 15, 2009
| title = Essential JavaFX
| publisher = [[Prentice Hall]]
| pages = 360
| isbn = 0137042795
| url = http://www.informit.com/store/product.aspx?isbn=0137042795
}}
* {{citation
| first = James L.
| last = Weaver
| date = May 4, 2009
| title = JavaFX Script: Dynamic Java Scripting for Rich Internet/Client-side Applications
| publisher = [[Apress]]
| pages = 200
| isbn = 1590599454
| url = http://www.apress.com/book/view/1590599454
}}
{{refend}}
 
== External links ==
* [http://www.javafx.com/ javafx.com Official JavaFX website]
* [http://blogs.sun.com/javafx Official JavaFX blog website]
* [http://java.sun.com/javafx/index.jsp java.sun.com website]
* [http://www.sun.com/software/javafx/ Sun.com - JavaFX]
* [https://openjfx.dev.java.net/ OpenJFX website]
* [http://java.sun.com/developer/technicalArticles/scripting/javafxpart1/ Sun.com - Learning JavaFX Script: An Introduction for Java Programmers]
* [http://www.devx.com/RichInternetApps/Article/35208/1954?pf=true Crash Course in Next-Gen RIA: AIR, Silverlight, and JavaFX]
* [http://learnjavafx.typepad.com/ James Weaver's JavaFX blog]
* [http://canoo.com/blog/2009/06/04/dierks-talk-at-j1-javafx-groovy-beauty-productivity/ A JavaOne 2009 talk about JavaFx + Groovy]
 
 
{{Java (Sun)}}
{{Sun Microsystems}}
{{Rich Internet applications}}
 
[[Category:Java programming language]]
[[Category:Sun Microsystems software]]
[[Category:Mobile software]]
[[Category:Rich Internet application frameworks]]
 
[[cs:JavaFX]]
[[de:JavaFX]]
[[es:JavaFX]]
[[fr:JavaFX]]
[[he:JavaFX]]
[[it:JavaFX]]
[[ja:JavaFX]]
[[pl:JavaFX]]
[[pt:JavaFX]]
[[ru:JavaFX]]
[[sk:JavaFX Script]]
[[uk:JavaFX]]
[[zh:JavaFX]]