JavaFX is a mature Java-based platform for building desktop, mobile and embedded UI applications. It provides over 50 UI controls and components, support for CSS styling, animations and effects. JavaFX applications can be developed in Java or dynamic languages like Groovy and Scala that compile to Java bytecode. While tools for visual UI design are still being developed, JavaFX leverages the large Java developer community and can reuse existing Java code and libraries.