[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Announce: JIGS 1.0.0 is out

From: Adam Fedor
Subject: Announce: JIGS 1.0.0 is out
Date: Mon, 27 Nov 2000 19:07:55 -0700

 From: Nicola Pero <nicola@brainstorm.co.uk>

This is the announcement of JIGS 1.0.0.  It is the first release (shyly)
marked as `stable'.  JIGS is not totally complete, but it is quickly
approaching completion.

What is JIGS ?

JIGS stands for Java Interface for GnuStep. It is a package allowing
integration between Java and Objective-C. The main purpose of JIGS is
to allow Java programmers to use the GNUstep libraries from Java.

JIGS is more than a set of bindings for GNUstep from Java; JIGS takes
advantage of the fact that Objective-C and Java are very similar
languages to make it possible to use Objective-C classes from Java
using exactly the same API (and vice versa). You have to learn the
GNUstep API only once, and then you can use it both from Objective-C
and from Java in the same way! Moreover, JIGS can generate
automatically wrappers for your own Objective-C GNUstep libraries.

JIGS allows you to write optimized classes and components in
Objective-C, and make them available to Java developers. In the
typical configuration, fast Objective-C components and libraries are
used in the backend, and JIGS is used to integrate them smoothly in a
Java front-end. Moving from one language to the other is as easy as it
can possibly be with two different languages.

JIGS is free software and part of the GNU project, freely available
from the Free Software Foundation under the GNU LGPL license.

Release Notes for JIGS version 1.0

This release provides documentation.  A first version of the JIGS
manual, covering programming in GNUstep from Java and wrapping
Objective-C libraries, is included.

Release Notes for JIGS version 0.9

This release implements support for threads.  Calling (thread-safe)
GNUstep libraries concurrently from different java threads should now

Release Notes for JIGS version 0.8

This release is mainly a bug fix release.  In particular, exposing
different objc methods as overloaded java methods has been finally
fixed.  You can now create windows using the gui library from 

Release Notes for JIGS version 0.7

This release adds support for morphing of selectors.  This improvement
required extensive additions to the JIGS core engine and to the
WrapCreator tool.

Release Notes for JIGS version 0.6

This release supports building wrappers of debugging libraries, and
keeping and running them on the same system as wrappers of
not-debugging libraries.

Release Notes for JIGS version 0.5

This release includes a first very partial and experimental wrapper of
the gnustep gui library; WrapCreator supports prerequisite libraries;
bug fixes.

Release Notes for JIGS version 0.4

This release includes a first partial wrapper of the gnustep base
library; the WrapCreator tool has been modified to parse the header 
file only once, so it is now much faster.  Many bug fixes too.

Release Notes for JIGS version 0.3

First release of WrapCreator, an automatic wrapper tool for JIGS.
The wrapper can automatically generate the code to wrap an objective-C 
library to Java.

Release Notes for JIGS version 0.2

Alpha support for subclassing an Objective-C class in Java. 
Better support for exposing Objective-C class methods  to Java.

Release Notes for JIGS version 0.1 

This is the first public release.  While the core engine is mostly
working, the high level APIs and tools are still missing.  In
particular, we don't have a wrapper tool yet.  And, the base gnustep
library has not yet been wrapped.

The core engine is organized in the following way: 

   * A little library (ObjcRuntimeUtilities) to programmatically 
   add classes and methods to the objective-C runtime while it is

   * A little library (GSJNI) of utilities to program JNI using GNUstep. 

   * A little class (NSJavaVirtualMachine) keeping track of the java 
   virtual machine presently running and incidentally providing a
   simple API to start a java virtual machine.

   * The real core engine (JIGS itself), built on top of the previous 
   layers.  Most of it is written in Objective-C, but part is in Java.

Version 0.1 contains an example of an objective-C gnustep library
wrapped by hand and exposed as a Java library.  Following this
example, it should not be too difficult to wrap by hand simple

Tests and examples of the reverse (starting a java virtual machine in
an Objective-C executable and accessing java objects from objective-C)
have been written, but not included in JIGS 0.1.


JIGS was brought to you by Nicola Pero <n.pero@mi.flashnet.it>

Brainstorm Computer Solutions (http://www.brainstorm.co.uk) funded the 
development of JIGS.


JIGS is currently maintained by Nicola Pero <nicola@brainstorm.co.uk>.

Software Needed to Use JIGS

To use the JIGS, you need: 

  * A version of the Objective-C runtime library compiled as a shared
  library (and working with GNUstep).  Please refer to the INSTALL
  file for more information on how to compile and install it.  This is
  needed only to load objective-C libraries into a running java
  virtual machine, while you don't need it to start a java virtual
  machine inside an already running objective-C app or tool.  Please
  note that there are no examples yet of doing the latter in JIGS 
  though, so if you want to play comfortably, getting a shared
  Objective-C runtime library is recommended.

  * GNUstep make package and base library.

  * A java development environment supporting JNI 1.2.

Special Thanks

To Richard Frith-Macdonald <richard@brainstorm.co.uk> for countless
discussions and help during development of JIGS 0.1.

Obtaining JIGS

JIGS is available at http://www.gnustep.it/jigs/Download/
New releases and snapshots can usually be found on the JIGS homepage, 
You may always get the latest version of JIGS from the GNUstep CVS -
the module is called 'java'.

Bug Reports

The best way to submit bug reports and fixes is to email them to 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]