[kaffe] Plans and progress
jserv at linux2.cc.ntu.edu.tw
jserv at linux2.cc.ntu.edu.tw
Tue Jul 13 11:21:11 PDT 2004
Hello all,
After viewing the great plan and progress of Guilhem Lavaux,
I think it would be better for me posting mine as memo.
* Qt AWT: I decide to re-work on native implementation of QtAWT,
and focusing on the following issues: (I did post[1], but I think
it still needs more clear statements again.)
1. continue cleanup process.
Remove all useless and annoying X-specific code snip and
comments.
2. implement some un-implemented native parts:
a. Java_java_awt_Toolkit_graAddClip
b. reconvertImage (routine)
c. Java_java_awt_Toolkit_fntIsWideFont
d. Java_java_awt_Toolkit_fntGetWidths
(a) needs refactor Kafffe's current peerless AWT, and other
backends can benefit from. (b) might be limited with Qt's
functionality, and I am studying some material about this.
Both (c) and (d) depend on fully Unicode support in Qt AWT
backend.
3. Unicode
Both Kaffe core and Qt suppots Unicode well, but current
implementation lacks the consideration while combination.
Note: input methods can't be used with Qt AWT, which is
a known issue. After Unicode support is complete, I'll
take a closer look over it.
4. Event handling with Qt
Current implementation makes use of some Qt relative hack,
and I am sure it is more elegant to replace them with
better one. I'd like to merge some routines from PocketLinux
and GNU Classpath, and see how it should be correctly fixed.
5. Bug-fixing
To be honest, Qt AWT backend is buggy, and it is really
hard to map Java AWT to Qt.
* merging existing AWT/Swing implementations into Kaffe
Since Kaffe is the "NetBSD"[2] in Free Java, it must be great to
ship AWT implementations with different toolkits or widget sets.
In the stage, Kaffe has three AWT implementations, Xlib-based,
Qt-based, and GTK+ peers (from GNU Classpath). You can compare
them as shown in my screenshot:
http://www.kaffe.org/~jserv/awt-implementations.png
It's good till now, but we are always seeking for better solutions
to improve Kaffe or even share Kaffe's AWT with other Open Source'd
JavaVM implementations.
* KOE (Kaffe-based Operating Environment)
In 2002, Kaffe.org took over past Transvirtual's work, including
PocketLinux (as known as XOE 1.0, which was GPL. Transvirtual owned
XOE 2.0 as a commercial product.). PocketLinux was indeed nice and
highly-integrated framework in embedded systems, such as hand-held
devices, set-top box, and kiosk environments. However, Transvirtual
was gone, and it seems that there would be no active developers
maintaining its codebase.
I re-built PocketLinux, and found many impressive enhancement in
many aspects, especially its AWT implemtation with high flexibility.
For example, direct theme support in AWT was introduced, and you can
see the amazing themes look like:
http://www.kaffe.org/~jserv/awt-theme.png
Also, Jim Pick gave us how to make use of PocketLinux with Kaffe in
xoeweb[3], and we can feel its power via his screenshots:
http://www.kaffe.org/~jim/xoe-web-screenshots/
After 2002, Kaffe.org gains huge improvements from developers around
the world, so that I think that we can set up a new sub-project, named
KOE (Kaffe-based Operating Environment), to re-use the AWT design,
PocketLinux framework, and other great works from PocketLinux/XOE on
current Kaffe.org's vm.
* Kaffe Weekly News
I am not sure if I have enough ability to report some news about
Kaffe.org or some relative information in Kaffe.org website. But I
have strong sense to promote the work, and willing to help Jim Pick
to continue Kaffe Weekly News in any forms. Of course, feel free to
discuss and express your plans in mailing-list, and I will try to
write down the mail archives in website. As a Chinese developer, I
can even prepare the news in Tranditional Chinese. :)
Finally, Kaffe will become better and better with many contributions of
people from most places in the world. Let's free the Java!
cheers,
Jim Huang
[1] http://www.kaffe.org/pipermail/kaffe/2004-July/098790.html
[2] I meant the high portability of Kaffe.
[3] http://www.kaffe.org/~jim/xoeweb/
More information about the kaffe
mailing list