Is There a Lack of Advertising for JavaFX Capabilities?
The Java Zone is brought to you in partnership with ZeroTurnaround. Check out this 8-step guide to see how you can increase your productivity by skipping slow application redeploys and by implementing application profiling, as you code!
DZone: Let's start off with the product you work on. What is the Exadel JavaFX Studio?
Max Katz: Exadel JavaFX Studio is a plug-in for Eclipse for rapid development and deployment of JavaFX applications. It offers wizards, source tools, and visual tools to simplify development with JavaFX. Features such as code snippets, JavaFX doc in code assist, and the ability to create sample projects based on JavaFX SDK for example, make it simpler to learn and build with JavaFX. [JavaFX Studio 1.1.1 is the newest version. It was released in late November]
DZone: How does the product roadmap for the JavaFX Studio Eclipse plugin look? What are some future features coming? Is there anything else you know about coming from Exadel?
First of all we are going to make the plug-in open source by the end of this year. We have started working on it. As for features, the main one is the visual JavaFX editor. There are some other minor features such as validation, better highlighting, etc. that we will be working on. We are also planning to add features to help build enterprise JavaFX applications with the help of Exadel Flamingo. Flamingo is an RIA framework that allows you to connect JavaFX to enterprise back ends such as Java EE, Seam and Spring. You can also connect Java ME and Android to the same back ends.
DZone: What motivated Exadel's decision to make JavaFX Studio open source?
Max: We always wanted to make it open source. We put it on hold for a little bit so we could get some versions out there. We want the JavaFX community to grow and that's one step to make it happen. Open source will make it much simpler for the community to contribute, try nightly builds and of course find bugs.
DZone: Tell me about the visual JavaFX script editor you're working on.
Max: I don't have much information yet, but people will be able to see the progress and try it (nightly builds) once the plug-in is open source. In the first version you can expect all the standard features of a visual editor.
DZone: I recently read a blog post declaring that "JavaFX seems to be all but dead now." There have been several articles saying that JavaFX is lagging behind other mobile RIA platforms. Do you think that with Flash, Silverlight, and Objective-C becoming more popular, JavaFX will be squeezed out of the mobile market completely? Would you say it's "dying"?
Max: No, I don't think it will be squeezed. The mobile future of JavaFX does depend on its adoption by major manufacturers. Also, the blog said that BlackBerry picked Flash, and that it somehow killed the entire JavaFX platform. I'm hoping it won't lead to the end of the world in 2012. Sun can also make the mobile mega-war more interesting by porting JavaFX to Android.
DZone: Are there areas were JavaFX is having success right now?
Max: I think the community is growing very fast. JavaFX has been out for less than a year and there are numerous books already available. People are blogging about JavaFX and many conferences have sessions on JavaFX. Tooling support has been growing steadily as well. There's NetBeans, there's the Exadel plug-in. Sun also has a Eclipse plug-in.
DZone: You mentioned that good tooling is needed for JavaFX to succeed. What good tooling is needed?
Max: Any tools that make it simple and easy to develop JavaFX applications. Visual editor, validation, debugging will make development simpler. You can always look at the Flash Builder plug-in for interesting features.
DZone: Does JavaFX need enterprise controls to survive? Can JavaFX succeed if people start using it to build enterprise applications?
Max: Absolutely. JavaFX needs enterprise controls to continue growing. There are a number community projects that do offer such controls already, one of them is jfxtras. Our very own Flamingo project aims to make enterprise development easier by taking care of JavaFX integration with Java backend. It's just a matter of time before enterprise controls will be made available in JavaFX.
As for the second question, I believe yes. Java is excellent on the server side, we all know that. And it's almost as good on the client side. We believe JavaFX is excellent technology for building rich user interfaces. Some issues still exist - JavaFX applets are not always starting virtual machine download size. I think the JavaFX team has addressed them all but it's still not as simple as running a Flash based application.
In another comment you said, "Adobe has done a great job telling that Flex can be used to build enterprise applications. With JavaFX, you get bouncing balls." From your observations, have you seen a lack of advertising of JavaFX's enterprise capabilities from Sun?
Max: Just to make sure my comment is not taken out of context, what I meant is that the majority of JavaFX samples out there are client-only. They are not connected to any server-side technology. Most examples show shapes move around the screen, animation or some other visual effects. If you go back in time, Flash was used for the same purpose, but Adobe has done an excellent job on demonstrating that Flash/Flex can be used to build rich enterprise applications. It feels like Sun hasn't promoted JavaFX as UI technology for building enterprise applications.
We [Exadel] have deployed one enterprise-level application with JavaFX. We took the popular Seam Hotel Booking demo and created a JavaFX UI for it. You can see it here.
We have tried to contact Sun and see if we can work together on enterprise features. We're still waiting for their response.
To move enterprise JavaFX forward, we have Flamingo. It has features such as server-side push and off-line applications. It also has mobile tools that allow you to deploy applications with Java ME and Android.
Is there anything else that should be mentioned on the subject of JavaFX and your plugin?
Max: The main goal of Exadel in developing a JavaFX plugin is to lower the entry barrier for Java developers and to grow JavaFX community. We welcome any feedback and any help with it.