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

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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!