BeKaffe - Developer Release 2

### A BRIEF INTRODUCTION

BeKaffe is a virtual machine for the execution of Java applications and applets on BeOS.
It is a port from the well-known Kaffe OpenVM, which is available for a number of architectures
and is being developed through an open-source process.

This version is based on lightweight widgets, meaning that the GUI elements do not have a native BeOS look and are implemented in Java, using a minimal subset of the BeOS APIs.
An implementation based on native BeOS widgets is in early development and will be released soon!

You can find the latest news and BeKaffe releases, with all the source code, online at the BeKaffe web site:
http://bekaffe.sourceforge.net

### INSTALLATION AND CONFIGURATION

BeKaffe can be run from any directory, so it doesn't matter where you install the files.

During the installation process, some lines are added to the .profile bash configuration file.
These lines are used to specify the default CLASSPATH and the PATH to the Kaffe executables
(just used when launching java or appletviewer from the Terminal, the GUI version is fully relocatable).

IMPORTANT!
When installing from a zip archive, remember to run the included InstallScript.sh by double-clicking it.

### RUNNING SOME SAMPLE JAVA CODE

There are three ways to run Java applets:

- double click on BeKaffe, select item Open... from the File menu and choose the HTML file to open.
- drag & drop the HTML file over the BeKaffe application.
- left-click on the file and choose Open with..., BeKaffe will appear among the available choices.

Java applications can be ran in the same ways and in two little more:

- just double click a Java class file and the application will be launched.
- drag & drop a class file or JAR file archive over BeKaffe or use Open with... to launch it.

  NOTE: not all JAR archives support this functionality. If in doubt, try the following from a Terminal and if the application is not launched, it's not BeKaffe's fault:
  java -jar JAR-file

### SAMPLES

You can find a number of sample applets in the samples folder.

Credits:
BigTime applet is Copyright © 1996, The Internet Conveyor Ltd.
Curve by Michael Heinrichs
Juggling by Christopher Seguin

### WHAT'S NEW IN DR2 ?

- The Virtual Machine
  This release is based on Kaffe 1.0.5. Thanks to a new Just-in-time compiler (JIT3) there are noticeable speed improvements, three-fold in some cases, over BeKaffe DR1.

- The AWT layer
  - Adds support for alpha images.
  - Implements more complete key events (support special keys and modifiers).
  - Fixed image producer.

- The BeKaffe front-end application
  - Adds support for working directory.
  - Terminates applets on exit (this will be made optional).

### DEVELOPMENT

The application and all surrounding modules are still under development by the BeKaffe team.
BeKaffe still needs a number of "finishing touches", so if you would like to contribute some time to the project, here are some areas where help would be very appreciated:

If you have doubts or would like some exotic feature added to BeKaffe,
contact the team via the bekaffe-dev mailing list.

#### TESTING

This kind of help is very appreciated because we need to expose the VM to an avalanche of Java code.
To avoid overlap, our standard test suites include the following:

- all tests distributed with Kaffe
- JDK demos (from JDK 1.0.2 and 1.1)
- the CaffeineMark benchmarking application
- all samples packaged with the binary release

Bugs can be reported via the Sourceforge bug database, which is accessible also from our Web site.

#### WORK ON CORE VM (contact Alan L. Batongbacal)

- fixes to the native threading system (the VM currently fails 9 out of 80 tests).

#### DEVELOPMENT OF AWT AND JAVA LIBRARIES

- fix implementation of text fields, scrollbars and choice boxes
- fix race condition on startup
- add support for italic and bold fonts
- fix problem with origin of windows ( bad property values ? AppletViewer broken ? )

#### DEVELOPMENT OF AWT WITH NATIVE WIDGETS (contact Tomaso Paoletti)

- scroll-bars and choice boxes are still missing
- the event system does not handle all events correctly

#### WORK ON BeKaffe FRONT-END (contact Tomaso Paoletti)

- add pipes to read output of Kaffe and to report it in a window
  (System.in and System.out as many other GUI-based VMs )
- add a decent "about window"
- new icons for VM and class files ?

#### BETTER SUPPORT FOR SHARED LIBRARIES

- the build process is still tricky

##### BeKaffe release notes, Last updated: 6th July 2000