And the winner is…
There was overwhelming response for the poll – “What is “Rich” in RIA?” and its time to announce the results… The vote was for core components Graphics-Effects-Animation (25%) followed by CSS support (19%) and “Controls” (17%) as third.
Now lets try to map this back to JavaFX stack..
Vote was for lower level core APIs and CSS framework. I think that makes sense. If we have stable core library with CSS support, we can create most of common controls without putting much effort. Yes, we need platform support for Popup and complex components such as Grid and Tree.
A bit surprised to note low priority for “Client – Server” communication (7%). May be because its more to do with “I” of “RIA” and not “R” :) It would have been very tough to choose, all those components are required for “Rich” User Experience.. I will discuss more about “CSS” features after next JavaFX release.. Jonathan Merritt has a nice blog post in which he tries to predict the release date here.. :)
Since “Reach” (platform/device independence) is very low, we may mix JTable & JTree using SwingComponent (for now). Of-course yes, these components should not stand out and say “Hey! I’m Swing!”, we need to tweak the Cell-Renderers so that it gel well with the user interface.
Above diagram of stack may also be used to decide which language to use for implementing functionality. I have seen many applications written purely in JavaFX (without using Async APIs). As you may already know, code written in JavaFX is executed on Event Dispatch Thread. This thread is used to execute tasks specific to user interface. Cluttering this thread with execution of business-logic, IO operations, database access etc will impact the application responsiveness. So the application must be designed in such a way that only UI specific code is written & executed in JavaFX layer. I will gather some of tips & tricks and write about it..
Once again Thanks a lot for participating in this poll, hope you found it useful.. :)