August 18, 2008 Ask the (JavaFX) Experts
Thursday, 21 August 2008
me: What is the long term future of javafx.ext.swing.* classes in JavaFX’s
technological roadmap? Are new Node-based ui classes in-the-works to supercede this?
Joshua Marinacci: We plan to keep the swing classes but they will only be in the desktop profile. New gui classes based on nodes are in the works. These new gui components will be available on all platforms.
me: Currently, there are only a handful of people who are able to skin Swing components, are there plans to make skinning accessible to web developers? I note that a prototype skin design tool exists for Nimbus.
Joshua Marinacci: We have plans for CSS support for skinning.
me: The DropShadow filter is very slow for large objects (e.g. 300×400px), especially for animations. Can we have a flag to switch over to a low-fi version [when] using animations?
Joshua Marinacci: That’s an interesting idea. We’ll look into it. thanks.
me: It is difficult to write serious web applications if JavaFX doesn’t support multiline formatted text. Anything planned in this respect?
Joshua Marinacci: We are working on that as well.
me: How many of these (node based ui components, css) are slated for 1.0? I’m assessing whether there’s a market for 3rd party components, and need to know what gaps would already be filled by Sun.
Joshua Marinacci: We don’t have a final list yet, but it’s going to be just the basics for the 1.0 release. Things like buttons and scrollbars. We won’t have more targeted components like you see from the various Swing component vendors. There is definitely a market for 3rd party components.
me: Memory use is still a problem. A JavaFX hello world with Client JVM takes 31Mb of private memory space (jre1.6u7). For comparison purposes, Meebo on DHTML reputedly takes 43Mb, while GMail takes 50Mb on my laptop. I haven’t tested any Flex apps. So I have my concerns that using Node-based UI instead of flyweight rendering (as in JTable) will tax the capability of most machines. Last weekend, I drew 65536 rectangles with JavaFX and the JVM ran out of heap space. Will 1.6u10 JavaFX applets load a smaller class library by default?
Joshua Marinacci: We are still doing lots of optimization work. Getting the memory usage down is one of our core concerns.
me: Is the JavaFX interpreter going to be shipped with 1.6u10? Most web hosters support PHP and not java compilers, and that means if the applets can consume JavaFX script, PHP could be used to generate UI. This can help adoption. For example, silverlight supports XAML inlined with HTML.
Joshua Marinacci: The old interpreted version of JavaFX is deprecated. The only way to build JavaFX applications now is to use the compiler. However, it shouldn’t matter what your hosting company has. You will compile the JavaFX application on your development desktop computer and only upload the binary jars and html to the website. From the webserver’s point of view they are just binary files which are served to the user, the same as images or media files.
me: May I post your response on my blog? http://teyc.tumblr.com/
Joshua Marinacci: absolutely. Thanks for your great questions.