First Steps for Apache Pivot, Java-based RIA Framework
Apache Pivot is an open source project, which attempts to create a modern, rich client development platform in Java. Pivot started off as an R&D effort at VMWare in 2007 and was released as an open-source project in June 2008 under the Apache 2.0 license. Pivot then joined the Apache Incubator in January 2009 and graduated as a top-level Apache project in December 2009. Pivot is currently driven entirely by the software development community.
Pivot applications can be run either as applets or as standalone desktop applications on any operating system with a Java Runtime Environment (JRE) version 6 or greater (Java 6 update 14 or later is recommended).
Pivot differentiates itself from JavaFX by allowing developers to build applications in Java, rather than the proprietary JavaFX scripting language. Pivot targets itself as a tool for creating applications, and regards animations and other effects are primarily intended to enhance the user experience of those applications.
The roadmap for the next three versions (i.e. 1.5, 2.0 and 2.1) includes many GUI component enhancements and stabilization. Standing out are:
- File serialization class for facilitating file transfers in web queries (1.5)
- A DTD for WTKX in the Pivot distribution and a DTD reference in examples/documentation (2.0)
- A Pivot hook to javax.accessibility API (2.0)
- "HTML provider" API, which might be used to wrap the Flying Saucer XHTML rendering library (2.1)
- Java is a very non-functional language. I have never done any asynchronous development using it but have a feeling it might be troublesome. Then again there are other JVM languages. A default declarative language is a good thing, but all RIA platforms has that.
- The loading of the Hello World example takes longer than the loading of our entire Flex-based app. Slow startup has been a problem for JVM for a long time, will it be addressed soon? At least it doesn't block the web browser thread during startup.
Java is just one option for writing Pivot applications. You can actually use any JVM-compatible scripting language if you prefer.
Re: asynchronous development - Pivot includes a Task class that makes executing background processes much easier than hand-coding them with Threads.