Sunday, May 03, 2009

Apache Pivot - What is it ?

So I spent a bit of time this week-end with Apache Pivot (release 1.1).

It is a completely new GUI toolkit / framework built on top of Java2D. So it is not Swing, nor native browser controls.

This puts it in my opinion in the category of LRTW software (Lets Reinvent The Wheels). As mentioned in my first post, rendition is far from perfect.

The provided elements are good for layouts and containers but lack for me a good rich text editor - I think to get Java really on the desktop and shining for little businesses we need a programmable Java written office suite.

The interface can be built in Java or using an XML Based language: WTKX. May be this is more comfortable for some designers... Event handling plumbing seems to be in Java only - there is an empty scripting section in the tutorial so may be there are possibilities to declare event handler.

Pivot also includes utilities for data-binding (the stuff we miss in Java since years and you could find in VB or Delphi since day 0) and JSON (data exchange over HTTP), internationalization is also covered (I did not check it).

So my first opinion: this seems to be an open Java based Flex a like solution.

Unfortunately the deployment of the Java plugin is not comparable to Flash and the rendition if far from what you would get with native controls -e.g with Ajax or GWT.

Event being handled locally, so Pivot falls short compared to for example ZK / Echo and I think Canoo. In the demo I could not see an example with multiple windows / MDI like interface.

The tutorial is still incomplete. My statement : good open source = good documentation (potentially charge it but please write it if you want to gain quick acceptance).

What's more I could not find an indication of which problems Pivot is supposed to solve.

At this stage I cannot imagine to use it for anything. The project is currently 'incubated'. Except if the project can jump very quickly in term of quality and server based event handling, I don't think it will make long run.

1 comment:

Anonymous said...

> This puts it in my opinion in the category of LRTW software (Lets Reinvent The Wheels).

See the FAQ. Pivot attempts to address many long-standing issues with client-side Java development:

http://cwiki.apache.org/PIVOT/frequently-asked-questions-faq.html

> there is an empty scripting section in the tutorial so may be there are possibilities to declare event handler

See the scripting demo for an example of declaring event handlers in script:

http://cwiki.apache.org/PIVOT/scripting-demo.html

> So my first opinion: this seems to be an open Java based Flex a like solution.

Exactly right.

> the rendition if far from what you would get with native controls -e.g with Ajax or GWT

See the FAQ for a comparison to AJAX/GWT.

> good open source = good documentation

Agreed 100%. Unfortunately, good open source does not always equal lots of funding. The suggestion to charge for documentation isn't a bad one, but it's a chicken and egg situation - no one is likely to pay for documentation for an unproven toolkit, yet we can't continue development indefinitely without the additional funding that would come from selling the docs.

> What's more I could not find an indication of which problems Pivot is supposed to solve.

Again, please see the FAQ.

Thanks for checking Pivot out.