Paul Gear writes:
>Given the technologies they are aiming at (one is compiled Java, the
>other interpreted; one uses CNI, the other JNI, etc.), it may be a
>little difficult to combine the projects, but as a developer i'd be very
>interested in seeing some co-operation between the projects such that
>they have the same Java API.
(Note, I'm a developer who recently joined the Java-Gnome team, and while I
am relatively familiar with the project at this point, I certainly don't
claim to write policy for the group!)
I think there's a reasonably good chance of that happening: GTK is itself
relatively "OO" for a C library (the official GTK metadata has a
define-object construct), so there's a pretty natural correspondence
between GTK types and classes in an OO language. The Java-Gnome project is
pretty much sticking to the GTK line when it comes to associating functions
with classes.
The places where it gets fuzzy are in things like callbacks, where there is
no obvious single "right way" to do the mapping. The Java-Gnome project
is still wrestling with this issue in particular, but no doubt there's more
grey area than that.
The other obvious arbitrary difference is what package to put the classes
in. The Java-Gnome project settled on the top-level packages "gdk", "gtk",
and "gnome" for classes corresponding to those respective pieces of the
toolkit.
Personally, I'd be happy to see a gnome/gtk mapping that worked the same
across Java VMs/implementations. Right now, I think JNI is more widely
supported than CNI, so I'm happy to be working on that first. (Actually,
getting totally un-altruistic for a moment, the one app I care most about
using gtk happens also to require the audio support only available right
now with Sun's JDK 1.3, so I'm most interested in seeing GTK work there
right now.) Of course, there are people who probably care more about
compiling with gcj than running on a JNI-capable VM, and that's
understandable too.
I definitely hope that at some point the projects merge, or align, or
whatever, of course. There's almost certainly some amount of duplicate
effort going on right now (e.g., both projects have to generate Java source
files corresponding to the GTK types, based on the same ".defs" files). I'm
willing to live with that for now, though.
-dan
|