Re: [Pharo-users] JNIPort preview for Pharo available on SqueakSource

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] JNIPort preview for Pharo available on SqueakSource

Mariano Martinez Peck
great work. Congratulations. I cc'ed pharo mailing list.

cheers

mariano

On Mon, Jun 7, 2010 at 7:07 PM, Joachim Geidel <[hidden email]> wrote:
I have made a preview release of JNIPort for Pharo/Squeak available on SqueakSource:
    http://www.squeaksource.com/JNIPort.html

JNIPort is a Smalltalk  library which allows Java code to be invoked from Smalltalk. It acts as a bridge between the world of Smalltalk objects and a Java Virtual Machine (JVM) where Java code is executing.

If you want to know what can be done with JNIPort, see
    http://philemonworks.wordpress.com/2010/04/29/google-api-access-from-smalltalk-using-jniport/
for an example.

Installation instructions are on the Wiki at SqueakSource. See http://jniport.wikispaces.com/ for more information about JNIPort.

The current state of the Pharo/Squeak version of JNIPort (as of 7 June 2010):
  • Callbacks from Java to Smalltalk are not yet supported.
  • In contrast to VisualWorks and Dolphin, JNIPort does not create ghost classes as wrappers for Java classes, but creates “real” classes which can be seen in the system browser. It also does not copy prototypes of CompiledMethods when a wrapper class or a Java class is created, because this causes VM failures in Pharo 1.0. Instead, methods are compiled from source code. This has a performance impact, of course.
  • Another difference from the VisualWorks and Dolphin versions is that wrappers for Java methods without arguments don’t have selectors ending with an awkward “_null” suffix.
  • JNIPort has been developed and tested with Pharo 1.0 on Mac OS X 10.6.3. If it works in Squeak and on other operating systems has yet to be tested.
  • I have briefly tested JNIPort with Pharo 1.1 beta 11367, but this needed some manual modifications of Alien – without them Alien causes problems in Pharo 1.1.
  • In Pharo 1.1, starting a JVM needs 11 seconds vs. 4 seconds in Pharo 1.0. I don’t know yet why.
  • I don’t have a Metacello configuration yet.

The next steps will be:
  • Adding support for callbacks from Java to Smalltalk.
  • Testing it on more platforms.
  • Reorganization of the documentation on the JNIPort wiki, and addition of Pharo/Squeak specific documentation similar to the documentation for the VisualWorks version.
  • Release of JNIPort 2.0 for VisualWorks and Pharo/Squeak when everything is stable. This will be after the release of Pharo 1.1.

If it works in Squeak 4.1 or on Linux or Windows, please let me know, especially if you had to do something which might be worth mentioning in the installation instructions.

Have fun with JNIPort, and let me know if it works!

Joachim Geidel

_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project