Javafx Overview
Javafx Overview
Overview
1
Disclaimer and Acknowledgement
• Some slides of this presentation are created from
“Develop Rich Internet Applications With the JavaFX
Platform” article
> http://javafx.com/about/overview/
2
Topics
• What is and Why JavaFX?
• Key features of JavaFX
• Things you can build with JavaFX
• JavaFX platform architecture
• JavaFX application architecture
• JavaFX script brief overview
• What's included in JavaFX technology
• Deployment
3
What is & Why JavaFX?
Rich Clients Are Changing the Game!
• Clients are becoming visually rich
> Too much engineering effort to create using traditional tools
> Challenging the conventional notion of GUI toolkits
> Buttons with image → Image buttons (HTML) → ???
7
Targeting Developer/Designer Workflow
Creative Community Consumers
Karl May Sean Wani Saloni Sarin
(Mashup author/builder) (Graphic Designer) (Creative Director)
Livleen (Student)
Rich Internet Apps + content
Amy Lewis
(Suburban wife/mom)
Across desktop,
mobile, TV, car
Samir Arora
Wayne Stidolph Tom Hammer Adam Nielson (Business Professional)
(Programmer) (Media Editor) (Web Master)
8
Key Features of
JavaFX
Key Features
• One-stop shop RIA platform for all screens:
> Build engaging visual experiences across desktop, browser
and mobile with a unified development and deployment
model.
• Broadest market reach:
> Distribute RIAs easily across billions of devices with the
power of Java.
• Designer-developer workflow:
> Dramatically shorten your production cycle for design and
development.
10
Key Features (Continued)
• Powerful runtime:
> Leverage the extreme ubiquity, power, performance and
security of the Java runtime.
• Break free from the browser:
> Drag-and drop a JavaFX application from the browser to
deploy to the desktop.
• Java technology compatibility:
> Preserve your investment by enabling the use of any Java
library within a JavaFX application.
11
Things You Can Build
with JavaFX
Simple Video Player
• Incorporating video in your application is as simple as
creating an instance of this component, setting a few
variables and including a link to your video source.
13
3-D Display Shelf With the
PerspectiveTransform
• The PerspectiveTransform built into JavaFX can be
used to easily create 3-D effects
14
Flying Saucer
• The new out-of-process Java applet plugin in Java SE 6
update 10 enables you to make applets which can run
outside of the browser.
15
Demo:
JavaFX Sample Apps
from javafx.com
16
JavaFX Platform
Architecture
JavaFX Platform Architecture
18
JavaFX roadmap
Desktop Product Line JavaFX Desktop
(Winter 2008)
19
JavaFX Application
Architecture
JavaFX Platform Architecture
FX Applications
Device FXScript
Media Core Scene runtime
Specific WebKit
Players APIs Graph
APIs
Ad
FX Player
Media Java VM Compiler
Codecs Installer
Device OS
21
JavaFX System Architecture
Media Server Data Server
a t i on data
Appl ic
M
ed FX Applications
ia
Device FXScript
Media Core Scene runtime
Specific WebKit
Players APIs Graph
APIs
Ad
FX Player
Media VM Compiler
Installer
&
Codecs
Ad tur
fe
ve ed
a
Device OS
rti co
tes nt
si nt
d a
ng e
r e Up geme
o f twa Mana
S ice
nt
D ev
Provisioning &
Server Ad Server
22
JavaFX Workflow
Visual Content
Designer Java FX Mobile
developer App Binary
JavaFX Mobile
ng
gi
ka
Java FX TV
JavaFX Script code
c
Pa
App Binary
Visu
g ing
cka JavaFX TV
a
Pa
l As
s et s
n
io
Pa
t
la
pi
c
ka
om
gi
C
Java FX Source ng
Application
Java FX Desktop
App Binary
JavaFX Tools
JavaFX Desktop
/ Consumer JRE
23
JavaFX Script
Brief Overview
JavaFX Script
• Declarative, statically-typed scripting language
• Facilitates rapid GUI development
• Many cool, interesting language features
• Runs on Virtual Machine for the Java™ platform
• Deployment options same as Java programs
• Fully utilizes Java class libraries behind the scenes
• For content designers and Media engineers
25
Example of JavaFX Application
import javafx.scene.paint.Color;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
Stage {
scene: Scene {
content: [
Circle {
centerX: 50
centerY: 50
radius: 50
fill: Color.RED
}
]
}
} 26
JavaFX Technology Stack
JavaFX Script Programming Language
script
javafx.gui.*
javafx.gui.effect.*
javafx.animation.*
SceneGraph
Java APIs
com.sun.scenario.scenegraph.*
com.sun.scenario.animation.*
com.sun.scenario.effects.*
Swing Java2D
javax.swing.* java.awt.*
29
Development Bundle
• NetBeans IDE 6.5 for JavaFX 1.0
• JavaFX 1.0 Plugin for NetBeans
> Use it if you already have NetBeans 6.5
30
Designer Bundle (JavaFX 1.0
Production Suite)
• The designer bundle consists of a single download
called JavaFX 1.0 Production Suite, which contains the
following tools to enable designers to exchange visual
assets with developers.
> JavaFX 1.0 Plugin for Adobe Photoshop and JavaFX 1.0
Plugin for Adobe Illustrator
> JavaFX 1.0 Media Factory
> SVG Converter
> Viewer
31
JavaFX 1.0 Plugin's for Adobe
Photoshop and Adobe Illustrator
• Use them to export graphic assets from creative
designer tools to JavaFX format.
32
JavaFX 1.0 Media Factory
• SVG Converter
> Convert SVG graphics into JavaFX format
• Viewer
> View graphic assets that were converted to JavaFX format.
33
Stand-alone SDK
• If you prefer using other tools, or developing directly via the
command line, you can download the stand-alone SDK.
• JavaFX 1.0 SDK
> JavaFX 1.0 Desktop Runtime
> JavaFX Mobile Runtime Beta Release
> JavaFX 1.0 APIs
> JavaFX 1.0 Compiler
> JavaFX 1.0 Mobile Emulator Beta Release (for Windows)
> JavaFX API documentation
> Samples
34
Deployment
Deployment Options
• JavaFX 1.0 applications can be deployed using the two
standard Java deployment technologies
> Java Plugin: A tool used for deploying Java applets that run inside
a web browser
> Java Web Start: A tool used for deploying stand-alone Java
applications on the desktop, using JNLP (Java Network Launching
Protocol).
• Or using mobile emulation
> JavaFX 1.0 Mobile Emulator Beta Release: A tool provided with
the JavaFX 1.0 SDK, which displays your applications as they
would look on a typical mobile device.
36
JavaFX Technology
Overview
37