SlideShare a Scribd company logo
1 of 32
Download to read offline
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

Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXTweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Bruno Borges
 
SANS Institute Product Review of Oracle Identity Manager
SANS Institute Product Review of Oracle Identity ManagerSANS Institute Product Review of Oracle Identity Manager
SANS Institute Product Review of Oracle Identity Manager
OracleIDM
 
Oracle iAS Forms to WebLogic Suite for Alesco
Oracle iAS Forms to WebLogic Suite for AlescoOracle iAS Forms to WebLogic Suite for Alesco
Oracle iAS Forms to WebLogic Suite for Alesco
Fumiko Yamashita
 
Matt Wright - The Application Grid
Matt Wright - The Application GridMatt Wright - The Application Grid
Matt Wright - The Application Grid
Saul Cunningham
 

What's hot (20)

Introduction to Wonderware InduSoft Web Studio 8.0+SP2
Introduction to Wonderware InduSoft Web Studio 8.0+SP2Introduction to Wonderware InduSoft Web Studio 8.0+SP2
Introduction to Wonderware InduSoft Web Studio 8.0+SP2
 
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXTweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
 
2014 Liferay Roadshow Ambientia Finland
2014  Liferay Roadshow Ambientia Finland2014  Liferay Roadshow Ambientia Finland
2014 Liferay Roadshow Ambientia Finland
 
Dmz aa aioug
Dmz aa aiougDmz aa aioug
Dmz aa aioug
 
Oracle Middleware and Hardware Complete Solution
Oracle Middleware and Hardware Complete SolutionOracle Middleware and Hardware Complete Solution
Oracle Middleware and Hardware Complete Solution
 
Liferay Portal Introduction
Liferay Portal IntroductionLiferay Portal Introduction
Liferay Portal Introduction
 
SANS Institute Product Review of Oracle Identity Manager
SANS Institute Product Review of Oracle Identity ManagerSANS Institute Product Review of Oracle Identity Manager
SANS Institute Product Review of Oracle Identity Manager
 
Java, app servers and oracle application grid
Java, app servers and oracle application gridJava, app servers and oracle application grid
Java, app servers and oracle application grid
 
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
 
An Introduction to IaaS Framework
An Introduction to IaaS FrameworkAn Introduction to IaaS Framework
An Introduction to IaaS Framework
 
WebRTC Customer Experience Optimizations - Kranky Geek Presentation
WebRTC Customer Experience Optimizations  - Kranky Geek PresentationWebRTC Customer Experience Optimizations  - Kranky Geek Presentation
WebRTC Customer Experience Optimizations - Kranky Geek Presentation
 
WebRTC Meetup @ Oracle San Francisco
WebRTC Meetup @ Oracle San FranciscoWebRTC Meetup @ Oracle San Francisco
WebRTC Meetup @ Oracle San Francisco
 
Oracle iAS Forms to WebLogic Suite for Alesco
Oracle iAS Forms to WebLogic Suite for AlescoOracle iAS Forms to WebLogic Suite for Alesco
Oracle iAS Forms to WebLogic Suite for Alesco
 
Liferay Italy Symposium 2015 Liferay Mobile SDK and Liferay Screens
Liferay Italy Symposium 2015 Liferay Mobile SDK and Liferay ScreensLiferay Italy Symposium 2015 Liferay Mobile SDK and Liferay Screens
Liferay Italy Symposium 2015 Liferay Mobile SDK and Liferay Screens
 
EBS Upgrade to Oracle Cloud Platform
EBS Upgrade to Oracle Cloud PlatformEBS Upgrade to Oracle Cloud Platform
EBS Upgrade to Oracle Cloud Platform
 
KBACE Applied Identity Management
KBACE Applied Identity ManagementKBACE Applied Identity Management
KBACE Applied Identity Management
 
Systems Resource Management with NetIQ AppManager
Systems Resource Management with NetIQ AppManagerSystems Resource Management with NetIQ AppManager
Systems Resource Management with NetIQ AppManager
 
Managing Oracle Fusion Middleware
Managing Oracle Fusion MiddlewareManaging Oracle Fusion Middleware
Managing Oracle Fusion Middleware
 
Matt Wright - The Application Grid
Matt Wright - The Application GridMatt Wright - The Application Grid
Matt Wright - The Application Grid
 
Developing Oracle Fusion Middleware Applications in the Cloud
Developing Oracle Fusion Middleware Applications in the CloudDeveloping Oracle Fusion Middleware Applications in the Cloud
Developing Oracle Fusion Middleware Applications in the Cloud
 

Viewers also liked (8)

Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 
JavaFX Uni Parthenope
JavaFX Uni ParthenopeJavaFX Uni Parthenope
JavaFX Uni Parthenope
 
Presentation - Course about JavaFX
Presentation - Course about JavaFXPresentation - Course about JavaFX
Presentation - Course about JavaFX
 
Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7
 
RESTful Web Services with JAX-RS
RESTful Web Services with JAX-RSRESTful Web Services with JAX-RS
RESTful Web Services with JAX-RS
 
JavaFX Presentation
JavaFX PresentationJavaFX Presentation
JavaFX Presentation
 
JavaFX for Java Developers
JavaFX for Java DevelopersJavaFX for Java Developers
JavaFX for Java Developers
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 

Similar to JavaFX - Bringing rich Internet applications ...

Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
Martha Rotter
 
Terence Barr - what's new in m&e - 24mai2011
Terence Barr - what's new in m&e - 24mai2011Terence Barr - what's new in m&e - 24mai2011
Terence Barr - what's new in m&e - 24mai2011
Agora Group
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
SPEC INDIA
 

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

JavaFx
JavaFxJavaFx
JavaFx
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
 
Terence Barr - what's new in m&e - 24mai2011
Terence Barr - what's new in m&e - 24mai2011Terence Barr - what's new in m&e - 24mai2011
Terence Barr - what's new in m&e - 24mai2011
 
Rococo Software Q409
Rococo Software Q409Rococo Software Q409
Rococo Software Q409
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
Sunstate
SunstateSunstate
Sunstate
 
SunMicroSystems
SunMicroSystemsSunMicroSystems
SunMicroSystems
 
Java keynote preso
Java keynote presoJava keynote preso
Java keynote preso
 
JavaOne 2010 Keynote
JavaOne 2010 Keynote JavaOne 2010 Keynote
JavaOne 2010 Keynote
 
Soa204 Kawasaki Final
Soa204 Kawasaki FinalSoa204 Kawasaki Final
Soa204 Kawasaki Final
 
Sunstate
SunstateSunstate
Sunstate
 
01 java 2 micro edition
01 java 2 micro edition01 java 2 micro edition
01 java 2 micro edition
 
Training Seminar
Training SeminarTraining Seminar
Training Seminar
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1
 
tranning synopsis(java programming).pdf
tranning synopsis(java programming).pdftranning synopsis(java programming).pdf
tranning synopsis(java programming).pdf
 
Sotona
SotonaSotona
Sotona
 
eduhub360
eduhub360eduhub360
eduhub360
 
V c loudapi_coffeetalk__pimplaskar_may2010
V c loudapi_coffeetalk__pimplaskar_may2010V c loudapi_coffeetalk__pimplaskar_may2010
V c loudapi_coffeetalk__pimplaskar_may2010
 
RIA
RIARIA
RIA
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

JavaFX - Bringing rich Internet applications ...

  • 1. JavaFX 1.2 Technical Introduction Terrence Barr (terrence.barr@sun.com) 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 (terrence.barr@sun.com) Senior Technologist and Community Ambassador Sun Microsystems