Friday, August 8, 2008

JNode 0.2.7


Finally  JNode 0.2.7 has been released!

With this release the GUI is getting to a point where small to medium sized real world Swing applications begin to work. It also becomes possible to start developing Swing based tools for administrative tasks in the desktop.

Only to highlight a couple of notable features of this release it's worthy to note that starting from JNode 0.2.7 the complete Swing toolkit of OpenJDK and the majority of AWT is available on JNode and apparently this is the first time when OpenJDK Swing is running on a non-Hotspot-based free JVM. Moreover this JVM runs directly on the hardware without the need for an other operating system. Also notable is that now we provide support for generic VBE based graphics enabling the majority of JNode users to get access to the JNode GUI on real hardware which was possible only for a small fraction of them so far.

Since the Java GUI programming is split to the Swing/AWT and SWT worlds a challenge will be for JNode to support all the SWT based applications out there. Fortunately there is a project, SWTSwing which can play an important role in addressing this problem. SWTSwing implements the native parts of the SWT toolkit on top of Swing providing a pure Java solution. It looks like an ideal fit for JNode. It's interesting to see how certain projects of apparently vague scope and utility make perfect sense in the context of JNode. SWTSwing is not alone! The idea of supporting Eclipse on JNode leads us directly to an other similar project based on SWTSwing: EOS (Eclipse On Swing),  and I could continue the list with a long row of projects for which one could ask why a Java based implementation when mature native implementations already exist? Though that could probably be the topic of an other blog post...

Tuesday, July 15, 2008

SwingSet2 on JNode


This is the SwingSet2 demo running on JNode with the integrated Swing implementation of OpenJDK. Currently the JNode desktop is based on the Swing JDesktopPane and the JFrame peer is based on JInternalFrame. Therefor SwingSet2 is running on a purely Swing based desktop. More work is needed on the Swing based AWT peers and better Java2D support but I will commit the code soon which makes the above demo possible.

It looks like we can anticipate a really interesting JNode release this summer. : -)

Tuesday, July 1, 2008

The commencement

I have been working with the Java technology for more than ten years now and JNode was my companion on this road during the last 4 years. Java became a widespread, mature technology, available as free open source software, the Java community has millions of developers and apparently the most favorable conditions have been created so far for an operating system based on the Java technology, what is JNode.

I'm starting this blog primarily to share with a wider audience my thoughts related to JNode and Java development, to inform you about the progress of JNode and its community and to reveal moments from its past and outlooks to its future. 

With the title of my blog I want to express my fascination by the general idea of self-reference and by the capacity of software to so effectively capture this essential principle of life, nature and the universe, a capacity which probably still holds key possibilities for its future evolution.

As an immediate incarnation of this idea I'm quoting the Java Quine I created 5 years ago which though not completely platform independent, it is the shortest of its kind that I know of by the JDK 1.4 level of the Java language:

class Q{public static void main(String[]v){char c=34;
System.out.print(s+c+s+c+';'+'}');}static String s=
"class Q{public static void main(String[]v){char c=34;
System.out.print(s+c+s+c+';'+'}');}static String s=";}

I hope many of You will find interesting things here in the future...