Flex, JavaFX, Silverlight ...
Frankly, during the development of this application, I've been comparing myself with JavaFX doing the same thing with Adobe Flex.
In short, flex is much more efficient today than javafx. But we have to remember that we are using Flex version 3 to compare with JavaFX version 1. If you know how to develop swing applications, you might prefer to continue with swing instead of using the JavaFX 1.0 wrapper class we created in this pet store version.
The biggest problem with JavaFX 1.0 is that it does not include any user interface components for Web development. Not even a simple hyperlink component, let alone a data network or a tree list component. I think there is no other reason to blame it on the fact that Sun has invested only too little time and limited human resources in developing this new user interface tool.
Fortunately, Sun is about to release the JavaFX2.0 version, with complete user interface components, containers, navigation bars, and layout controls. Microsoft only announced itself to make a similar product with Flex, in 2007 released the Silverlight1.0, until a year later, fully functional Silverlight2.0 only available. The good news is that Java developers have started building their own open Source component libraries: Jfxtras.
On the other hand, I saw some features that were lost in flex and closed to JavaFX.
For example, ActionScript does not support multithreading. This is not a problem when communicating with a remote site-all remote calls are synchronized, and the callback mechanism is used to spread the server data to the client. However, if you need to write or use a Java library that performs CPU intensive computing on the client, I think Java will outperform ActionScript. The syntax of both languages is quite close (see http://flexblog.faratasystems.com/?p=115).
JavaFX supports the eval () function, which allows you to compile and execute a small piece of code during the run. Flex does not support this feature.
Data two-way binding has been implemented in JavaFX, but Flex is expected to be supported by version 4.
I have seen some benchmark tests for flex and JavaFX network protocols. The most recent tests provided only the XML and rest data exchange between the client and the server. Of course, can you write Java sockets or wrap a RMI client to JavaFX, which is faster than ActionScript real-time messaging protocol? We don't know. Or you can communicate with HTTP channels between Java applets and server-side Java character streams. This would be faster than using AMF, an HTTP based binary protocol? We have no idea.
JavaFX eliminates a lot of complexity when developing mobile applications. It promises to be able to develop desktop applications without Java SE, and you can use Java me to develop mobile apps-javafx is the only solution you need. JavaFX Mobile Development provides hardware acceleration. Remember, Java has a 2.6 billion installed capacity on mobile devices! Java has an absolute advantage in this field for Flash Lite.
JavaFX1.1 is about to be released (editor's note: This version was released on February 17, 09). It executes faster in the mobile domain, has fewer bugs, and has more features, but there are no major updates on the desktop platform.
I understand that this is not a good time to ask for a lot of cash injections, but if Sun Microsystems managers cannot find a way to double expand the application development team based on this platform in future JavaFX versions, the entire Adoble Flex team will be able to develop safely throughout the year. Therefore, if the investment is too little, JavaFX will open the source code as soon as possible.
Article source: This article is excerpted from Mentat translation of pet Store with JavaFX 1.0. Part 1 (http://www.insideria.com/2009/02/pet-store-with-javafx-10-part.html). by Yakov Fain