Apache Pivot


Apache Pivot is an open-source platform for building rich web applications in Java or any JVM-compatible language. It is released under the Apache License version 2.0.

Architecture

Its classes are divided in the following categories:
WTK or widgets toolkit are the graphical components of Apache Pivot. There are more widgets than in other Java GUI libraries like JFC/Swing, SWT or JavaFX. The components are based on Java2D and are completely skinnable and support color schemes. The demos "Kitchen Sink" and "Component Explorer" give a complete overview and show the possibilities of interaction. Additionally, it is easy to add and use self-made components because of the open structure. Also part of WTK are the so-called decorators which add graphical effects and even animations to the components.

BXML

In Apache Pivot, the GUI usually is designed using BXML files. BXML is an XML-based markup language for simplifying the construction of Java object hierarchies. While it is most often used to define the user interface of an Apache Pivot application, it is not limited to user interface construction, and can actually be used to create hierarchies of any object type. In the case of Apache Pivot the designer can place the WTK-components and set their properties without writing a single line of Java code.
In more complex projects there usually is one class file for each BXML file to hold the logic, though there are other possibilities.

Scripting

Apache Pivot supports all JSR 223 scripting languages to script the BXML files. It is even possible to create an entire Pivot application without any compiled code at all. The script fragments can either be placed inside certain tags directly inside a BXML file, or in external files which get included during runtime.

Non-GUI features

The WTK is just one part of Pivot, but it is a complete RIA framework. Pivot has its own Collection API and APIs for accessing REST web services and parsing RSS, JSON and XML.