Your SlideShare is downloading. ×
0
JavaFX Script
 From Takeoff to Cruising Altitude...



                    Matthew J. McCullough
                     Ambi...
Deployments
A quick review of terms
JavaFX Script
JavaFX Script




                JavaFX Mobile
JavaFX Mobile


•Complete Mobile Phone Stack
•Think “Google Android”
JavaFX Script

• Formerly known as F3
•A new Java-like scripting language
     specifically for RIAs
• Think Silverlight, ...
“   The write once, run anywhere portability of
    Java technology has helped make it the world's
    most widely deploye...
Hello RIA World
  Code Demo
Competing with
other Runtimes
*Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer
                        *AIR to supp...
Product                     Browser                             Desktop                           Platforms




          ...
Product                     Browser                             Desktop                           Platforms

 Ajax        ...
Product                       Browser                             Desktop                           Platforms

   Ajax    ...
Product                       Browser                             Desktop                           Platforms

   Ajax    ...
Product                       Browser                             Desktop                           Platforms

   Ajax    ...
Product                      Browser                             Desktop                           Platforms

        Ajax...
Product                      Browser                             Desktop                           Platforms

        Ajax...
Applets are Back
       &
WebStart is Hot
JavaFX Interest Poll




                                                  JavaFWhat?
                                    ...
JavaFX Interest Poll



70%                                               JavaFWhat?
                                     ...
Source: TIOBE Programming Community Index for December 2007
Source: TIOBE Programming Community Index for December 2007
Mouse Events
Code Demo
Just Show Me
Something Cool
Music Pinboard
    Demo
Consumer JRE Size

   •Current JRE download is 12MB
   •Reduced Footprint
       through Java SE 6 Update N
   •Goal of 2MB
Consumer JRE Size




     Idea Source: Danny Coward, JAZOON 07, Zurich
Consumer JRE Micro Bundles


•Back-to-Basics JRE
•Starts with hello world support
•Downloads additional parts as needed
  ...
Consumer JRE Performance

•Quick Starter for cold starts
 •Prefetches portions of JRE into memory
•Graphics rendering hard...
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
Bind Operator
‣   Automatic binding of form element to
    data model

‣   Core JDK has no equivalent

‣ Libraries such as...
Bean Binding
 Code Demo
Threads
‣ DO, DOLATER currently in interpreter
Threads


“(Working on SwingWorker
wrapper in compiler) so it is as easy
(possibly easier) to use as AJAX's
XMLHttpRequest...
The Compatibilty Secret


‣ Swing based rendering on PC devices

‣ Other rendering engine for smaller
  devices such as Bl...
SceneGraph
                                           Effect

‣   Objectifying nodes                Composite
            ...
JavaFX 2D Tutorial
    Code Demo
Animation
‣ Interpreted:
  picks.opacity = [0, .01..1] dur 1000 linear

‣ Compiled:
  Key frames, timeline
Animation




As many as 500 lines of Swing code
             equivalent to 10 of JavaFX
Keyframe Animation


‣ Next step in JavaFX animation

‣ Advanced capabilities

‣ Currently in compiler in rough state
Bounce
Code Demo
Guitar
Code Demo
JavaFX 2D Tutorial
    Code Demo
Java3D’s Successor

“
    Specifically, we are working on a
    new 3D scene graph, as part of the
    JavaFX player, that...
Mix & Match
The Perfect Blend

•Leverages all existing Java libraries
•Retro-capable back to JRE 1.5
•Browser, Desktop, and Phone
•Gro...
Mix & Match Groovy
    Code 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
ReportMill
Path Animation Demo
Designers vs. Coders
“
Sun’s JavaFX Tools are
turning the workflow sideways
                                                                   ...
“   Our architecture is more like the coder
    does this part and the artist does this
    part, and then the artist can ...
Sun Microsystems is working on interoperability between
    design tools from Adobe Systems and its upcoming JavaFX
    to...
Q&A
Q&A

Email questions to:
MatthewM@AmbientIdeas.com

Slides & Source Code at:
www.AmbientIdeas.com/engineering/engineering-...
Resources
•James Weaver’s JavaFX Blog
  http://learnjavafx.typepad.com


•Sun JavaFX Script Homepage
  http://www.sun.com/...
Resources
•JavaFX Language Reference, Nightly Build
  http://openjfx.java.sun.com/current-build/doc/JavaFX-Language.html

...
Quotes

•Rich Green @ Java One San Fran
 •“Meant for building Rich Internet
    Applications (RIAs)”

 •“For content profe...
Quotes
• Danny Coward, JAZOON 07, Zurich
  • Visual Tools, Visual Developers
    • Only occasionally dropping down to scri...
Quotes


•Chris Oliver, creator of JavaFX Script
  • Created Motorola equivalent site in 3 days
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
DOSUG Java FX Script From Takeoff To Cruising Altitude
Upcoming SlideShare
Loading in...5
×

DOSUG Java FX Script From Takeoff To Cruising Altitude

14,337

Published on

Matthew McCullough's presentation to the Boulder Java Users Group on JavaFX Script

Published in: Technology
3 Comments
12 Likes
Statistics
Notes
No Downloads
Views
Total Views
14,337
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
438
Comments
3
Likes
12
Embeds 0
No embeds

No notes for slide

Transcript of "DOSUG Java FX Script From Takeoff To Cruising Altitude"

  1. 1. JavaFX Script From Takeoff to Cruising Altitude... Matthew J. McCullough Ambient Ideas, LLC
  2. 2. Deployments
  3. 3. A quick review of terms
  4. 4. JavaFX Script
  5. 5. JavaFX Script JavaFX Mobile
  6. 6. JavaFX Mobile •Complete Mobile Phone Stack •Think “Google Android”
  7. 7. JavaFX Script • Formerly known as F3 •A new Java-like scripting language specifically for RIAs • Think Silverlight, Flex, or AIR
  8. 8. “ 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. ”
  9. 9. Hello RIA World Code Demo
  10. 10. Competing with other Runtimes
  11. 11. *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer *AIR to support Linux at a later date
  12. 12. Product Browser Desktop Platforms *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer *AIR to support Linux at a later date
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. Applets are Back & WebStart is Hot
  20. 20. JavaFX Interest Poll JavaFWhat? Not At All Not Very Source: Java.net JavaFX Poll, August 2007 Somewhat Very
  21. 21. JavaFX Interest Poll 70% JavaFWhat? Not At All Not Very Source: Java.net JavaFX Poll, August 2007 Somewhat Very
  22. 22. Source: TIOBE Programming Community Index for December 2007
  23. 23. Source: TIOBE Programming Community Index for December 2007
  24. 24. Mouse Events Code Demo
  25. 25. Just Show Me Something Cool
  26. 26. Music Pinboard Demo
  27. 27. Consumer JRE Size •Current JRE download is 12MB •Reduced Footprint through Java SE 6 Update N •Goal of 2MB
  28. 28. Consumer JRE Size Idea Source: Danny Coward, JAZOON 07, Zurich
  29. 29. 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
  30. 30. 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
  31. 31. The Language
  32. 32. Interpreted vs. Compiled
  33. 33. Interpreted ‣ Starting point for language ‣ Proof of Concept only ‣ In process of deprecation ‣ But has current IDE Support
  34. 34. Compiled ‣ Official language tool, javafxc ‣ Built on top of javac ‣ Open Source ‣ Work In Progress, but very usable
  35. 35. Bind Operator ‣ 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
  36. 36. Bean Binding Code Demo
  37. 37. Threads ‣ DO, DOLATER currently in interpreter
  38. 38. Threads “(Working on SwingWorker wrapper in compiler) so it is as easy (possibly easier) to use as AJAX's XMLHttpRequest” -Tom Ball
  39. 39. The Compatibilty Secret ‣ Swing based rendering on PC devices ‣ Other rendering engine for smaller devices such as Blu-Ray
  40. 40. SceneGraph Effect ‣ Objectifying nodes Composite Node ‣ Binding nodes together ‣ Adding behavior to TextField Box composite nodes ‣ Standalone Java library Radial Gradient SimpleLabel
  41. 41. JavaFX 2D Tutorial Code Demo
  42. 42. Animation ‣ Interpreted: picks.opacity = [0, .01..1] dur 1000 linear ‣ Compiled: Key frames, timeline
  43. 43. Animation As many as 500 lines of Swing code equivalent to 10 of JavaFX
  44. 44. Keyframe Animation ‣ Next step in JavaFX animation ‣ Advanced capabilities ‣ Currently in compiler in rough state
  45. 45. Bounce Code Demo
  46. 46. Guitar Code Demo
  47. 47. JavaFX 2D Tutorial Code Demo
  48. 48. Java3D’s Successor “ 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... Source: http://forums.java.net/jive/thread.jspa?threadID=36022&tstart=0
  49. 49. Mix & Match
  50. 50. The Perfect Blend •Leverages all existing Java libraries •Retro-capable back to JRE 1.5 •Browser, Desktop, and Phone •Groovy, JRuby, Scala, Jaskell, Jython
  51. 51. Mix & Match Groovy Code Demo
  52. 52. IDEs ‣ NetBeans ‣ Eclipse ‣ IntelliJ ‣ ReportMill
  53. 53. NetBeans JavaFX Plugin
  54. 54. Previewing Results ‣ Live preview of code changes ‣ No compile cycle delay for testing ‣ But uses Interpreter...
  55. 55. NetBeans Demo
  56. 56. ReportMill JFXBuilder •Most advanced demos •Representative of future tools from Sun
  57. 57. ReportMill Path Animation Demo
  58. 58. Designers vs. Coders
  59. 59. “ Sun’s JavaFX Tools are turning the workflow sideways ” James Gosling Source: http://www.regdeveloper.co.uk/2008/01/24/javafx_tools_adobe/
  60. 60. “ 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/
  61. 61. 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/
  62. 62. Q&A
  63. 63. Q&A Email questions to: MatthewM@AmbientIdeas.com Slides & Source Code at: www.AmbientIdeas.com/engineering/engineering-training.html
  64. 64. Resources •James Weaver’s JavaFX Blog http://learnjavafx.typepad.com •Sun JavaFX Script Homepage http://www.sun.com/software/javafx/script/index.jsp •ReportMill JFXBuilder http://www.reportmill.com/jfx/ •Planet JFX http://jfx.wikia.com/wiki/Main_Page
  65. 65. Resources •JavaFX Language Reference, Nightly Build http://openjfx.java.sun.com/current-build/doc/JavaFX-Language.html •Project SceneGraph https://scenegraph.dev.java.net/ •Comparing Flex and Ajax Dev Models http://www.adobe.com/newsletters/edge/february2008/articles/article4/ •Swinging in Groovy http://groovy.dzone.com/tips/swinging-groovy-fun
  66. 66. Quotes •Rich Green @ Java One San Fran •“Meant for building Rich Internet Applications (RIAs)” •“For content professionals” •“All based on Swing and Java 2D”
  67. 67. 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
  68. 68. Quotes •Chris Oliver, creator of JavaFX Script • Created Motorola equivalent site in 3 days
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×