The unified programming model
The JavaFX application framework supports a unified programming model. With this
framework, you can write code that scales to target devices ranging from smart phones,
set-top boxes, to entertainment systems, using the same code (with little or no changes).
JavaFX's build and deployment systems determine how to wrap your code to target the
proper runtime environments.
The JavaFX APIs are organized into profiles, which logically group the APIs into subsets of
related functionalities that target one or more runtime environments. As of JavaFX 1.2, the
supported profiles, as shown in the previous figure, include:
F Common—the APIs in this profile will run in any targeted runtime. Applications that
use only APIs in this profile are guaranteed to be portable across all devices.
F Desktop—if you want your application to target only the desktop, with the full power
of Java SE behind it, you would target this profile. It includes APIs, such as class
reflection, Swing, and anything else supported by Java SE.
F TV—targeting the TV profile is similar to writing code for the desktop. However, for
guaranteed portability, use the Common APIs as much as possible.
F Mobile—the mobile profile includes functionalities tied to a mobile environment
with lighter functionalities available.
When you create JavaFX code, the deployment and runtime mechanism is responsible for
determining how to run your application as either an embedded applet within a browser, a
desktop application provisioned from the Web (see recipe Packaging your app to get Web
Start(ed) ), or a regular desktop application launched from the command line.