37
1 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. JavaFX 2.0 - Next generation Java client solution Nandini Ramani Client Java Group Vice President

JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

1 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

JavaFX 2.0 - Next generation Java client solution

Nandini Ramani

Client Java Group Vice President

Page 2: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

2 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

The following is intended to outline our general product

direction. It is intended for information purposes only, and

may not be incorporated into any contract. It is not a

commitment to deliver any material, code, or functionality,

and should not be relied upon in making purchasing

decisions. The development, release, and timing of any

features or functionality described for Oracle’s products

remains at the sole discretion of Oracle.

Page 3: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

3 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Moving Java Forward

Page 4: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

4 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Java Scorecard 2011 - Technology

Result

Java SE

JDK 7 GA

JDK 7 for Mac OS X Developer Preview

JRockit released gratis under same license as JDK

Java EE

GlassFish 3.1.1

Java EE 7 specification development underway

Java FX

Java FX 2.0 GA

Java FX 2.0 for Mac OS X Developer Preview

JavaFX OpenSource

Java ME/

Embedded

Oracle Java Wireless Client 3.0

Oracle Java Embedded Client 1.0

Java SE for Embedded 7

Java ME SDK 3.0.5 and LWUIT 1.5

Page 5: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

5 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Java Scorecard 2011: Community Scoreboard – Community

OpenJDK

IBM, Apple, SAP, Azul join OpenJDK

OpenJDK community bylaws ratified

OpenJDK becomes official Java SE 7 Reference Implementation

JVM Language Summit held July 2011

OpenJDK Twitter feed launched with thousands of followers

JCP

JSR for Java SE 7 passed & JSR for Java SE 8 submitted & in process

SouJava, London JUG elected to JCP Executive Committee

JSR 348 in process for greater transparency

JSR 342 submitted for Java EE 7 platform

JUGs

Oracle lead bi-weekly JUG leaders call

Oracle lead JUG leader summit January 2011

Over 250 JUGs from 50+ countries involved in JDK 7 launch

Page 6: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

6 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Java Scorecard 2011 - Oracle Leadership

Scoreboard - Oracle Leadership

Ongoing

Investment

Successfully integrated Java development teams (We’re hiring!)

Launched global JavaOne: Brazil, China, Russia, India

Reinvigorated flagship JavaOne 2011

Community

Outreach

Oracle launches Java Magazine (over 50k subscriptions)

Over 80 Java Developer Days held around the world

Java evangelist team reaches 80k developers @ 170 events

Over 250k Java Podcast downloads

Validation

JDK downloads up 91% Year over Year

Over 1 million active NetBeans users

Increase of TV devices running Java from 80 million to 115 million

Over 45,000 Java ME applications

Page 7: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

7 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

JavaSE Roadmap

2011 2012 2013

JDK 7u2 • JRE 7 on java.com

• JavaFX 2.0 co-install

JDK 8 • Windows, Linux,

Solaris, OS X

• Jigsaw

• Lambda

• JavaFX 3.0

• Complete Oracle JVM

convergence

• JavaScript interop

• more

Last public

JDK 6 update

JDK 7u6 • OS X JRE port

(for end-users)

• Improved OS

integration,

auto-update JDK 7

JDK 7u4 • OS X JDK Port

(for developers)

2014

NetBeans 7 • Java SE 7

support

• more

NetBeans.next • Java SE 8 support

• JavaFX 3.0 support

• more

Mac OS X • JDK 7 Dev Preview

• JavaFX 2.0 Dev Preview

NetBeans 7.1 • JavaFX 2.0 support

Page 8: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

8 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

JavaME/Embedded Roadmap

2012 2013

Oracle Java

Wireless Client 3.1

Java SE 7 alignment • CLDC 7

• New APIs for Embedded

and Mobile

Java ME 7

CDC/Java SE

convergence

Java Embedded 8

Java SE 8 alignment • New APIs for Embedded

and Mobile

Java ME 8

Mobile Services • Payment

• Store

• Carrier apps

Page 9: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

9 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Java EE Roadmap

2009 2010 2011

GlassFish Server 3.1.2 • Bug Fixes

• Incremental Features

GlassFish Server 3.1 • Centralized administration

• Clustering / HA

• GlassFish Server Control

2012

GlassFish Server 4 • Java EE 7

• Multitenancy

• PaaS-enablement

GlassFish v3 • Java EE 6 Support

• Single Instance

• GlassFish Enterprise Mgr

GlassFish Server 3.0.1 • Oracle Branding

• Oracle Platform Support

• Oracle Interoperability

GlassFish Server 3.1.1 • Bug Fixes

• Updated Components

• Incremental Features

Page 10: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

10 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Project Avatar

• HTML 5 Clients

– Utilize bi-directional communication to enable event-driven applications

– Rich, standardized client-side programming model: APIs, high-performance

JavaScript and standardized offline capabilities

• The Cloud

– We’ve got the building blocks: WebSockets (Comet), JSON (JAX RS), RESTful

WS

– Missing data change notifications, asynchronous infrastructure, and …

• Programming Model

– More than the sum of the parts

– Web-native, bi-directional binding to the cloud

– Unifying Java ME, SE and EE

Page 11: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

11 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Project Avatar - Scope Complete Solution for Dynamic Rich Clients

HTML 5 browser

HTML & Java

hybrid application

Java application Java EE Cloud

JSON over

WebSocket

Page 12: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

12 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

JavaFX

Page 13: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

13 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

JavaFX Design Objectives

• Cross Platform

• Leverage Java

• Advanced Tooling

• Developer Productivity

• Amazing User Interfaces

Page 14: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

14 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Cross Platform, Leverage Java

• Developers need cross platform!

– Same Language, APIs, Tools

– Must be available on every major client computing platform

• Leverage the massive Java Ecosystem

– Over 9 million developers

– Existing Knowledge: POJOs, Collections, JavaBeans

– Ready For Java 8: Lambda’s, Modularity

Page 15: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

15 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Cross Platform, Leverage Java

• Java has the best IDEs

– Must have good visual tools

• Productivity = Java + Tools + Docs + API Consistency

• JavaFX must facilitate creation of modern, sophisticated,

“magical” user interfaces

– What was once eye candy is now a required feature!

– Designer / Developer workflow is key

Page 16: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

16 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Recent Announcements

• JavaFX 2.0 General Availability

• JavaFX 2.0 Developer Preview for Mac OS X

• JavaFX Scene Builder Early Access and NetBeans 7.1

• Open Source and Standardization

Page 17: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

17 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

JavaFX is the evolution of Java as a rich client platform.

It is designed to provide a modern Java environment

designed to provide a lightweight, hardware accelerated

UI platform that meets tomorrow’s needs.

Page 18: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

18 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Where does JavaFX fit in the Java platform?

Java Language

Java EE 6

JVM Card VM

Java SE 7 Java TV & Java ME Java Card

JavaFX 2.0

Java ME VM

Page 19: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

19 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Key Features

• 100% Java API

• Powerful new APIs

• FXML for UI markup

• Integrated web content

• Swing integration

• Rich Graphics and Animation

Page 20: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

20 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

JavaFX Runtime High Level Architecture

• Glass Windowing Toolkit: Provides native operating services, such as

managing the windows, timers, and surfaces

• Prism: Graphics pipeline that can run on hardware and software renderers

• Quantum Toolkit: Ties Prism and Glass together and makes them

available to the JavaFX APIs

Page 21: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

21 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Key Features 1 of 4

Java APIs for JavaFX

• End-to-end Java development

• Java language features - generics,

annotations, multi-threading

• Fluent API for UI construction

• Alternative JVM supported languages

(e.g. Groovy, Scala) with JavaFX

• Leverage sophisticated Java IDEs,

debuggers and profilers

• Java APIs preserve convenient

JavaFX Script features (e.g., bind)

FXML

• Scriptable, XML-based markup

language for defining UI

• Convenient alternative to developing

UI programmatically in Java

• Easy to learn and intuitive for

developers familiar with web

technologies or other markup based

UI technologies

• Powerful scripting feature allows

embedding scripts within FXML. Any

JVM scripting language can be used,

including JavaScript, Groovy, and

Scala

Page 22: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

22 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Key Features 2 of 4

Media

• Stable media framework based on

GStreamer

• VP6, MP3 playback of Web

multimedia content

• Low latency audio

• Alpha channel support

• Performance improvements

• Full screen video

• New hardware accelerated graphics

pipeline (Prism)

• New windowing toolkit (Glass) for

Prism

• Java2D software pipeline under

Prism

• High-level support for making rich

graphics simple

• Shadows, Blurs, Reflections, Effects,

2D transforms

• 3D Transforms today; Full 3D objects

in future

New Graphics Pipeline

Page 23: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

23 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Key Features 3 of 4

• Embed Web content

in JavaFX

applications

• HTML rendering

based on Webkit

• Hardware accelerated

rendering using

PRISM

• DOM access and

manipulation

WebView Component

• Embed JavaFX

content into existing

Swing applications

• Extend existing Swing

applications with new

JavaFX features such

as WebView and

high-performance

graphics

Swing/JavaFX Interop

• Faster loading of

JavaFX Web

applications based on

Prism

• Preloader for

improved user

experience with

JavaFX Web

applications

Browser Plugin

Page 24: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

24 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Key Features - JavaFX UI Controls 4 of 4

• Button

• Cell

• CheckBox

• ChoiceBox

• Hyperlink

• IndexedCell

• Label

• ListCell

• ListView

• PasswordBox

• ProgressBar

• ProgressIndicator

• RadioButton

• ScrollBar

• ScrollPane

• Separator

• Slider

• TextBoxToggleButton

• ToggleGroup

• ToolTip

• CheckMenuItem

• CustomMenuItem

• GridPane

• Menu

• MenuBar

• MenuButton

• MenuItem

• PopupMenu

• RadioMenuItem

• SplitMenuButton

• ToolBar

• TreeCell

• TreeView

• Accordion

• SplitPane

• Table

• Tab

• TabPane

• TitledPane

• AreaChart

• BarChart

• BubbleChart

• Chart

• LineChart

• PieChart

• ScatterChart

• XYChart

Page 25: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

25 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Demo Ensemble and

Henley Car Sales

Page 26: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

26 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Hello World in JavaFX Programming in Java public class JavaFXExample extends Application {

@Override public void start(Stage stage){

Scene scene = new Scene(

LabelBuilder.create()

.text("Hello World!")

.layoutX(25)

.build());

stage.setTitle("Welcome to JavaFX!");

stage.setScene(scene);

stage.show();

}

public static void main(String[] args) {

launch(args);

}

}

Page 27: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

27 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Hello World in JavaFX 2.0 Programming in FXML and Java FXML <BorderPane>

<center>

<Label text=”%helloworld"/>

</center>

</BorderPane>

Java public class FXMLExample extends Application {

@Override public void start(Stage stage) throws Exception {

stage.setTitle("FXML Example");

Parent root = FXMLLoader.load(getClass().getResource (“example.fxml"),

ResourceBundle.getBundle(“r.fxml_example"));

stage.setScene(new Scene(root));

stage.show();

}

public static void main(String[] args) { launch(args); }

}

Note: Example is

for illustration and

not syntactically

accurate

Page 28: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

28 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Standard Java Tools for Easy Development

• Source editor with improved syntactic

highlighting, code completion, refactoring etc.

• Full debugger and profiler support

• Project wizard for easy creation of JavaFX

applications

Other Java IDEs

• Source editor with syntactic highlighting,

code completion, refactoring etc.

• Full debugger and Profiler support

Page 29: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

29 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

JavaFX Scene Builder for Rapid UI Design

• WYSIWYG GUI design tool for the

JavaFX platform

• Enables designing user interface

screens by simply dragging and

positioning GUI components from a

palette onto a scene

• Generates files in FXML format that

can be used within a project in any IDE

such as NetBeans or Eclipse

• Can be used to create GUI for desktop

and Web applications

• Currently in Early Access (by invitation)

Page 30: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

30 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Demo JavaFX Labs

Page 31: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

31 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

JavaFX - Moving Forward

Oracle’s next generation Java client solution

• Built on Java in Java

• Modular architecture

• Migration path for Java client UI technologies

• Advanced tooling

• Support for modern device interaction

• Delivering on the cross-platform promise

Page 32: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

32 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

JavaFX Goals for 2012

• Tighter Integration with Java SE

• Migration Path for Java Client UI Technologies

• Optimized Web Services Support

• Advanced Tooling

• Support for Modern Device Interactions

• Delivering on the Cross Platform Promise

Oracle’s Next Generation Java Client Solution

Open Source

• OpenJFX project under

OpenJDK

• First phase to focus on

UI Controls

Standardization

• Oracle committed to

JavaFX standardization

• JSR to be submitted

through JCP

Convergence

• Common license

with Java SE

• JavaFX to be

included in Java 8

• JavaFX to reach out

to Java Embedded

Page 33: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

33 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

JavaFX Roadmap

2011 2012 2013

JavaFX 3.0 • Included in JDK 8

• Concurrent OS support

(Windows, Mac OS, Linux)

JavaFX

Scene Builder GA

JavaFX 2.1 • Mac OS X GA

• Linux Dev. Preview

2014

NetBeans.next • JavaFX 3.0 Support

• more

JavaFX 2.0 GA • Windows GA

• Mac OS X Dev. Preview

JavaFX 2.0.2 • JDK 7 co-install

JavaFX 2.2 • Linux GA

JavaFX

Scene Builder EA

NetBeans 7.1 • JavaFX 2.0 Support

Page 34: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

34 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

One More Thing

Page 35: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

35 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Call to Action

• Download JavaFX 2.0

– http://javafx.com

• Join the OpenJFX project

– http://openjdk.java.net

• Participate in the JavaFX OTN Forum

– http://forums.oracle.com/forums/forum.jspa?forumID=1385

• File bugs, feature requests

– http://javafx-jira.kenai.com

Page 36: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

36 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.

Page 37: JavaFX 2.0 - Next generation Java client solution...JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java

37 Copyright © 2011, Oracle and/or its affiliates. All rights

reserved.