While Adobe, Microsoft, and Google/HTML5/Mozilla are battling it out to capture the UI-space of the 2010′s (how are you supposed to say “2010′s”? “The teens”?), there are a handful of other efforts to provide a post-Ajax UI layer. The Apache Pivot project, now in incubation, is one I came across recently. Essentially, the Pivot team – mostly from VMWare – have been working on Java-based GUI UI from the ground-up.
Rather than use existing (and much despised by all – see JavaFX) Java GUI toolkits like AWT or Swing, they specify their own UI markup language (WTKX), which then sits directly on-top of Java2D and other GUI widgetry to render UIs. Thrown into this mix are concerns for web-based networking (like running in the browser’s Java plugin and providing server side components for data access), and you essentially have a framework for what we’d call a “Rich Internet Application” (RIA) now-a-days, minus the video. I’m always more into the UI- rather than the video-side of RIAs, so that’s really no issue for me.
Pivot is divided into a few broad buckets:
- core – non-UI classes for utils and such
- web – platform support for server communication; REST
- WTK – windowing tool-kit, component definitions and then another library that provides the skin (like Swing)
- charting package – plugin to JFreeChart
For more technical detail, check out the Apache Pivot posts from Greg Brown over at InsideRIA.com.
The RIA Market
Being at the ASF, Pivot is going through the incubation process, meaning it’s getting vetted and otherwise “put into shape” to be a full fledged Apache project. I wouldn’t expect Pivot to be a major market competitor for the likes of the Flash Platform, Silverlight, or even Ajax anytime too soon.
That takes a dedicated commercial and marketing effort which the ASF really doesn’t care to get involved in itself, and I don’t get the sense that the Pivot dudes will extract a Covalent or Cloudera out of the project anytime soon. That said, as the spread of Eclipse’s UI layer has shown over the years, there’s a deep yearning in the Java community for a better GUI solution. Even Sun’s conceit with JavaFX is to deliver on that desire. Closed source GUI frameworks have a tough time at it now-a-days, where-as open source ones by virtue of being free and open, potentially have an easier time to dig into the minds of Java developers.
Disclosure: Adobe, Microsoft, and Sun are clients.