Re: [java-gnome-hackers] topic for discussion
Brought to you by:
afcowie
From: Jeffrey M. <ku...@zo...> - 2004-02-28 16:13:28
|
On Thu, 2004-02-26 at 20:19, Jeffrey Morgan wrote: > On Wed, 2004-02-25 at 21:48, Bob Fischer wrote: > > 3. One might consider building CNI bindings for the GTK+ calls, rather > > than the current JNI bindings. These would certainly be smaller and > > more efficient when using GCJ. CNI bindings could also sidestep the > > dynamic library loading problems I experienced (although I sidestepped > > them without CNI). However, the added work of keeping two sets of > > bindings up to date might not be worth it. > > This is something that I have thought about for a very long time. > There are many pros and cons to support CNI. I would like to know > what each of you think. > I would really like to have a good debate about this. The debate is should we continue to support only JNI, should we support only CNI, or should we try to support both. This will have a significant impact on our project and should be decided soon. The core questions are "How will developers be using our bindings?" and "How will they want to distribute these applications?". Should our bindings work with standard JVMs or should we take the approach that our bindings and all applications should that use them should use the gcc suite? Pros/Cons JNI only - JNI runs slower and producers larger bindings. JNI is also harder to develop than CNI. On the plus side our bindings will work with all open source and commercial JVMs. CNI only - CNI will run faster, produce smaller bindings, and is easier to write. Also, our build process will be significantly simpler since we will not need to detect and set as many compile alternatives. On the down side our bindings will only work with gcc/gcj. JNI and CNI bindings - You get the option of choosing the native code you wish. The down side is that we have to maintain the native layer in two locations and we add yet another complexity to our build process. Please let me know what you think. Also, should we take this debate to the developers list? -Jeff |