20 March 2010

Internal JavaFX Activity

Since many months have passed with the release of JavaFX 1.2, and some coverage on JavaFX 1.3 (SoMa) it is time to see what is currently happening with JavaFX. With this post I will mainly cover what is currently happening with SoMa.

Do note that any information in this post is subject to change and may not be entirely accurate. Also I have made the best educated guess possible considering what little information is released officially, and from the JavaFX Issues database despite many issues not being made publicly available. Some information has already been covered in some of my previous posts, and on other blogs.


Controls

Once again there are not much changes to see since much of this area has already been covered in some of my previous posts. To get the best picture listed below is the list of controls that will be included in SoMa (this is from a Devoxx presentation on JavaFX 1.3):



All the listed controls that have an appended asterisk are the new controls in SoMa. One may have noticed that the total number of built-in controls for JavaFX will double when SoMa is released. I have not taken into account the possibility that the unstable controls may triple the number when combined with the stable ones. The Separator control is a new addition to the SoMa controls line up.

What is currently unknown is what unstable controls will appear in SoMa. At present unstable controls could be placed in the com.javafx.preview.control package, which would make it easy to separate the unstable controls from the stable ones. This also means software developers can try out future controls sooner rather than waiting for the next JavaFX release. After all JavaFX's release policy is about regular releases with the chance for software developers to try out early access features, that help shape future releases involving the entire community.


API

Currently the biggest changes to the JavaFX API are with the upcoming TV support. One of the key API changes is the addition of TV keyboard and remote control support. CSS support will be widened to include additional CSS properties. Any class/mixin that is a Group will be able to automatically resize Resizable nodes to their preferred size during a layout pass. For performance metrics there is going to a PerformanceTracker API that can be used for both the Prism and Swing graphics rendering systems.

Other possible API changes are layout root functionality through unmanaged Parent nodes, use of third party native libraries with JavaFX Script, and a preview of drag n drop support.


General

If this is correct a beta version of SoMa has been released recently (as of 23rd Feb 2010) although it is not available publicly, and SoMa is in a feature freeze. Such news is good to hear considering the length of time it is taking to develop SoMa. Hopefully SoMa will not be released around the time of JavaOne in September, which shouldn't be the case provided there are no other major delays.

At the moment if things keeping chugging along at a reasonable pace with the development of SoMa (with the end in sight) there will be no need to think of this as another case of Duke Nukem Forever. Definition - an announced product that despite all reassurances that it is still alive and kicking ends up being cancelled in the end (takes forever to be released).

Prism appears to be a major inclusion in SoMa despite the impression that it wouldn't be included in time. Additional information has come to light about Prism with the fact that unlike Swing/Decora (the current rendering system) graphics rendering will be done through OpenGL for Desktop, and OpenGL ES for Mobile. Yet to be confirmed is if Prism will take advantage of the GPU for the graphics rendering instead of the CPU, and what Prism's relationship with Newt is.

With tooling it appears as though the JavaFX Authoring Tool will be available for Linux, and Prism will be utilised in the Authoring Tool. Currently there is a review going on with the redistribution of the JavaFX runtime. If the result of the review is favourable then this could mean standalone JavaFX applications can be done, as well as having the JavaFX runtime distributed with some of the major Linux distributions (eg Ubuntu).


Conclusion

Based on the current activity for JavaFX it is certainly moving forward. Nothing has been mentioned so far on what is happening with JavaFX Script and the mobile side of JavaFX. It is great to see that Prism is going to be included and that there will be a chance to try out preview controls early.

Now Oracle needs to reveal what is currently happening with JavaFX Mobile. This will become urgent since other major RIA players (Silverlight, Flash/Flex) have been making announcements about support for various mobile platforms. How is Oracle responding to this with JavaFX Mobile? What other mobile platforms (Android, Symbian, Blackberry) are going to be supported with JavaFX Mobile?

9 comments:

  1. You really need to post a bit more of a disclaimer with posts like these. Whilst many of your observations are good and close to the mark, others aren't and if misinterpreted by others could lead to confusion when JavaFX 1.3 is released.

    JavaFX 1.3 is going to be a really good release, but it's also just a start as there is a lot of new frameworks / technology in 1.3 that won't necessarily be fully realised immediately. I'm excited about 1.3, not just for what it is, but for what it enables us to make possible in 1.4 and future releases.

    ReplyDelete
  2. Too slow.

    Untill now we still get no enought controls to build an enterprise app with javafx 1.2.(But silverlight have enough and the version is 4 already.)

    I'm expected to use javafx 1.3 in later March, but it seems with this article that will last for another months to release?

    Regret not to choose flex !!

    ReplyDelete
  3. Too Late.
    We want Javafx 1.3 get release as early as possible. and somebody should provide some information regarding javafx mobile.

    ReplyDelete
  4. Thanks for your post. It confirms that 1.3 will be plenty of changes (many new UI controsl, new rendering...) and so it will be a kind of "unstable" release. As soon as we will get the 1.3, I believe we will start to wait for a really working 1.4. And this while all competitive technologies (Microsoft and Adobe) are already working on the field.
    I'm starting to think that javaFX will fail; the "secret" approach about the releases plans does not help at all in making people confident about JavaFX future.

    ReplyDelete
  5. to JavaFX managers - please, hire professional developers. I implemented all that JavaFX controls a year ago. See http://code.google.com/p/crudfx/

    Sorry to say it.

    ReplyDelete
  6. @All: Please note Nick is not a member of the JavaFX team, and that this post is based on only his opinion and looking at the public bug tracker. This by no means gives any proper indication of the actual state of the JavaFX 1.3 release, and a large bulk of this post is not accurate. Take everything stated with a large grain of salt.

    @Sergey: It's a shame you think so lowly of the developers employed to develop JavaFX. We're certainly working very hard towards having more controls in JavaFX, and JavaFX 1.3 is a very exciting release in this regard, both for the new controls, the new styling support and the ease in which new controls can be built. JavaFX 1.3 saw us rebuild all control skins to make use of this technology, which gives us a massive speed and memory boost.

    Your statement that you built JavaFX controls a year ago is very misleading, as in reality you've simply created Swing wrappers. It is not the intention of JavaFX to simply wrap Swing/AWT components - this isn't portable to mobile and TV devices, which is part of the plan for JavaFX. We'd be trading one problem for another. At least our approach, whilst slower, is going to see us usable on various devices in the future, which is actually very exciting.

    If you are happy to stay only on the desktop and use the Java2D stack (rather than the newer Prism stack), then by all means use your CrudFX project, but please don't suggest that the actual JavaFX developers are non-professionals who are somehow stunted in their development ability. Regardless, thanks for filling in the gaps of the JavaFX platform.

    ReplyDelete
  7. may be. I remember same promises for JavaFX 1.2

    ReplyDelete
  8. 2Jonathan Giles
    please read comment from Simon Brocklehurst
    at https://mix.oracle.com/ideas/130176-share-with-your-fellow-geeks-about-your-current-javafx-activities

    may be you will understand my point of view

    ReplyDelete
  9. I got the release JavaFX 1.2 and I was trying it and I got some errors, my very good friend Sildenafil Citrate told me that I should skip this release and try the JavaFX 1.3 and I think he is right as usual!

    ReplyDelete