SlideShare a Scribd company logo
JavaFX 1.2
Technical Introduction
Terrence Barr (terrence.barr@sun.com)
Senior Technologist and Community Ambassador
Sun Microsystems
A rich client platform for all screens


JavaFX Highlights
• Expressive rich client platform bringing
  together web, scripting, media, and
  Java
• Targets desktop, browser, mobile,
  and entertainment with a unified
  development and deployment model
• For (web) developers, designers, and creators
 • Adds new dimensions to the Java platform
        >    Do cool stuff easily that was traditionally hard in Java
        >    Leverage the power and pervasiveness of Java
        >    Break from from the browser


2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens




Demos
- Effects Playground
- Photo Flockr
- Video Box


2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


RIA Development: Web RIA or Java?

  RI              •Rich User Experience                                  Web        •Desktop focused, growing in Mobile
  A               •Secure sandbox                                        App        •Moderate User Experience, improving
                  •Ubiquity if player is available                                  •Very limited access to
                  •Limited access to                                                 system/network capabilities
                   system/network capabilities                                       (unless tied to specific browser)
                  •Proprietary                                                      •Trending to fragmentation (browsers,
                                                                                     APIs)


                                       Java           •Multiple screens/platforms
                                       App            •Proven security architecture
                                                      •Access to system & network
                                                       capabilities, deep integration
                                                      •Difficult to create rich User Experience
                                                      •Fragmented (e.g. media support)


2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


RIA Development: Web RIA or Java?
Leverage Strengths, Address Limitations

      RI                                                                            Web Application
      A
                                  JavaFX, built on Java
                                          • Ubiquity (desktop, web, mobile, TV)
                                            • Proven security architecture
                                       • Access to system & network capabilities
                                         • Rich user experience and media
                                                   • Scripting, declarative UI
                                           • Full browser integration, if desired
                                             • “Break Free” from browser

2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens

What Can You Build
with JavaFX 1.2
• Cross-Browser Video playback
• Interactive and immersive
  business applications
• Mash-ups with REST based
  web services
• Cloud applications
• Applications that run across
  the browser, desktop, mobile
  and TV!



2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens




Demo
- Indaba Session Console




2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens




JavaFX 1.2
Architecture, Tools,
and Components

2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


JavaFX 1.2 + Java Marketecture
                          JavaFX Applications and Services

                                  JavaFX Apps Framework
                                                                             Authoring
                                                                               Tools
                       JavaFX                     JavaFX      JavaFX
                       Desktop                     Mobile       TV           Developer
                       Runtime                    Runtime     Runtime          Tools
                                                                          (IDE Plug ins, RAD,
                                                                            Production Suite)
                      Desktop                     Mobile         TV
                     Extensions                 Extensions   Extensions        Designer
                                                                                Tools
                                  JavaFX Common Profile                   (Authoring, Publishing,
                                                                             Media Encoding)



                               Java Platform (Java Plug in)

2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


JavaFX Components
• JavaFX Script - The Language
• JavaFX Runtimes: Desktop/Web, Mobile, TV
        >    1.5 MB jar (700 KB packed), dynamically downloaded, cached, and
             updated as necessary (i.e. “no-hassle deployment”)
• JavaFX Applications
        >    In jar file(s), loaded via class loader
        >    Standalone, via Java Web Start, as Applet, or mobile app
• JavaFX Tools
        >    FX Script compiler and runtime tools
        >    IDE plug-in, designer tools
        >    Graphics-, media-, web services-, and rich text libraries


2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


Java 6 Update 10 - “Applets reloaded”
• New Java “Kernel”
        >    Componentized runtime – small modules loaded upon demand
        >    Faster download and install of modules
        >    Java QuickStarter: Faster cold-start, near-instant warm-start
• New Browser Plug-In
        >    Rewritten from scratch, new architecture (mostly in Java)
        >    Applets run in separate process - independent of the browser
               – More control and reliability
        >    Rewrite of “LiveConnect” JavaScript bridge
               – Interaction between browser (JavaScript) and Applet (Java) much
                 improved



2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens




Demos
- Video Box



2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


JavaFX 1.2 Developer Tool Chain
      Media Assets                            Assets                    Integrated                 Emulated By
       Created By                         Transformed By                 Into IDEs                 (If Required)

             Adobe
           Illustrator
                                                                          JavaFX
                                                                          Plug-in
                    Adobe
                                                                         for IDEs
                   Photoshop                  JavaFX                                                  JavaFX
                                             Production                                                Mobile
                                               Suite                     JavaFX                       Emulator
              On2 Flix                                                   Compiler
              Encoders
           (JavaFX File Format,
              VP6 and MP3)


                   Adobe CS3
                     (Flash and                             3rd Party
                    Flash Video,
                    JavaFX 1.5)                             RAD Tool
                                                                                         (Open
                                                                                        Source)


2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


JavaFX 1.2 Plugin for NetBeans




2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens

Incorporate Existing Visual Assets with the
JavaFX Production Suite




2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens




JavaFX 1.2
Features and Language


2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


 JavaFX Common Profile Features
  Components                                                        Features

  Compiler and                     >SE 5 and CLDC Target
   Languages

                                   >Geometric shapes, lines,            >Clip with arbitrary geometric shapes
                                    curves, arc                         >Image masks
Graphics + Text                    >Transparency                        >Fullscreen support
                                   >Gradient, color fill, texture       >transforms (rotate, scale, skew)
                                   >Stroke styles                       >True Type font rendering

                                   >Base set of cross-platform UI       >Cross-platform chart components
UI Control + Chart                    controls (button, slider, progress (area-, bar-, pie-, bubble chart, etc)
   Components                         bar, label, radio button, etc.)


 2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


JavaFX Common Profile Features
 Components                                                     Features
                                  >Key frame animation               >Standard animations
   Animation                       with tweening                      (rotate, zoom, slide)
                                  >Path-based animation

                                  >Cross platform audio (mp3)        >Volume and audio balance control
                                   and video (On2)                   >Http + RTSP streaming with
                                  >Codec native media framework        buffering fxm file format (FLV subset)
       Media                       support (DirectShow and
                                   Core Video), play, pause, seek,
                                   volume, balance, speed controls
                                  >Web services (JSON/XML parser, RESTful APIs, RSS/ATOM)
                                  >Persistent storage
       Other
                                  >Common text input control (CSS skinning)
                                  >Input handling (keyboard, mouse, touch)
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


Cross-Platform UI Control + Chart Components




2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


JavaFX Scenegraph

 • Tree-like structure of graphical nodes
 • Easy, platform-neutral way of vector graphics representation
       Scene {
           Group {
               Rectangle,
               Circle
                                                            javafx.scene.shape
           }
       }                                                         Rectangle



                                                                       javafx.scene.shape
 • Swing components can be                                                    Circle
   embedded (on Desktop profile)

2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


JavaFX Script - The Basics
• A powerful script programming language
        >    Domain-specific: Designed for creating rich user interfaces
        >    OO, statically typed, type inference, binding, sequences, timelines, ...
        >    Declarative style (object literals) reflects UI layout
        >    Functions are first-class objects
        >    Seamless interoperation with Java (shares same runtime)
• Built-in support for compelling graphics and media
        >    Adds compositional behavior on top of Java2D
        >    Easy and rich cross-platform graphics, animation, video & audio
• Compiles to run on high-performance Java runtimes



2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


“Hello World” - Swing version
 import javax.swing.*;


 public class HelloWorldSwing {
         public static void main(String[] args) {
                 JFrame frame = new JFrame("HelloWorld Swing");
                 final JLabel label = new JLabel("Hello, World");
                 frame.getContentPane().add(label);
                 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                 frame.pack();
                 frame.setVisible(true);
         }
 }




2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


“Hello World” - JavaFX version
 import javafx.stage.*;
 import javafx.scene.*;
 import javafx.scene.text.*;

 Stage {
     title: "HelloWorld JavaFX"
     scene: Scene {
         width: 200
         height: 50
         content: Text {
              x: 50, y: 20
              content: "Hello, World"
         }
     }
 }


2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


Appetizer - Some JavaFX Script Language Features
• “HelloWorld”, animated
        >    Add timeline for animation
        >    Use binding to animate text position
        >    Add button and mouse event handler to trigger animation
        >    Use NetBeans “Realtime Preview” feature




2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens




JavaFX 1.2 Mobile



2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


JavaFX Mobile Architecture

                                                            JavaFX Runtime
                                            (Common API, SceneGraph, Media, Webservices)


                                                  Sun Java Wireless Client
                                                        (CLDC, MIDP 2.0, JSR 135)



                     Software                                OpenVG                        OpenGL-ES
                     Renderer


                                                             Mobile Device

                 Default Stack                     2D Accelerated Stack             3D Accelerated Stack


2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


JavaFX Mobile Overview
• Announced at Mobile World Congress 2009
   > Mobile Handset Partners: LG Electronics, Sony Ericsson

• JavaFX 1.2 SDK
        >    JavaFX Mobile runtime for Common Platform
        >    JavaFX Mobile emulator (for Windows desktop)
        >    JavaFX Mobile for Windows Mobile 1.2 EA released 8/2009
• Choice of platform targets
        >    Create cross-platform applications using JavaFX Common Platform
        >    Leverage mobile-specific features using JavaFX Common Platform
                 –   and/or JavaFX Mobile Elements
                 –   and/or mobile-specific JSR APIs (e.g. location, sensor, ...)


2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


Create and Deploy to Desktop, Browser, & Mobile
• Create with unified development
        >    Common tools
        >    Common code base
        >    Common programming paradigm
• Deploy at the touch of a button
        >    Desktop application                  Desktop
        >    Web Start
        >    Applet (in and out of browser)
        >    Mobile application (on emulator and phone)
                                                            Browser



                                                                            Mobile
2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens




Demos
- Mosaic
- CloudDVR (video)


2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens




Wrap-Up



2009 Sun Microsystems, Incorporated. All Rights Reserved.
A rich client platform for all screens


Wrapping Up
• Now, Java has it all
              Volume of devices and platforms                                  ✔
              Large base of developers and content authors                     ✔
              Expressiveness, compelling UI, and power                         ✔
              Rapid application development                                    ✔
              Accessibility and wide range of tools                            ✔
              Cross-platform ubiquity                                          ✔


• See http://javafx.com for samples, videos, tools, docs, and tutorials




2009 Sun Microsystems, Incorporated. All Rights Reserved.
Thank You.
Terrence Barr (terrence.barr@sun.com)
Senior Technologist and Community Ambassador
Sun Microsystems

More Related Content

What's hot (20)

PPTX
Introduction to Wonderware InduSoft Web Studio 8.0+SP2
AVEVA
 
PDF
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Bruno Borges
 
PDF
2014 Liferay Roadshow Ambientia Finland
Ruud Kluivers
 
PDF
Dmz aa aioug
pasalapudi123
 
PPTX
Oracle Middleware and Hardware Complete Solution
Fumiko Yamashita
 
PDF
Liferay Portal Introduction
Nguyen Tung
 
PPTX
SANS Institute Product Review of Oracle Identity Manager
OracleIDM
 
PPTX
Java, app servers and oracle application grid
Alicja Sieminska
 
PDF
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Bart Jonkers
 
PDF
An Introduction to IaaS Framework
Inocybe Technologies inc.
 
PDF
WebRTC Customer Experience Optimizations - Kranky Geek Presentation
amithap07
 
PDF
WebRTC Meetup @ Oracle San Francisco
amithap07
 
PPTX
Oracle iAS Forms to WebLogic Suite for Alesco
Fumiko Yamashita
 
PDF
Liferay Italy Symposium 2015 Liferay Mobile SDK and Liferay Screens
Denis Signoretto
 
PDF
EBS Upgrade to Oracle Cloud Platform
Fumiko Yamashita
 
PDF
KBACE Applied Identity Management
KBACE Technologies, Inc.
 
PDF
Systems Resource Management with NetIQ AppManager
Advanced Logic Industries
 
PPTX
Managing Oracle Fusion Middleware
Fumiko Yamashita
 
PPT
Matt Wright - The Application Grid
Saul Cunningham
 
PDF
Developing Oracle Fusion Middleware Applications in the Cloud
Matt Wright
 
Introduction to Wonderware InduSoft Web Studio 8.0+SP2
AVEVA
 
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Bruno Borges
 
2014 Liferay Roadshow Ambientia Finland
Ruud Kluivers
 
Dmz aa aioug
pasalapudi123
 
Oracle Middleware and Hardware Complete Solution
Fumiko Yamashita
 
Liferay Portal Introduction
Nguyen Tung
 
SANS Institute Product Review of Oracle Identity Manager
OracleIDM
 
Java, app servers and oracle application grid
Alicja Sieminska
 
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Bart Jonkers
 
An Introduction to IaaS Framework
Inocybe Technologies inc.
 
WebRTC Customer Experience Optimizations - Kranky Geek Presentation
amithap07
 
WebRTC Meetup @ Oracle San Francisco
amithap07
 
Oracle iAS Forms to WebLogic Suite for Alesco
Fumiko Yamashita
 
Liferay Italy Symposium 2015 Liferay Mobile SDK and Liferay Screens
Denis Signoretto
 
EBS Upgrade to Oracle Cloud Platform
Fumiko Yamashita
 
KBACE Applied Identity Management
KBACE Technologies, Inc.
 
Systems Resource Management with NetIQ AppManager
Advanced Logic Industries
 
Managing Oracle Fusion Middleware
Fumiko Yamashita
 
Matt Wright - The Application Grid
Saul Cunningham
 
Developing Oracle Fusion Middleware Applications in the Cloud
Matt Wright
 

Viewers also liked (8)

PDF
Java Entreprise Edition
Sabri Bouchlema
 
PDF
JavaFX Uni Parthenope
Emanuela Giannetta
 
ODP
Presentation - Course about JavaFX
Tom Mix Petreca
 
PDF
Building Java Desktop Apps with JavaFX 8 and Java EE 7
Bruno Borges
 
ODP
RESTful Web Services with JAX-RS
Carol McDonald
 
PPTX
JavaFX Presentation
Mochamad Taufik Mulyadi
 
PDF
JavaFX for Java Developers
Sten Anderson
 
PDF
Support Java Avancé Troisième Partie
ENSET, Université Hassan II Casablanca
 
Java Entreprise Edition
Sabri Bouchlema
 
JavaFX Uni Parthenope
Emanuela Giannetta
 
Presentation - Course about JavaFX
Tom Mix Petreca
 
Building Java Desktop Apps with JavaFX 8 and Java EE 7
Bruno Borges
 
RESTful Web Services with JAX-RS
Carol McDonald
 
JavaFX Presentation
Mochamad Taufik Mulyadi
 
JavaFX for Java Developers
Sten Anderson
 
Support Java Avancé Troisième Partie
ENSET, Université Hassan II Casablanca
 
Ad

Similar to JavaFX - Bringing rich Internet applications ... (20)

PPTX
JavaFx
Rohan Bhanderi
 
PDF
Client Continuum Dec Fy09
Martha Rotter
 
PDF
Terence Barr - what's new in m&e - 24mai2011
Agora Group
 
PDF
Rococo Software Q409
Sean O'Sullivan
 
PPTX
SPEC INDIA Java Case Study
SPEC INDIA
 
PPT
Sunstate
Mohammed625
 
PPT
SunMicroSystems
Khasim Cise
 
PDF
Java keynote preso
Artur Alves
 
PDF
JavaOne 2010 Keynote
Tomoyuki Tatsuno
 
PPTX
1. Java Project Guidance for engineering
vyshukodumuri
 
PPTX
Soa204 Kawasaki Final
Anush Kumar
 
PPT
Sunstate
AbdulImrankhan7
 
PDF
01 java 2 micro edition
corneliuskoo
 
PPTX
Training Seminar
Bhaskar Mangal
 
PDF
Java Training in Chandigarh.Mastering Java: From Fundamentals to Advanced App...
aryan4bhardwaj37
 
PPTX
Case Study on Presentations AI_animated.pptx
Priya243992
 
PDF
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
François Le Droff
 
PDF
Development with JavaFX 9 in JDK 9.0.1
Wolfgang Weigend
 
PDF
tranning synopsis(java programming).pdf
sumitgiri32
 
Client Continuum Dec Fy09
Martha Rotter
 
Terence Barr - what's new in m&e - 24mai2011
Agora Group
 
Rococo Software Q409
Sean O'Sullivan
 
SPEC INDIA Java Case Study
SPEC INDIA
 
Sunstate
Mohammed625
 
SunMicroSystems
Khasim Cise
 
Java keynote preso
Artur Alves
 
JavaOne 2010 Keynote
Tomoyuki Tatsuno
 
1. Java Project Guidance for engineering
vyshukodumuri
 
Soa204 Kawasaki Final
Anush Kumar
 
Sunstate
AbdulImrankhan7
 
01 java 2 micro edition
corneliuskoo
 
Training Seminar
Bhaskar Mangal
 
Java Training in Chandigarh.Mastering Java: From Fundamentals to Advanced App...
aryan4bhardwaj37
 
Case Study on Presentations AI_animated.pptx
Priya243992
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
François Le Droff
 
Development with JavaFX 9 in JDK 9.0.1
Wolfgang Weigend
 
tranning synopsis(java programming).pdf
sumitgiri32
 
Ad

Recently uploaded (20)

PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Biography of Daniel Podor.pdf
Daniel Podor
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 

JavaFX - Bringing rich Internet applications ...

  • 1. JavaFX 1.2 Technical Introduction Terrence Barr ([email protected]) Senior Technologist and Community Ambassador Sun Microsystems
  • 2. A rich client platform for all screens JavaFX Highlights • Expressive rich client platform bringing together web, scripting, media, and Java • Targets desktop, browser, mobile, and entertainment with a unified development and deployment model • For (web) developers, designers, and creators • Adds new dimensions to the Java platform > Do cool stuff easily that was traditionally hard in Java > Leverage the power and pervasiveness of Java > Break from from the browser 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 3. A rich client platform for all screens Demos - Effects Playground - Photo Flockr - Video Box 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 4. A rich client platform for all screens RIA Development: Web RIA or Java? RI •Rich User Experience Web •Desktop focused, growing in Mobile A •Secure sandbox App •Moderate User Experience, improving •Ubiquity if player is available •Very limited access to •Limited access to system/network capabilities system/network capabilities (unless tied to specific browser) •Proprietary •Trending to fragmentation (browsers, APIs) Java •Multiple screens/platforms App •Proven security architecture •Access to system & network capabilities, deep integration •Difficult to create rich User Experience •Fragmented (e.g. media support) 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 5. A rich client platform for all screens RIA Development: Web RIA or Java? Leverage Strengths, Address Limitations RI Web Application A JavaFX, built on Java • Ubiquity (desktop, web, mobile, TV) • Proven security architecture • Access to system & network capabilities • Rich user experience and media • Scripting, declarative UI • Full browser integration, if desired • “Break Free” from browser 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 6. A rich client platform for all screens What Can You Build with JavaFX 1.2 • Cross-Browser Video playback • Interactive and immersive business applications • Mash-ups with REST based web services • Cloud applications • Applications that run across the browser, desktop, mobile and TV! 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 7. A rich client platform for all screens Demo - Indaba Session Console 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 8. A rich client platform for all screens JavaFX 1.2 Architecture, Tools, and Components 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 9. A rich client platform for all screens JavaFX 1.2 + Java Marketecture JavaFX Applications and Services JavaFX Apps Framework Authoring Tools JavaFX JavaFX JavaFX Desktop Mobile TV Developer Runtime Runtime Runtime Tools (IDE Plug ins, RAD, Production Suite) Desktop Mobile TV Extensions Extensions Extensions Designer Tools JavaFX Common Profile (Authoring, Publishing, Media Encoding) Java Platform (Java Plug in) 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 10. A rich client platform for all screens JavaFX Components • JavaFX Script - The Language • JavaFX Runtimes: Desktop/Web, Mobile, TV > 1.5 MB jar (700 KB packed), dynamically downloaded, cached, and updated as necessary (i.e. “no-hassle deployment”) • JavaFX Applications > In jar file(s), loaded via class loader > Standalone, via Java Web Start, as Applet, or mobile app • JavaFX Tools > FX Script compiler and runtime tools > IDE plug-in, designer tools > Graphics-, media-, web services-, and rich text libraries 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 11. A rich client platform for all screens Java 6 Update 10 - “Applets reloaded” • New Java “Kernel” > Componentized runtime – small modules loaded upon demand > Faster download and install of modules > Java QuickStarter: Faster cold-start, near-instant warm-start • New Browser Plug-In > Rewritten from scratch, new architecture (mostly in Java) > Applets run in separate process - independent of the browser – More control and reliability > Rewrite of “LiveConnect” JavaScript bridge – Interaction between browser (JavaScript) and Applet (Java) much improved 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 12. A rich client platform for all screens Demos - Video Box 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 13. A rich client platform for all screens JavaFX 1.2 Developer Tool Chain Media Assets Assets Integrated Emulated By Created By Transformed By Into IDEs (If Required) Adobe Illustrator JavaFX Plug-in Adobe for IDEs Photoshop JavaFX JavaFX Production Mobile Suite JavaFX Emulator On2 Flix Compiler Encoders (JavaFX File Format, VP6 and MP3) Adobe CS3 (Flash and 3rd Party Flash Video, JavaFX 1.5) RAD Tool (Open Source) 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 14. A rich client platform for all screens JavaFX 1.2 Plugin for NetBeans 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 15. A rich client platform for all screens Incorporate Existing Visual Assets with the JavaFX Production Suite 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 16. A rich client platform for all screens JavaFX 1.2 Features and Language 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 17. A rich client platform for all screens JavaFX Common Profile Features Components Features Compiler and >SE 5 and CLDC Target Languages >Geometric shapes, lines, >Clip with arbitrary geometric shapes curves, arc >Image masks Graphics + Text >Transparency >Fullscreen support >Gradient, color fill, texture >transforms (rotate, scale, skew) >Stroke styles >True Type font rendering >Base set of cross-platform UI >Cross-platform chart components UI Control + Chart controls (button, slider, progress (area-, bar-, pie-, bubble chart, etc) Components bar, label, radio button, etc.) 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 18. A rich client platform for all screens JavaFX Common Profile Features Components Features >Key frame animation >Standard animations Animation with tweening (rotate, zoom, slide) >Path-based animation >Cross platform audio (mp3) >Volume and audio balance control and video (On2) >Http + RTSP streaming with >Codec native media framework buffering fxm file format (FLV subset) Media support (DirectShow and Core Video), play, pause, seek, volume, balance, speed controls >Web services (JSON/XML parser, RESTful APIs, RSS/ATOM) >Persistent storage Other >Common text input control (CSS skinning) >Input handling (keyboard, mouse, touch) 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 19. A rich client platform for all screens Cross-Platform UI Control + Chart Components 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 20. A rich client platform for all screens JavaFX Scenegraph • Tree-like structure of graphical nodes • Easy, platform-neutral way of vector graphics representation Scene { Group { Rectangle, Circle javafx.scene.shape } } Rectangle javafx.scene.shape • Swing components can be Circle embedded (on Desktop profile) 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 21. A rich client platform for all screens JavaFX Script - The Basics • A powerful script programming language > Domain-specific: Designed for creating rich user interfaces > OO, statically typed, type inference, binding, sequences, timelines, ... > Declarative style (object literals) reflects UI layout > Functions are first-class objects > Seamless interoperation with Java (shares same runtime) • Built-in support for compelling graphics and media > Adds compositional behavior on top of Java2D > Easy and rich cross-platform graphics, animation, video & audio • Compiles to run on high-performance Java runtimes 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 22. A rich client platform for all screens “Hello World” - Swing version import javax.swing.*; public class HelloWorldSwing { public static void main(String[] args) { JFrame frame = new JFrame("HelloWorld Swing"); final JLabel label = new JLabel("Hello, World"); frame.getContentPane().add(label); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } } 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 23. A rich client platform for all screens “Hello World” - JavaFX version import javafx.stage.*; import javafx.scene.*; import javafx.scene.text.*; Stage { title: "HelloWorld JavaFX" scene: Scene { width: 200 height: 50 content: Text { x: 50, y: 20 content: "Hello, World" } } } 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 24. A rich client platform for all screens Appetizer - Some JavaFX Script Language Features • “HelloWorld”, animated > Add timeline for animation > Use binding to animate text position > Add button and mouse event handler to trigger animation > Use NetBeans “Realtime Preview” feature 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 25. A rich client platform for all screens JavaFX 1.2 Mobile 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 26. A rich client platform for all screens JavaFX Mobile Architecture JavaFX Runtime (Common API, SceneGraph, Media, Webservices) Sun Java Wireless Client (CLDC, MIDP 2.0, JSR 135) Software OpenVG OpenGL-ES Renderer Mobile Device Default Stack 2D Accelerated Stack 3D Accelerated Stack 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 27. A rich client platform for all screens JavaFX Mobile Overview • Announced at Mobile World Congress 2009 > Mobile Handset Partners: LG Electronics, Sony Ericsson • JavaFX 1.2 SDK > JavaFX Mobile runtime for Common Platform > JavaFX Mobile emulator (for Windows desktop) > JavaFX Mobile for Windows Mobile 1.2 EA released 8/2009 • Choice of platform targets > Create cross-platform applications using JavaFX Common Platform > Leverage mobile-specific features using JavaFX Common Platform – and/or JavaFX Mobile Elements – and/or mobile-specific JSR APIs (e.g. location, sensor, ...) 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 28. A rich client platform for all screens Create and Deploy to Desktop, Browser, & Mobile • Create with unified development > Common tools > Common code base > Common programming paradigm • Deploy at the touch of a button > Desktop application Desktop > Web Start > Applet (in and out of browser) > Mobile application (on emulator and phone) Browser Mobile 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 29. A rich client platform for all screens Demos - Mosaic - CloudDVR (video) 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 30. A rich client platform for all screens Wrap-Up 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 31. A rich client platform for all screens Wrapping Up • Now, Java has it all Volume of devices and platforms ✔ Large base of developers and content authors ✔ Expressiveness, compelling UI, and power ✔ Rapid application development ✔ Accessibility and wide range of tools ✔ Cross-platform ubiquity ✔ • See http://javafx.com for samples, videos, tools, docs, and tutorials 2009 Sun Microsystems, Incorporated. All Rights Reserved.
  • 32. Thank You. Terrence Barr ([email protected]) Senior Technologist and Community Ambassador Sun Microsystems