Trolltech trumps traditional Java GUI tools
Iconic GUI toolkit vendor brings its rich recipe to Java, though C++ orientation remains
Jambi also delivers many functions that are not specifically related to graphics or user interfaces. One example is a wrapper class for network sockets. The high-level and low-level functions Jambi provides make simple work of writing to an HTTP server, which is included as a demo application. Additional areas of functionality include collections, internationalization, thread and process management, as well as property and resource management. That's a considerable amount of utility delivered in clean, intelligent library.
High marks for C++ developers
My most pressing complaint is that the package lacks a Java feel. You cannot escape knowing it is a ported C++ library. The Jambi documents frequently refer to C++ concepts and often link to C++ documentation, even when explaining a Java concept. This is fine for existing Qt users who see in Jambi a port to Java, but it is hardly what a Java developer would expect or even care to deal with.
In other areas, Jambi has some requirements that a Java developer needs to know up front. For example, threaded applications that use Jambi for the GUI must also use Jambi's low-level thread functions throughout. Using Java's own thread functions will lead to errors. In other cases, these unexpected items are directly beneficial -- such as Jambi's elegant way of solving some classpath difficulties, which are one of the known weak points of Java desktop applications. However, this shortcut requires Java developers to step out of the normal way of doing things and they will frequently feel caught off guard. Unfortunately, should difficulties arise in this regard, tech support is based in Europe and provides assistance only via e-mail. For U.S. developers, turn-around on support requests can be slower than desirable.
This first release is best suited to existing developers who use the C++ version of Qt. They will find Jambi to be a satisfying addition to their armory. For existing Java developers, it may be a tougher sell. Certainly, a library that has more functionality than Swing and is easier to use than SWT has potent appeal. However, it can be used only on green-field projects, as combining GUI toolkits is not advised. Using Jambi means abandoning both free toolkits -- and starting in on a new learning curve, short as it is.
Personally, I think Jambi is an excellent choice on a new project because of its extended capabilities, even though it is not free (unless you're working on an open source project, in which case a no-cost version is graciously made available). I'd still recommend waiting for a rev or two, so that the documentation and support for Jambi can be made truly Java-oriented.