21 August 2009

What Next For JavaFX?

After the current release of JavaFX (version 1.2) many people will be wondering where JavaFX will be heading next. Considering that Sun is remaining tight lipped at this stage on what to expect next with JavaFX I can only speculate on what could be included in the next release. Most of my information in terms of this speculation mainly comes from the JIRA bug tracking system and JavaFX team member blogs.

It is easy to understand why Sun is tight lipped on JavaFX development when you see what is new with Flex 4. For some reason there is no content being displayed with the referenced article, you may have better luck than I did. One cannot help but wonder if Adobe are obtaining the majority of their inspiration from JavaFX, it seems highly likely they did. Honestly I think that they have been intimidated by the recent success that JavaFX is currently enjoying, and are trying to bring some of that success to Flex. Flattery is the biggest form of imitation.

Based on what little information I have obtained so far this is what is most likely to appear in the next release of JavaFX (version 1.3, codename SoMa):

  • New graphics/rendering system (named Prism)
  • Basic 3D graphics APIs (from Prism)
  • Improved graphics performance (from Prism)
  • Use of GPU for graphics rendering (from Prism)
  • New 3D graphics system (based on OpenGL ES) that can be used on desktop, mobile, TV (from Prism)
  • Beta version of the highly impressive JavaFX Authoring tool (for Graphics Designers only - may be of use to Software Developers?)
The majority of improvements are in the area of graphics and performance like the previous release. After looking at the above list you are probably thinking that everything that is likely to be included comes from Prism. Just to give a quick background on Prism, it is a completely new graphics system built from the ground up to take advantage of the graphics hardware in the target machine. Prism was development around the same time that Scenario (the current graphics system for JavaFX) was being developed.

As you would expect with Prism using the graphics hardware (eg GPU) you should be seeing significantly better framerates, and less memory being used as a result. Currently many people are experiencing serious performance issues with the number of nodes being added to a scene (the biggest problem with Scenario). The more nodes that are added the slower the JavaFX application becomes, and the more memory that is used as a result. Eventually if one adds too many nodes this can result in the dreaded "out of memory error", sound familiar? Most of us that are developing applications using JavaFX can afford to wait for the next release, which does not have this issue since Prism is not affected by this.

It is a big if with the beta release of the JavaFX Authoring tool, but I would rather see a polished product as opposed to one that has clearly been rushed to the door too soon. Still it is highly beneficial to get the authoring tool released early for feedback so that it can become a high point of choosing JavaFX. After all we should aim to ensure that the authoring tool is the best designer tool around, PERIOD. It is time to target Flex Builder (based on the NetBeans GUI builder - Matisse) since we can do much better than what Adobe is currently doing.

7 comments:

  1. Thanks for the positive outlook. I'm looking forward to all these great features and actually having the latest and greatest RIA platform that does not suck.

    Torch

    ReplyDelete
  2. If JavaFX Authoring tool is based anything like blend which is the Silverlight visual editor, that would help so much even for programmers like me.
    I would love to know when 1.3 will be released. A official road map would be nice.
    I'm guessing they will also add more controls.

    ReplyDelete
  3. The nodes scalability issue was mostly fixed in 1.2, although you can still have OOME issues due to other bugs which are real leaks, mostly in binding and sequences (several of these bugs will be fixed soon in 1.2.1). Scenario and Decora are already GPU-accelerated too, but it seems they could be much better, I have found important acceleration failures (or overheads) for Decora effects. Another interesting rumor (confirmed by stack traces from JIRA bugs) is that Prism will be integrated to the Saffron font rendering engine.

    ReplyDelete
  4. Sounds very good.
    I also just wisch sun manager only show javaFx when :
    - Everythings has been 500% tested
    - there is a bunch of fantastic demos
    - (my hope) we can use javaFc components inside a java-Swing-API easelly.

    Only them I think Sunoracle can start convincing developers like me.

    ReplyDelete
  5. The Flex 4 plan was finalized by July 2008 (http://opensource.adobe.com/wiki/display/flexsdk/Gumbo), so I'm not sure who's been copying from whom.

    ReplyDelete
  6. I have been using JavaFx (version 1.3) after my pal Sildenafil Citrate recommended me and this last release has some improvements and they fixed some bugs that were causing trouble in the version 1.2

    ReplyDelete
  7. Hi !

    Is it possible to use prism API from standard Java (not JavaFx or any other script) to create window and other widgets ?

    Thanks

    ReplyDelete