Java Comes Home to the Consumer Chet Haase Java SE Client - - PowerPoint PPT Presentation

java comes home to the consumer
SMART_READER_LITE
LIVE PREVIEW

Java Comes Home to the Consumer Chet Haase Java SE Client - - PowerPoint PPT Presentation

Java Comes Home to the Consumer Chet Haase Java SE Client Architect Java Comes Home to the Consumer Chet Haase Java SE Client Architect Agenda Java SE 6 Update N Java FX JDK7 Agenda Java SE 6 Update N Java FX


slide-1
SLIDE 1

Java Comes Home to the Consumer

Chet Haase

Java SE Client Architect

slide-2
SLIDE 2

Java Comes Home to the Consumer

Chet Haase

Java SE Client Architect

slide-3
SLIDE 3

Agenda

  • Java SE 6
  • Update N
  • Java FX
  • JDK7
slide-4
SLIDE 4

Agenda

  • Java SE 6
  • Update N
  • Java FX
  • JDK7
slide-5
SLIDE 5

Java SE 6: Awesome Desktop Release

Desktop API

TrayIcon

Improved native look & feel

New OS support (Vista)

SwingWorker

Project Matisse and Group Layout

Gray Rect fix

JTable Sorting and Filtering

LCD Text

Single-Threaded Rendering

Desktop AA Text Properties

Better Curved Primitives Splash Screen

Better Security Dialogs

Graphics Acceleration Improvements

Is anyone still reading this?

slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8

Agenda

  • Java SE 6
  • Update N
  • Java FX
  • JDK7
slide-9
SLIDE 9

Consumer JRE Project Hamburg Java SE6, Update X Java SE 6, Update N (???) (Ask me next week)

slide-10
SLIDE 10

Consumer JRE Project Hamburg Java SE6, Update X Java SE 6, Update N (???) (Ask me next week)

slide-11
SLIDE 11

Consumer JRE Project Hamburg Java SE 6, Update X Java SE 6, Update N (???) (Ask me next week)

slide-12
SLIDE 12

Consumer JRE Project Hamburg Java SE 6, Update X Java SE 6, Update N (???) (Ask me next week)

slide-13
SLIDE 13

Outstanding Problems

  • Startup Time
  • Install Time
  • JRE Detection
  • Applet support
slide-14
SLIDE 14

Startup Time

slide-15
SLIDE 15

QuickStarter

  • “Coldstart” vs. “Warmstart”
  • Root problem:

> Large files + Disk access speed

  • Solution: QuickStarter

> Pre-warm the disk cache

  • Note: QuickStarter != running VM

> Smaller footprint, more targeted disk pages

slide-16
SLIDE 16

Install Time

slide-17
SLIDE 17

Install Time

  • Java's not small

> J2SE 5.0: 7.1 MB > Java SE 6: 10+ MB > rt.jar: 40+ MB on disk

  • Lots of bits being moved around

> Download, Unzip, Unpack200, Copying

  • Solution: Java Kernel

> Download only core dependencies first > Launch application > Download and install in the background

slide-18
SLIDE 18

Kernel: Most Apps Need Only a Small Portion of the Full JRE

slide-19
SLIDE 19

JRE Detection

slide-20
SLIDE 20

Deployment Toolkit

  • Detecting Java from a web page is hard

> Does the user have Java? > What version? > How to get user to install and return?

  • Result: Most applets use old (1.1) APIs

> Allows them to run compatibly on old versions >e.g., MS VM

  • Solution: Deployment Toolkit

> JavaScript hosted at Sun for general detection > Plugins (ActiveX and Mozilla) for more specific detection > Detect, start installation if necessary, launch

slide-21
SLIDE 21

Applets

slide-22
SLIDE 22

New Plugin Architecture

  • Out-of-process

> Small core process for overall plugin > Separate process(es) for applets > Faster startup > Better signed applet behavior on Vista

  • Increased robustness
  • Better JavaScript/Java communication support
  • Different JVM options per-applet
  • Different applets can run different JRE versions
slide-23
SLIDE 23

But Wait, There's More

slide-24
SLIDE 24

Graphics Goodies

  • Better Windows graphics performance

> GPU-accelerated, using Direct3D > On by default

  • Nimbus:

> Cross-platform look & feel > More modern than current Metal look & feel > Opt-in: Not the default look & feel >Preserves backwards compatibility > Design tool for creating new skins

slide-25
SLIDE 25

Nimbus

slide-26
SLIDE 26

Update [whe]N?

  • Early Access available now

> https://jdk6.dev.java.net/6uNea.html > Everything seen here except: >Java Kernel should be added in the next couple of weeks (b07) >New plugin should be added in the following build (b08)

  • Beta planned for February
  • GA planned for early second half of 2008
slide-27
SLIDE 27

Agenda

  • Java SE 6
  • Update N
  • Java FX
  • JDK7
slide-28
SLIDE 28

Java FX: Expanding the Developer Base

Java Developers Script Developers Visual Designers

Skill Required JavaFX Script

slide-29
SLIDE 29

Java FX: Expanding the Developer Base

Java Developers Script Developers Visual Designers

Skill Required JavaFX Script

slide-30
SLIDE 30

Java FX

  • Java FX Script

> Making consumer application development easier > Runs on the Java platform > Media-intensive > Built-in animation > Fast prototyping of GUIs and graphics

  • Early access version available now

> http://openjfx.dev.java.net

slide-31
SLIDE 31

Java FX Features

  • Java FX Script
  • Scene graph
  • Media
  • HTML
  • Multiple Device
slide-32
SLIDE 32

Java FX Script

slide-33
SLIDE 33

Java FX Script

  • Language

> Simple data binding > Fast prototyping > Declarative GUIs and graphics > Easily programmed animations

  • Compiler

> Interpreter (now): okay for demos > Compiler (soon): necessary for real applications

slide-34
SLIDE 34

Scene Graph

slide-35
SLIDE 35

Scene Graph

  • “Retained mode” graphics

> Versus immediate-mode 2D API

  • More declarative model for:

> Graphics > GUI > Media

  • Also:

> Animation

slide-36
SLIDE 36

Media

slide-37
SLIDE 37

Old TODO List

slide-38
SLIDE 38

Recent TODO List

slide-39
SLIDE 39

Media

  • Media player component

> Video > Audio > Simple player component creation

  • Modern codecs

> native > cross-platform

slide-40
SLIDE 40

<HTML>

slide-41
SLIDE 41

HTML

  • Swing HTML support intentionally basic
  • Need new component for “street HTML” rendering
  • Will allow integrated Swing, graphics, and HTML

applications

slide-42
SLIDE 42

Mobile

slide-43
SLIDE 43

FX Mobile

  • Java FX Script isn't just for desktop

> Java FX Mobile platform

  • Development skills that carry between platforms

> Not mobile developers > Developers with skills that are mobile

  • Easier authoring of applications for multiple devices
slide-44
SLIDE 44

Agenda

  • Java SE 6
  • Update N
  • Java FX
  • JDK7
slide-45
SLIDE 45

JDK 7: More Client Goodness

  • Some internal FX capabilities may become real

Java APIs

> e.g., scene graph, animation

  • Continued emphasis on client

> But other important platform work continues >VM, GC, OS-related features

  • Availability

> Sometime after FX release

slide-46
SLIDE 46

Java SE 7: Sampling of Features

  • Still in the planning stages

> These represent important features that we would like to

see in the release

> ... but whether they make it depends on resources

  • Remember, this is software

> Some of these will not happen > Other features, not mentioned here, will happen

slide-47
SLIDE 47

JDK7 Feature Samples: Client

  • FX features carry-over

> Media > Animation > Scene graph > HTML component

  • JSR 295: Data binding
  • JSR 296: Swing application framework
  • Transparent/shaped windows
  • Heavyweight/lightweight mixing
  • GetJava executable
slide-48
SLIDE 48

JDK7 Feature Samples: Core

  • Startup performance
  • Hotspot performance
  • JSR 277: Java Modules
  • JSR 294: Super packages
  • Improved DTrace/Java integration
  • JSR 203: More NIO
  • Garbage-First (G1)
  • Attach-on-demand debugging
  • JSR 255 and 262: JMX
  • Tiered Compilation
slide-49
SLIDE 49

JDK7 Feature Samples: Language

  • Invoke-dynamic bytecode
  • Closures
  • Shorthand for JavaBean properties
  • Smaller proposals

> Declaring and constructing a variable instance > Strings in switch statements

slide-50
SLIDE 50

For More Information

  • Java SE 6 Update N

> https://jdk6.dev.java.net/6uNea.html

  • JavaFX

> https://openjfx.dev.java.net/

slide-51
SLIDE 51

Java Comes Home to the Consumer

Chet Haase

Java SE Client Architect