DOSUG Java FX Script From Takeoff To Cruising Altitude

16,460 views
15,673 views

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
16,460
On SlideShare
0
From Embeds
0
Number of Embeds
58
Actions
Shares
0
Downloads
446
Comments
3
Likes
12
Embeds 0
No embeds

No notes for slide

DOSUG Java FX Script From Takeoff To Cruising Altitude

  1. JavaFX Script From Takeoff to Cruising Altitude... Matthew J. McCullough Ambient Ideas, LLC
  2. Deployments
  3. A quick review of terms
  4. JavaFX Script
  5. JavaFX Script JavaFX Mobile
  6. JavaFX Mobile •Complete Mobile Phone Stack •Think “Google Android”
  7. JavaFX Script • Formerly known as F3 •A new Java-like scripting language specifically for RIAs • Think Silverlight, Flex, or AIR
  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. Hello RIA World Code Demo
  10. Competing with other Runtimes
  11. *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer *AIR to support Linux at a later date
  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. 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. 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. 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. 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. 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. 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. Applets are Back & WebStart is Hot
  20. JavaFX Interest Poll JavaFWhat? Not At All Not Very Source: Java.net JavaFX Poll, August 2007 Somewhat Very
  21. JavaFX Interest Poll 70% JavaFWhat? Not At All Not Very Source: Java.net JavaFX Poll, August 2007 Somewhat Very
  22. Source: TIOBE Programming Community Index for December 2007
  23. Source: TIOBE Programming Community Index for December 2007
  24. Mouse Events Code Demo
  25. Just Show Me Something Cool
  26. Music Pinboard Demo
  27. Consumer JRE Size •Current JRE download is 12MB •Reduced Footprint through Java SE 6 Update N •Goal of 2MB
  28. Consumer JRE Size Idea Source: Danny Coward, JAZOON 07, Zurich
  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. 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. The Language
  32. Interpreted vs. Compiled
  33. Interpreted ‣ Starting point for language ‣ Proof of Concept only ‣ In process of deprecation ‣ But has current IDE Support
  34. Compiled ‣ Official language tool, javafxc ‣ Built on top of javac ‣ Open Source ‣ Work In Progress, but very usable
  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. Bean Binding Code Demo
  37. Threads ‣ DO, DOLATER currently in interpreter
  38. Threads “(Working on SwingWorker wrapper in compiler) so it is as easy (possibly easier) to use as AJAX's XMLHttpRequest” -Tom Ball
  39. The Compatibilty Secret ‣ Swing based rendering on PC devices ‣ Other rendering engine for smaller devices such as Blu-Ray
  40. SceneGraph Effect ‣ Objectifying nodes Composite Node ‣ Binding nodes together ‣ Adding behavior to TextField Box composite nodes ‣ Standalone Java library Radial Gradient SimpleLabel
  41. JavaFX 2D Tutorial Code Demo
  42. Animation ‣ Interpreted: picks.opacity = [0, .01..1] dur 1000 linear ‣ Compiled: Key frames, timeline
  43. Animation As many as 500 lines of Swing code equivalent to 10 of JavaFX
  44. Keyframe Animation ‣ Next step in JavaFX animation ‣ Advanced capabilities ‣ Currently in compiler in rough state
  45. Bounce Code Demo
  46. Guitar Code Demo
  47. JavaFX 2D Tutorial Code Demo
  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. Mix & Match
  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. Mix & Match Groovy Code Demo
  52. IDEs ‣ NetBeans ‣ Eclipse ‣ IntelliJ ‣ ReportMill
  53. NetBeans JavaFX Plugin
  54. Previewing Results ‣ Live preview of code changes ‣ No compile cycle delay for testing ‣ But uses Interpreter...
  55. NetBeans Demo
  56. ReportMill JFXBuilder •Most advanced demos •Representative of future tools from Sun
  57. ReportMill Path Animation Demo
  58. Designers vs. Coders
  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. “ 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. 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. Q&A
  63. Q&A Email questions to: MatthewM@AmbientIdeas.com Slides & Source Code at: www.AmbientIdeas.com/engineering/engineering-training.html
  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. 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. 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. 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. Quotes •Chris Oliver, creator of JavaFX Script • Created Motorola equivalent site in 3 days

×