Java FX

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Developing

JavaFX Mobile
Applications
Noel Poore (noel.poore@sun.com)
Principal Engineer, Consumer Solutions
Today's Agenda


What is Java FX Mobile?

Architecture overview

What kinds of applications?

Developer tools?

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 2
The Network in Your Hand

JavaFX > Advanced Mobile OS


Modern OS

Mobile Run many apps at once


Linux Kernel + Java SE
Portable across devices
> Compelling User Experience
> Tuned for Web & Network
Services
> Brings desktop-class
software to the device
> Supports JavaFX Script
> Rich authoring tools
> Java is the native language
Sun Confidential Roadmap and Product Concepts are preliminary and
should not be viewed as a commitment 3
Some History
Sun acquired assets of SavaJe in May 2007
Demonstrated very early version of Java FX
Mobile at JavaOne 2007
> First public showing of SavaJe on Linux
We've been working hard since then
> Helping Sun to digest
2.8M lines of Java code
800K lines of C code
lots of third party and open source code
> Finalizing and testing the Linux port
> Writing a lot of new code

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 4
Sun Confidential Roadmap and Product Concepts are preliminary and
should not be viewed as a commitment 5
Core
> Modern multi-process environment
> Support efficient execution of Java code
> Robust, portable, adaptable
Frameworks
> Comprehensive set of domain specific functionality
> Serve multiple, concurrent applications
> Manage, control & observe secured platform resource
usage
User Experience
> Highly graphical, interactive, dynamic, flexible
> Design via discrete components
> Customizable & personalized
> Secure execution context for applications
Sun Confidential Roadmap and Product Concepts are preliminary and
should not be viewed as a commitment 6
Sun Confidential Roadmap and Product Concepts are preliminary and
should not be viewed as a commitment 7
Sun Confidential Roadmap and Product Concepts are preliminary and
should not be viewed as a commitment 8
Sun Confidential Roadmap and Product Concepts are preliminary and
should not be viewed as a commitment 9
Frameworks
Provide high-level, integrated functionality to
applications
Do more for the application than most environments
So we can
> insulate applications from things that change
e.g. where data is, how it is
cached/synchronized
> optimize memory & performance better
> be more responsive and adaptive
e.g. the system can learn from content usage
> provide a better, more consistent user experience

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 10
Frameworks
All of the built in applications are written in Java
Almost all of the APIs used by these applications are
accessible by third party applications
> Subject to security policy
We want third party applications to integrate as
seamlessly as possible

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 11
Functionality
> Platform Look & Feel
> Swing-based UI components
> Java FX Script UI support
> Java2D
> MIDP LCDUI/Games
> M3D
> FBR (Compositing engine)
> Window manager
> SVG renderer
> Theme service

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 12
Functionality
> Still camera
> Camcorder
> Streaming playback
Audio and video
From local file or from the network
> Sampled audio
> Synthesized audio
> SMIL

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 13
Functionality
> IPv4 & Ipv6
CSD
GPRS/EDGE/UMTS
WiFi
USB ethernet
> zeroconf + mDNS
> Network Manager

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 14
Functionality
> IM & Presence
OM IMPS
Jabber
> CBS
> SMS
> MMS
> Email (IMAP)

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 15
Functionality
> JVM
> Base CLDC/MIDP stack
> Java SE
> IPC

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 16
Functionality
> Alarm
> Events
> Power Manager
> Battery Manager
> Filesystems
> Security

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 17
Functionality
> Bluetooth
> USB
> Firewire
> Sync engines
IrMC
SyncML
> Service discovery
> DUN

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 18
Functionality
> Application Manager
MIDP Provisioning
JNLP Provisioning
> Software Update
> Settings Service
> WAP & OMA Provisioning
> OMA Device Management

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 19
Functionality
> Information service
> PIM
Contacts
Calendar
Todo
Notes
Model loader
DRM
Content handling
Backup/restore

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 20
Functionality
> Browsing and rendering
WebKit
HTML rendering component
> Web service support
RSS/ATOM Feed Service
JSON
Blog publishing
> Web service implementations
automatic picture upload
server-side email filtering configuration
...

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 21
Functionality
> GSM voice
> CSD and GPRS/EDGE/UMTS packet data
> Supplementary Services
Caller ID / Call waiting / Call hold
Call forwarding / barring
Multiparty
USSD
> SIM/USIM
Phonebook, emergency #, own #, etc
SIM/USIM toolkit
> Fixed Dialing Numbers
> CPHS
> Mobility management
Network selection
Preferred networks
Assisted roaming

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 22
Sun Confidential Roadmap and Product Concepts are preliminary and
should not be viewed as a commitment 23
Sun Confidential Roadmap and Product Concepts are preliminary and
should not be viewed as a commitment 24
Application Support
Can run any number of each kind of application
> Limited by memory
Each application
> Runs in it's own Java Process (JProc)
Like a virtual VM
> Runs in the appropriate Java environment
So midlets only see MIDP/MSA classes
> Has it's own security manager
Security policy audited at install time
> Has it's own graphics context
> Has it's own event thread
> Has it's own application class loader
> Has it's own...
Sun Confidential Roadmap and Product Concepts are preliminary and
should not be viewed as a commitment 25
Java FX Mobile Core Processes

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 26
Java FX Script Applications
Java FX Script
> Rich graphical scripting environment
> Use Java SE functionality
> Use Java FX Mobile APIs

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 27
Java FX Mobile Applications
Use familiar Swing APIs
Use Java SE functionality
Use Java FX Mobile APIs for domain-specific
functionality
JNLP application descriptor

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 28
MIDP/MSA Support
MIDP 2.1 and MSA subset
Good compatibility for existing midlets

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 29
Developer Tools
A full set of tools based on Netbeans will be provided
> Will support both Swing and FX Script
As well as the FX Mobile APIs
> Java FX Mobile emulator
> JDWP source level debug
> One button build/deploy/run
We will be announcing a developer program soon
> Please stay tuned!

Sun Confidential Roadmap and Product Concepts are preliminary and


should not be viewed as a commitment 30
Questions?

You might also like