Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JavaFX vs AJAX vs Flex


Published on

This is a lightning presentation given by Sean Chung to our team to summarize a presentation he saw at JavaOne 2009. Sean also adds a slight spin to the original presentation by including Adobe Flex as an additional comparison axis.

Published in: Technology, Business
  • Be the first to comment

JavaFX vs AJAX vs Flex

  1. 1. JavaFX vs. Ajax (and vs. Flex) Ben Galbraith (Mozilla) and Don Almaer (Ajaxian, Inc.) TS-5587 JavaOne 2009 Debriefing Session Sean Chung
  2. 2. <ul><li>JavaFX Scripting Language </li></ul><ul><ul><li>A scripting language for interactive graphics, media, and animation. </li></ul></ul>Slide 1 1
  3. 3. Slide 2 <ul><li>JavaFX Scripting Language </li></ul><ul><ul><li>Object-oriented (of course) </li></ul></ul><ul><ul><li>Expression language </li></ul></ul><ul><ul><li>Declarative and Procedural </li></ul></ul><ul><ul><li>Integrates with Java (can import Java classes) </li></ul></ul><ul><ul><li>Compiles to byte code; runs on JVM </li></ul></ul><ul><ul><li>Incorporates the concept of time </li></ul></ul><ul><ul><li>Data binding </li></ul></ul><ul><ul><li>Mixin classes like Java interfaces </li></ul></ul>2
  4. 4. Slide 3 <ul><li>Ajax vs. JavaFX - on Performance </li></ul><ul><ul><li>Java is way faster than JavaScript </li></ul></ul><ul><ul><li>But JavaScript is getting faster (V8 – Google Chrome JavaScript Virtual Machine) </li></ul></ul><ul><ul><li>Good enough. </li></ul></ul>3
  5. 5. Slide 4 <ul><li>Ajax vs. JavaFX - on Performance cont’d </li></ul><ul><li>vs. Flex (ActionScript) </li></ul><ul><ul><li>Comparison done with Takeuchi Benchmark ( JavaWorld article ) </li></ul></ul><ul><ul><li>“ In summary, for this benchmark, with the hotspot server vm, JavaFX script outperforms statically typed ActionScript by a factor of 12 …” </li></ul></ul>4
  6. 6. Slide 5 <ul><li>Ajax vs. JavaFX - on Responsiveness of UI </li></ul><ul><ul><li>JavaFX better with worker-threads </li></ul></ul><ul><ul><li>Using “web workers”, single thread-ness of JavaScript can be overcome but SLOW. </li></ul></ul>5
  7. 7. Slide 6 <ul><li>Ajax vs. JavaFX - on Responsiveness of UI cont’d </li></ul><ul><li>vs Flex </li></ul><ul><ul><li>Execution model of ActionScript is single-threaded </li></ul></ul><ul><ul><li>BUT, underlying Flash Player uses threads, providing UI responsiveness </li></ul></ul>6
  8. 8. Slide 7 <ul><li>Ajax vs. JavaFX – Graphical capability </li></ul><ul><ul><li>Bubblemark animation test </li></ul></ul><ul><ul><li> </li></ul></ul>7
  9. 9. Slide 8 <ul><li>Ajax vs. JavaFX – Graphical capability cont’d </li></ul><ul><li>SURPRISE!!! </li></ul><ul><ul><li>Static graphics: Chrome 100 fps vs. JavaFX 24 fps. </li></ul></ul><ul><ul><li>Vector graphics: Chrome 30 fps </li></ul></ul><ul><ul><li>What the speakers don’t consider is that JavaFX is a very new and to-date under-optimised technology. </li></ul></ul>8
  10. 10. Slide 9 <ul><li>Ajax vs. JavaFX – Graphical capability cont’d </li></ul><ul><li>vs. Flex </li></ul><ul><ul><li>JavaScript on Firefox: 75 fps. </li></ul></ul><ul><ul><li>Flex 2 on Flash Player 10: 190 fps. </li></ul></ul><ul><ul><li>JavaFX 1.0: 260 fps. </li></ul></ul>9
  11. 11. Slide 10 <ul><li>Ajax vs. JavaFX – 3D graphics </li></ul><ul><li>Ajaxian 3D Metatunnel </li></ul><ul><li> </li></ul><ul><ul><li>Most browsers are offering 3D extensions. </li></ul></ul><ul><ul><li>NO 3D support for JavaFX </li></ul></ul>10
  12. 12. Slide 11 <ul><li>Ajax vs. JavaFX – 3D graphics cont’d </li></ul><ul><li>vs. Flex </li></ul><ul><ul><li>Flex 4 (Gumbo) mx.effects.FxRotate3d </li></ul></ul><ul><ul><li>Lots of 3D engines / libraries out there </li></ul></ul><ul><ul><li>Roxik Sharikura </li></ul></ul><ul><ul><li>Jiglibflash 3D physics engine </li></ul></ul><ul><ul><li>Etc. etc. </li></ul></ul>11
  13. 13. Slide 12 <ul><li>Ajax vs. JavaFX – Fonts </li></ul><ul><ul><li>Java is weak on fonts. The speakers claim that we can’t use native fonts in Java. </li></ul></ul><ul><ul><li>Control over fonts in the Ajax world is even more limited, however. </li></ul></ul>12
  14. 14. Slide 13 <ul><li>Ajax vs. JavaFX – Fonts cont’d </li></ul><ul><li>vs. Flex </li></ul><ul><ul><li>l@@k at </li></ul></ul><ul><ul><li>VERY GOOD font support / control with Flex </li></ul></ul>13
  15. 15. Slide 14 <ul><li>Ajax vs. JavaFX – Video </li></ul><ul><ul><li>JavaFX provides “amazing” video support. </li></ul></ul><ul><ul><li>Open Web Video offers sophisticated video functions – browser dependant; trouble with IE </li></ul></ul>14
  16. 16. Slide 15 <ul><li>Ajax vs. JavaFX – Video cont’d </li></ul><ul><li>vs. Flex </li></ul><ul><ul><li>Flash plugin surpasses JavaFX in terms of maturity. </li></ul></ul><ul><ul><li>De facto standard of the video on the web </li></ul></ul>15
  17. 17. Slide 16 <ul><li>Ajax vs. JavaFX – Language Features </li></ul><ul><ul><li>Binding in JavaFX is compact and elegant. Web toolkits are very clumsy by comparison.  </li></ul></ul><ul><ul><li>The speakers quickly mention Mixins, Animation and Effects. All of this is way easier in JavaFX </li></ul></ul>16
  18. 18. Slide 17 <ul><li>Ajax vs. JavaFX – Language Features cont’d </li></ul><ul><li>vs. Flex (ActionScript 3) </li></ul><ul><ul><li>Binding </li></ul></ul><ul><ul><li>Animations, Sequences, Triggers </li></ul></ul><ul><ul><li>More mature than JavaFX </li></ul></ul>17
  19. 19. Slide 18 <ul><li>Ajax vs. JavaFX – Deployment </li></ul><ul><ul><li>Web wins. </li></ul></ul><ul><ul><ul><li>Except for the significant browser incompatibilities </li></ul></ul></ul><ul><ul><li>Java Setup still takes too long. </li></ul></ul>18
  20. 20. Slide 19 <ul><li>Ajax vs. JavaFX – Deployment cont’d </li></ul><ul><li>vs. Flex </li></ul><ul><ul><li>No browser compatibility issue, no hassle installation </li></ul></ul><ul><ul><li>Adobe Flash Player Penetration – March 2009 </li></ul></ul>19 72.0% 99.3% 98.8% Japan 75.3% 98.6% 98.9% Europe 74.5% 98.8% 99.1% US/ Canada Flash 10 Flash 9 Flash 8
  21. 21. Slide 20 <ul><li>Comparison done legitimately? </li></ul><ul><ul><li>How big is the intersection? </li></ul></ul><ul><ul><li>Ajax – social networking, mashups, portals </li></ul></ul><ul><ul><li>Flex – multimedia rich apps </li></ul></ul><ul><ul><li>JavaFX – mobile? Set-top box? </li></ul></ul>20
  22. 22. The End 5 minutes of question time starts now!
  23. 23. Questions 4 minutes left!
  24. 24. Questions 3 minutes left!
  25. 25. Questions 2 minutes left!
  26. 26. Questions 1 minute left!
  27. 27. Questions 30 seconds left!
  28. 28. Questions TIME IS UP!