blue-infinity is not just keeping up with the latest trends and technologies: It's at the forefront of technological knowledge. We focus on what will bring added value to our customers.
Jan Stenvall, a blue-infinity Java consultant, has written a White Paper covering the subject of JavaFX. The reason for the White Paper is to keep colleagues and customers abreast of these trends and technologies to bring clarity and guidance for future investments and decisions.
This post picks up the thread from previous b-i blog posts about Rich Internet Application frameworks. And as they stated, it is far too early to declare the death of Flash and Silverlight. These two products are still ruling the market of rich UI frameworks. They are mature and have a broad market penetration. But Flash for mobile has reached its end-of-life and the future for Silverlight is uncertain, according to a "Building Windows 8" blog that says that Internet Explorer 10 will be plugin-free.
However, the companies backing Flex and Silverlight are reviewing their business plans and are turning, slowly but surely, their attention towards HTML5. In parallel, interest for Flex and Silverlight is declining; the trend is clearly visible on Google Insight for Search (Google 2012).
HTML 5 is still in its infancy, and still will be in the near future. This technology is certainly not a complete replacement for Flash or Silverlight. For example, accessing the native platform and device capabilities is still limited in HTML5.
These frameworks, including HTML5, may be valid options under many circumstances, but will not answer the call for more sophisticated, complex and richer web experiences.
This gap in the market paves the way for JavaFX which has been updated to face the modern enterprise challenges. With the strong backing from Oracle, JavaFX is a serious contender in the UI framework arena. Since it is built using Java, in concert with and for the Java community, it means that huge investments and the amassed Java knowledge can be reused. This minimizes investments and brings a faster return on investment.
According to the TIOBE Programming Community Index (TIOBE 2012), Java is still the number one rated programming language. Java has a long track record and has been proven in the enterprise environment. This, along with a strong Java developer community, will empower
the adoption of JavaFX.
A feature comparison with more mature frameworks like Flex (Flash) and Silverlight, shows that JavaFX is still a bit behind. But Oracle pushes JavaFX onto the market with the motto that Java is everywhere and JavaFX will be piggy-backing.
The unique selling point is the ubiquity of Java: It leans on the enterprise-proven Java language. And in that sense, the future for JavaFX is looking rather good.
Oracle has issued a private release of JavaFX Scene Builder and it will be followed by a public release anticipated for early 2012. It is currently available to preselected partners for beta evaluation. The JavaFX Scene Builder is written with JavaFX 2.0 APIs. Oracle is eating its own dog food.
The JavaFX Scene Builder will have these features:
- Simple drag and drop positioning of GUI elements
- Graphical FXML editor
- Strong mapping to JavaFX APIs
- Set and preview JavaFX properties and effects
- CSS setting and previewing
- Fully written with JavaFX version 2.0 APIs!
The JavaFX community is gaining momentum and there are several third party frameworks and libraries. The following section shows a selection of community-provided frameworks:
JFX Flow (http://www.zenjava.com/jfx-flow) is a free, open source framework for developing rich, interactive and user friendly web-style GUIs for desktops using JavaFX (2.0+). JFX Flow combines the powerful feature set of Java FX (styling, animations, FXML, etc.) with a simple web flow style framework.
MigLayoutFX2 (http://www.miglayout.com, formerly called MigPane) is a wrapper for MigLayout, one of the most powerful layout managers for Swing.
DataFX (http://www.javafxdata.org) is a project that aims to make the process of using JavaFX ListView, TableView, and TreeView controls easier, more functional, and more powerful. It provides various data source adapters to ensure convenience around populating JavaFX
RedFX (http://www.redfx.org) provides functionality that allows JavaFX applications to share data with each other and with server applications without the need of writing lots of specific boiler plate code.
Read more about JavaFX on http://fxexperience.com. Tour de Flex JavaFX equivalent: JavaFX Ensemble: http://download.oracle.com/otndocs/products/javafx/2.0.2/samples/Ensemble/index.html