JavaFX Third Party Tools and Utilities

The third party developer community has shown a strong interest in JavaFX, and a number of third party solutions are currently available or in development. These range from UI controls, to development frameworks and DSL extensions. Here are a few projects.

UI Controls

JideFX is a suite of UI Controls for JDK 8 that is being developed by JIDE Software. JideFX Common, JideFX Converters, JideFX Comparators, JideFX Decoration, JideFX Validation, and JideFX Fields are six products which are all open sourced. Additional sets of UI Controls are also planned.

ControlsFX is an open source project for JDK 8 that aims to provide really high quality UI controls, such as dialogs, buttons, and other tools to complement the core JavaFX distribution. It has been developed for JDK 8 and beyond, and has a guiding principle of only accepting new controls / features when all existing code is at an acceptably high level, including thankless jobs like having high quality javadoc documentation.

JFXtras is a collection of high quality controls and extensions that are helpful in developing real-world JavaFX applications. Application developers can reduce the amount of time they spend reinventing commonly needed components by leveraging the JFXtras library in their projects.

FXForm2 is a library providing automatic JavaFX 2.0 form generation. Just write your model bean and let FXForm2 generate the user interface. Main features include automatic form generation and bi-directional binding to the bean properties, CSS styling, bean validation (JSR 303), form customization including fields reordering and filtering, tooltips, localization, custom editors, and more.

AQUAFX is an open source project providing a look & feel based on the Mac OS X Aqua theme. With AquaFX, JavaFX applications can look like native OS X applications by adding a few lines of code. AquaFX can be used on any OS which supports JavaFX.

TiwulFX provides JavaFX UI controls specially designed to work with POJOs; TableControl and Form are the two main components. TiwulFX also includes customized column and input components to display specific data types.

Back-End Communication

DataFX is a collection of data sources and cell factories to vastly simplify the process of getting data from various locations into JavaFX UI controls (most notably ListView and TableView). DataFX enables the rapid integration of data sources (JDBC, RST, XML, CSV, etc.), and improved cell support in controls - particularly around editing the data that is visible to the user.

Dolphin is a remoting solution that bridges the world of Enterprise Java and Desktop Java. Unlike most REST approaches, it doesn't confine the server to be a data source only. Instead, your server-side business logic controls a shared presentation model, while the client displays the Dolphin state in all its beauty.

RedFX 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. The synchronization and messaging infrastructure is provided by RedFX.

Application Frameworks

Granite Data Services (Granite DS) is a comprehensive development and integration solution for building JavaFX / Java EE RIA applications. GraniteDS greatly accelerate JavaFX / Java EE developments and let you reuse existing Java services. A typical development cycle with GraniteDS goes from modeling Java EE data and services, replicating them by using code generation tools and creating the JavaFX graphical interface.

Reaction is a flexible asynchronous programming framework which may be used to implement complex event-driven applications. The focus of the Reaction library is on the concurrency and callback model and as such it is application neutral. It can be used to either manage lots of concurrent I/O or to farm out compute intensive tasks to multicore processors, and can also run as an independent OSGi service.

CaptainCasa is a framework that combines a JavaFX client application (the CaptainCasa Enterprise Client) and JSF-based processing on the server side. Instead of using JSF to generate HTML and render it in a web browser, the CaptainCasa Enterprise Client renders XML code sent from the server.

The JacpFX Project (Java Asynchronous Client Platform) is a framework to create Rich Clients (Desktop and/or Web) in MVC style with JavaFX 2, Spring and an Actor like component approach. It provides a simple API to create a workspace, perspectives, and components; to communicate with all parts and to compose your client application easily.

JFX Flow is a free, open source framework for developing rich, interactive and user friendly Web-style GUIs for desktops using JavaFX. JFX Flow combines the powerful feature set of Java FX (styling, animations, FXML, etc.) with a simple ‘Web flow’ style framework, that is easy to use and that fosters clean architectural patterns, especially when developing Java EE applications.

JRebirth provides a really simple way to write sophisticated and powerful JavaFX applications. This framework features a WCS-MVC pattern, a simplified thread management, with a small memory footprint.

Tools

e(fx)clipse includes a set of plugins for your Eclipse IDE to make authoring JavaFX applications a smooth experience, as well as a set of runtime plugins to make JavaFX useable in an OSGi environment. For medium and big applications it provides plugins for the Eclipse 4 Application platform, providing a first class application framework to JavaFX developers.

Scenic View is a JavaFX application designed to make it simple to understand the current state of your application scenegraph, and to also easily manipulate properties of the scenegraph without having to keep editing your code. This lets you find bugs, and get things pixel perfect without having to do the compile-check-compile dance.

FX Experience Tools is a set of theming tools for JavaFX 2.x. The Caspian Styler lets you customize the look of the default skin for JavaFX (Caspian), and generates a CSS file you can use to style all controls in your JavaFX application. The Animation Spline Editor lets you simulate what an animation looks like if applied to a scale, rotate, fade or translate animation. The Derived Color Calculator lets you calculate derived colors that are used extensively throughout the default Caspian skin.

DEX is a JavaFX application which aims to provide a general purpose framework for data visualization. Dex integrates many excellent visualization frameworks into one consistent GUI package. The basics are easy to learn, however Dex offers advanced capabilities in the form of SQL and groovy transformations.

JVM Languages

GroovyFX is an API that makes working with JavaFX in Groovy much simpler and more natural. GroovyFX is focused on exploiting the power of the Groovy Builder pattern to make JavaFX development easier and more concise than what is possible in Java. GroovyFX also leverages Groovy's powerful DSL features and AST transformations to eliminate boilerplate, making GroovyFX code easier to write and, just as importantly, easier to read.

ScalaFX is a DSL for the Scala JVM language that lets you declaratively build UIs. ScalaFX has a programmer-friendly object-literal syntax, natural language bind expressions, and a tailored animation syntax, while retaining the type-safety of Java. Even if you are not a Scala programmer, it will help you write cleaner and easier to maintain JavaFX code, and can work with your existing projects since it has full Java interoperability.

JRubyFX is a pure Ruby wrapper for JavaFX with FXML support.