Rapid Application Development with GNOME
eclipse, glade, java-gnome, and gcj
This tutorial was first given by Andrew Cowie at Linux Bangalore/2004, India's premier Open Source conference, 1 Dec 04. A modified and expanded version was jointly delivered by Andrew Cowie and Ben Konrath at GUADEC in Stuttgart. The tutorial included a live demo and was quite interactive. A set of slides were used, however, to introduce the material; you can view them online here, or download them in PDF form.
A tutorial in how to use eclipse, glade, java-gnome, and gcj together to open a whole new way of writing GNOME applications.
Eclipse is the outstanding Open Source Integrated Development Environment from IBM. While the original toolkit was targetted at Java developers, there is also an excellent C/C++ toolkit. Eclipse is primarily conceived of as a platform upon which development tools can be written, and various communities have prepared a wide variety of plug-ins.
Glade is GNOME's GUI builder. Originally glade was just used to generate stub code, but the GNOME hackers created LibGlade which an application can use to read a glade definition file at runtime and generate the graphical widgets directly.
java-gnome is a set of language bindings which allow you to use the native GTK and GNOME libraries from Java. The project has seen increasing momentum with new contributors sending in patches and mounting interest from developers wanting to write GTK/GNOME applications in Java.
GCJ is the Java compiler project in the GNU C Compiler. A major challenge of Java, of course, is that it is non-free, so in addition to the compiler the CLASSPATH project have been creating a free software replacement for the standard libraries that Java programmers expect. The most amazing thing about gcj, though is its ability to create native binary executables out of Java programs that can be simply run from the command line instead of needing a separately installed Java Virtual Machine.
This tutorial will work through the basics of how to use each of these technologies, and then demo a rapidly created GNOME application.