I am currently reading up on Adobe Flex and JavaFX. Both these platforms claim to be the best to happen to the web. Adobe’s Flex is already out in the open and people are spurning out stunning examples of GUI. The rendering has a similar slickness and look-n-feel as Adobe Flash. JavaFX is still in pre-preview mode and should be out in July. However, Sun is allowing developers to play around with the SDK even as it is being developed.
One thing common to Flex and JavaFX is the fact that are moving away completely from the web browser and HTML paradigm. Both frameworks bring together the web and desktop experience. The UI is no longer served up by the server, instead it is interpreted and run on the client through plugins or players. I am not quite sure if this is a good thing or not. The concept of browser plugins is wrought with a lot of inconvenience and problems. In addition to the browser, you now have the maintenance overhead of the plugins.
Sun pulled the covers off the JavaFX enabled applets at JavaOne ’08. See the video here. It looks quite awesome. As promised, I believe Sun has cut the flab out of the Java plugin and with FX all of it looks uber-cool. The best part that I saw of JavaFX applets is the fact that you could drag an applet out of the browser and let it run as a standalone desktop program. Wow!! We cannot however ignore the fact that it is an applet and technically not a “webpage”.
One drawback I see with these frameworks is that web design will no longer be the domain of the good old HTML guys. You ought to know ActionScript or Swing (agreed JavaFX dumbs it down a bit) to get what you want. I have a strong suspicion that I would not be able to design those fantastic looking applets that Sun demo-ed on my own. It requires more graphic design skills than most “programmers” possess.
How will all these integrate with the middle tier? I have no idea. Perhaps new wrappers and frameworks will be built to glue together JavaFX with EJBs, etc. I think ADF binding would probably work JavaFX. It sure works with Swing. I have signed up for the JavaFX SDK preview. Let me see if I get to play around with JavaFX.