Java FX Script - From Takeoff To Cruising Altitude
-
Upload
matthew-mccullough -
Category
Education
-
view
2.095 -
download
0
description
Transcript of Java FX Script - From Takeoff To Cruising Altitude
JavaFX ScriptFrom Takeoff to Cruising Altitude...
Matthew J. McCulloughAmbient Ideas, LLC
Deployments
A quick review of terms
JavaFX Script
JavaFX Mobile
JavaFX Script
•Complete Mobile Phone Stack
•Think “Google Android”
JavaFX Mobile
•Formerly known as F3
•A new Java-like scripting language specifically for RIAs
•Think Silverlight, Flex, or AIR
JavaFX Script
The write once, run anywhere portability of Java technology has helped make it the world's most widely deployed application platform. Now, Sun is introducing JavaFX Script, a highly productive scripting language that enables content developers to leverage the enormous popularity of Java to create rich applications and services for deployment on the widest range of platforms - from mobile devices to set-top boxes and Blu-ray Discs to desktops.
“
”
Hello RIA WorldCode Demo
Competing withother Runtimes
*Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer*AIR to support Linux at a later date
Product Browser Desktop Platforms
*Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer*AIR to support Linux at a later date
Product Browser Desktop Platforms
Ajax ✔ 3*
*Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer*AIR to support Linux at a later date
Product Browser Desktop Platforms
Ajax ✔ 3*
Adobe Flash ✔ 4
*Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer*AIR to support Linux at a later date
Product Browser Desktop Platforms
Ajax ✔ 3*
Adobe Flash ✔ 4
Adobe Flex ✔ 4
*Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer*AIR to support Linux at a later date
Product Browser Desktop Platforms
Ajax ✔ 3*
Adobe Flash ✔ 4
Adobe Flex ✔ 4
Adobe AIR ✔ 2*
*Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer*AIR to support Linux at a later date
Product Browser Desktop Platforms
Ajax ✔ 3*
Adobe Flash ✔ 4
Adobe Flex ✔ 4
Adobe AIR ✔ 2*
Microsoft Silverlight ✔ 2
*Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer*AIR to support Linux at a later date
Product Browser Desktop Platforms
Ajax ✔ 3*
Adobe Flash ✔ 4
Adobe Flex ✔ 4
Adobe AIR ✔ 2*
Microsoft Silverlight ✔ 2
Sun JavaFX Script ✔ ✔ 4+
*Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer*AIR to support Linux at a later date
Applets are Back&
WebStart is Hot
JavaFX Interest Poll
JavaFWhat?Not At AllNot VerySomewhatVery
Source: Java.net JavaFX Poll, August 2007
JavaFX Interest Poll
JavaFWhat?Not At AllNot VerySomewhatVery
Source: Java.net JavaFX Poll, August 2007
70%
Source: TIOBE Programming Community Index for December 2007
Source: TIOBE Programming Community Index for December 2007
Mouse EventsCode Demo
Just Show MeSomething Cool
Music PinboardDemo
Consumer JRE Size
•Current JRE download is 12MB
•Reduced Footprint through Java SE 6 Update N
•Goal of 2MB
Idea Source: Danny Coward, JAZOON 07, Zurich
Consumer JRE Size
Consumer JRE Micro Bundles
•Back-to-Basics JRE
•Starts with hello world support
•Downloads additional parts as needed
Source: Java SE 6 Update N Early Access Program & Jim Weaver’s JavaFX Blog
Consumer JRE Performance
•Quick Starter for cold starts
•Prefetches portions of JRE into memory
•Graphics rendering hardware acceleration
Source: Java SE 6 Update N Early Access Program
The Language
Interpreted vs. Compiled
Interpreted
‣ Starting point for language
‣ Proof of Concept only
‣ In process of deprecation
‣ But has current IDE Support
Compiled
‣Official language tool, javafxc
‣Built on top of javac
‣Open Source
‣Work In Progress, but very usable
‣Automatic binding of form element to data model
‣Core JDK has no equivalent
‣Libraries such as Swinglabs only partially accomplish this for Swing
‣Built on Beans Binding JSR 295 library
Bind Operator
Bean BindingCode Demo
‣ DO, DOLATER currently in interpreter
Threads
Threads
“(Working on SwingWorker wrapper in compiler) so it is as easy (possibly easier) to use as AJAX's XMLHttpRequest”
-Tom Ball
‣Swing based rendering on PC devices
‣Other rendering engine for smaller devices such as Blu-Ray
The Compatibilty Secret
Effect
‣Objectifying nodes
‣Binding nodes together
‣Adding behavior to composite nodes
‣Standalone Java library
SceneGraph
Composite Node
TextField Box
Radial Gradient SimpleLabel
JavaFX 2D TutorialCode Demo
Animation
‣ Interpreted:picks.opacity = [0, .01..1] dur 1000 linear
‣ Compiled:Key frames, timeline
As many as 500 lines of Swing code equivalent to 10 of JavaFX
Animation
‣Next step in JavaFX animation
‣Advanced capabilities
‣Currently in compiler in rough state
Keyframe Animation
BounceCode Demo
GuitarCode Demo
JavaFX 2D TutorialCode Demo
Specifically, we are working on a new 3D scene graph, as part of the JavaFX player, that will complement the 2D Scenario scene graph. Its initial focus will be 3D effects, casual games, and simple 3D viewing applications...
“
”
Java3D’s Successor
Source: http://forums.java.net/jive/thread.jspa?threadID=36022&tstart=0
Mix & Match
The Perfect Blend
•Leverages all existing Java libraries
•Retro-capable back to JRE 1.5
•Browser, Desktop, and Phone
•Groovy, JRuby, Scala, Jaskell, Jython
Mix & Match GroovyCode Demo
IDEs
‣ NetBeans
‣ Eclipse
‣ IntelliJ
‣ ReportMill
NetBeans JavaFX Plugin
Previewing Results
‣ Live preview of code changes
‣ No compile cycle delay for testing
‣ But uses Interpreter...
NetBeans Demo
ReportMill JFXBuilder
•Most advanced demos
•Representative of future tools from Sun
ReportMillPath Animation Demo
Designers vs. Coders
Sun’s JavaFX Tools are turning the workflow sideways
James Gosling
Source: http://www.regdeveloper.co.uk/2008/01/24/javafx_tools_adobe/
“”
Our architecture is more like the coder does this part and the artist does this part, and then the artist can do the plugging in [of the design] themselves. They can update the artwork and the [developer] guy can update the code, and they are talking to the tool together. It's not conditional on the other.
James Gosling
Source: http://www.regdeveloper.co.uk/2008/01/24/javafx_tools_adobe/
“
”
Sun Microsystems is working on interoperability between design tools from Adobe Systems and its upcoming JavaFX tools for application developers building rich application interfaces and rich-internet applications (RIAs).
James Gosling, Sun vice president and fellow, told Register Developer that Sun is working to ensure interoperability - rather than provide its own design tools.
We are putting a lot of effort into interoperability with the Adobe tools - a lot of the Adobe tools are wired into the neurons of the artists of the world. We are not trying to be a completely isolated island that has all the tools for everybody.
James Gosling
Source: http://www.regdeveloper.co.uk/2008/01/24/javafx_tools_adobe/
“”
Q&A
Q&A
Email questions to:[email protected]
Slides & Source Code at:www.AmbientIdeas.com/engineering/engineering-training.html
•James Weaver’s JavaFX Bloghttp://learnjavafx.typepad.com
•Sun JavaFX Script Homepagehttp://www.sun.com/software/javafx/script/index.jsp
•ReportMill JFXBuilderhttp://www.reportmill.com/jfx/
•Planet JFXhttp://jfx.wikia.com/wiki/Main_Page
Resources
•JavaFX Language Reference, Nightly Buildhttp://openjfx.java.sun.com/current-build/doc/JavaFX-Language.html
•Project SceneGraphhttps://scenegraph.dev.java.net/
•Comparing Flex and Ajax Dev Modelshttp://www.adobe.com/newsletters/edge/february2008/articles/article4/
•Swinging in Groovyhttp://groovy.dzone.com/tips/swinging-groovy-fun
Resources
•Rich Green @ Java One San Fran
•“Meant for building Rich Internet Applications (RIAs)”
•“For content professionals”
•“All based on Swing and Java 2D”
Quotes
• Danny Coward, JAZOON 07, Zurich
• Visual Tools, Visual Developers
• Only occasionally dropping down to script level coding
• Meant for animated, simple, client apps that are highly branded
• Not used much by technical java developers
Quotes
•Chris Oliver, creator of JavaFX Script
• Created Motorola equivalent site in 3 days
Quotes