What has JavaFX Got Going For It?
Adam Bien has shared his thoughts on whether JavaFX is ready for the enterprise, discussing both the positives, and the negatives affecting the future of JavaFX.
Working in JavaFX's favour, is the wealth of information out there, such as books, docs, online resources, and 'hello world' tutorials, which make it easier to get started with JavaFX. He also estimates that the current JavaFX tool support is superior to the tool support surrounding Java, at a similar point in its career.
Also making a strong case for JavaFX, is the ability to test JavaFX components with Junit 3, and build with Ant and Maven, which means tools like Hudson can be used to run JavaFX continuous builds. JavaFX also supports remote protocols, and form based applications. The latter, as Bien points out, are common in the enterprise. JavaFX integrates well with Java, another big plus. HTTP, REST / XML are also supported. Also in the pipeline for future JavaFX releases, is the ability to implement whole RCP applications with plain JavaFX, which should make the programming language more popular.
Java FX comes with binding, triggers, and functional Aspects which, according to Bien, typically save on coding. “You don't need any framework for data binding,” he says. “It comes with the language.”
However, he is ambivalent about the IDE support, acknowledging that it is basic, whilst also acknowledging that JavaFX is in its early stages.
On the negative side of things, Bien perceives a lack of JavaFX tutorials concerned with clean application structure, patterns and code organization. Currently, JavaFX is also lacking table controls, which Bien views as “crucial.” However, there is hope that table controls will be available after the JavaFX 1.3 release, and developers needing to access those features now can integrate Swing JTables with JavaFX.
After weighing up the pros and cons of JavaFX, he concludes that the most important factor, is the individual developer: “if you are a passionate developer and want to learn something new - go for it.”