07 October 2009

What Next For JavaFX? (Update)

After looking through the bug system for JavaFX the majority of changes/additions for the next release are with the controls. Do note that the details on what controls are available may change. Here is the list of controls that will either, be in SoMa (+), not in SoMa (-), highly likely to be in SoMa (*), or may be in SoMa (^).

  • Grid Layout (+)
  • Spacer (+)
  • Separator (+)
  • Menu (+)
  • Menu Button (+)
  • Custom List Cell (*)
  • Search Box (*)
  • Password Box (+)
  • Text Area (+)
  • Table (+)
  • Spinner (+)
  • Dialog (^)
  • Multi Style Text Area (*)
  • Popup (+)
  • Tooltip (^)
  • Status Bar (*)
  • Tree (+)
  • Tool Bar (*)
  • Split Menu Button (*)
  • Choice Button (^)
  • Border (^)
  • Split Pane (-)
  • Combo Box (+)
  • Scroll View (+)

As you can see there are quite a range of controls for the next release! However there is no calendar and tab controls, and some of the controls mentioned above may appear in the internal com.sun package instead. Also note that any controls that end up in the com.sun package are to be considered experimental, just like all the other APIs in com.sun. Luckily from the community there is a Calendar Picker control that is good enough for production use, even though it is currently in beta. For the tab control there is nothing present from the community although it is non trivial to create compared to the calendar control. I do wonder if the Grid Layout control is in fact a new layout.

On to the new and enhanced functionality the majority of the functionality is in the graphics area. Here is the list of functionality that will either, be in SoMa (+), not in SoMa (-), highly likely to be in SoMa (*), or may be in SoMa (^). Do note that this list may change as more information is known about what will be included/not included in SoMa.

  • Stage level keyboard and mouse event handlers (*)
  • Cloning/duplication of nodes (*)
  • Built in callback function variables for state change notification on all controls (+)
  • Control key functions are supported in TextBox control (+)
  • Controls can be autosized (+)
  • 3D transformations for 2D graphics nodes (+)
  • Support for 3D bounds (+)
  • Can use an image as Paint with 9 slice scaling and tiling for controls (+)
  • Perspective and Parallel camera classes for 3D perspective transforms (+)
  • Support for 3D rotations (-)
  • Non visible controls do not recieve mouse clicks (^)
  • Performance tracker for Prism (+)
  • Camera/video and microphone capture (-)
  • Can remove a parent from a node (+)
  • Event bubbling/filtering (-)
  • Pixel access (-)
  • Support for maps as a core language construct (-)

Based on the 3D graphics functionality for the next release JavaFX will start to develop basic support for doing 3D graphics. Currently think of it as 2.5D where JavaFX is going through a transitional phase. Expect the next release after SoMa to have proper support for basic 3D graphics. Just imagine all the interesting possibilities with 3D graphics for JavaFX apps on desktop, mobile and TV :). There will definitely be other functionality that gets included in SoMa where there is no publicly available information about it.

Expect the JavaFX 1.3 release to not be too far away since the JavaFX TV plugin for NB (NetBeans) has been ready since Sept 14, and is going to be available when the JavaFX 1.3 NB plugin is integrated with the IDE. Already the installers are currently being developed for SoMa. It is only a matter of time (in days?) before JavaFX is released.

8 comments:

  1. Hey Nick,

    I'd love to chat with you off the blog regarding JavaFX. Care to flick me an email at jonathan@jonathangiles.net?

    Cheers,
    Jonathan

    ReplyDelete
  2. You're on the wrong way.

    All you need is compatibility of JavaFX with Swing. Beta version of JavaFX had compatibility with Swing but JavaFX team dropped it in current version.

    Swing has a many controls for the GUI. JavaFX team will not be able to recreate all the components in the near future.

    I'm an expert JavaFX and I did my library which has all that you have described (see http://code.google.com/p/crudfx/).

    It is IMPOSSIBLE to use JavaFX in real applications without my library.

    ReplyDelete
  3. @Sergey: I don't think the author of the blog is part of the team, so I don't see how he is on the wrong way...
    Beside, I thought that you could still include Swing components within JavaFX? With some issues, but the road isn't blocked.
    And lastly, I understand that if the all-Swing road haven't been taken, it is to preserve the capability to run on mobile phones and other platforms with restricted Java. Hence the need for native components.

    ReplyDelete
  4. And what? Now you can't use JavaFX nor for desktop nor for mobile. Great result of 3 years of JavaFX development.

    No one need toys. All need platform for enterprise development. Database, webservices etc. Let it be desktop only at least.

    But let it be the best of desktop platform.

    ReplyDelete
  5. Good news but still no JWebPane ?

    ReplyDelete
  6. sorry fo being so impatient, but it's already whole week passed since your post and there is still no 1.3. So, if you only will have any updates on that, pleeease share'm with us! :)

    ReplyDelete
  7. To all, 1.3 has not been announced yet, and furthermore, Nick is only going by what is in the JavaFX bug tracking system - his suggestion regarding when JavaFX will be released is based on his own gut feeling.

    You will have to be patient for the 1.3 release.

    ReplyDelete
  8. many people, as my close friend Sildenafil Citrate , are always asking this exact same question... what is next for JavaFX? and I say, we can guess, but we cannot assure what would be next, we just have to wait for the new release and they always got mad at me LOL

    ReplyDelete