[maemo-developers] Maemo Language bindings and priorities

From: Sebastian Mancke asteban at gmx.de
Date: Wed Apr 11 22:22:09 EEST 2007

my interest is also in Java language bindings. As I mentioned before, we
have started JaLiMo [1] therefore and since a week, the time to work on
JaLiMo grows. So maybe its time to start sharing the ideas.

It seems to me, that Johannes and I have a similar understanding, of the
problems with Java on small Linux devices: The basic JVM is a first
step, but we have to target the problems beyond that, which is the
integration with the desktop and the system environment.

I like those hildon and osso ideas but I don't want to stick with a
library only available in *one* linux distribution. When I do that work
for maemo today, I don't want to start from scratch on openmoko or
distribution xyz some time later. That's why I don't want to have JaLiMo
on garage.maemo.org for example.

I would like to identify the basic concepts and build an interface based
API above them, as it was the idea in Java from the beginning on.
The required concepts I see at the moment are:
- messaging between applications
- having a *gui program* with
  + title and icon
  + menu entrie
  + different actions (e.g. menu entries)
    in different container (e.g. menu, toolbar or system tray)
- having something like a system tray
- control of instantiation and runtime of applications
- and (maybe) build the gui resting upon a gui description file
I think, all of this can used without knowing the currently used GUI
library and implementation peer.
(If someone is interested in it, I will publish my early API drafts on [1])

Along with this API requirements I see the following:
- Running all java applications in one jvm process
- compiling and packaging applications from the preferred Java
development/build environments (e.g. maven, eclipse, ...)
- simple cross compilation of JNI projects

As you know, I have started with cacao/jamvm, classpath and java-gnome,
but would love to see all other alternatives (e.g. PhoneME, (e)SWT,
Swing, ..) as well. Java-gnome was my choice because it seems to be near
to maemo, opmenmoko and GPE and it is very lightweight.
If I had to come to a production quality environment for a huge project
in an short time, I maybe would consider using eSWT, like others do in a
similar environment. (e.g. IBM J9 [2] and AONIX Perc [3])
Again, this is a reason for me to encapsulate the above concepts in an
API beside the GUI Library. This would give us the possibility to
introduce additional gui libraries and reuse the work done before.


[1] http://www.mancke-software.de/jalimo/
[2] http://www-306.ibm.com/software/wireless/weme/
[3] http://www.aonix.com/perc.html

Johannes Eickhold schrieb:
> On Tue, 2007-04-10 at 16:20 +0300, Jukka-Pekka.Iivonen at nokia.com wrote:
> Hi Jukka-Pekka,
>> I'm collecting developer feedback regarding language binding needs on
>> maemo. Hildon and other APIs need bindings in order to have native
>> support in languages other than C.
> See my comments inline. This topic partly interfers with the "Java
> language bindings" proposal for Google SoC by Clemens Eisserer for which
> I applied as mentor.
>> Currently there exists unofficial bindings for  C++, for example, and
>> bindings for Python. So the question is what bindings do you need for
>> your development,
> Bindings for hildon (GUI) and d-bus (communication with system services)
> + other Gnome related APIs would be needed for decent java support in
> maemo.
>> for what language,
> Java.
>> and why (if not obvious)?
> A tight integration (i.e. UI is not distinguishable from the UI of a C
> +hildon application while still as powerfull) of Java into maemo is
> still missing. General support for the Java language is already in place
> (as reported previously on this list).
> Currently Java has different APIs for UI programming. None of them
> directly fits with hildon. Among the most widely used are:
> 1. Swing (Java's own UI toolkit) [1]
> 2. SWT (based on GTK) [2]
> 3. AWT (Java's old own UI toolkit) [3]
> 4. java-gnome (bindings for GTK) [4]
> IMO one of these should serve as a starting point for any "java-hildon"
> binding activity.
> Greets,
>   Jonek.
> [1]
> http://java.sun.com/javase/6/docs/api/index.html?javax/swing/package-summary.html
> [2] http://www.eclipse.org/swt/
> [3]
> http://java.sun.com/javase/6/docs/api/index.html?java/awt/package-summary.html
> [4] http://java-gnome.sourceforge.net/
> _______________________________________________
> maemo-developers mailing list
> maemo-developers at maemo.org
> https://maemo.org/mailman/listinfo/maemo-developers

tarent Gesellschaft für Softwareentwicklung und IT-Beratung mbH

Heilsbachstr. 24, 53123 Bonn    | Poststr. 4-5, 10178 Berlin
fon: +49(228) / 52675-0         | fon: +49(30) / 27594853
fax: +49(228) / 52675-25        | fax: +49(30) / 78709617
durchwahl: +49(228) / 52675-17  | mobil: +49(171) / 7673249

Boris Esser, Elmar Geese, Thomas Müller-Ackermann
HRB AG Bonn 5168
Ust-ID: DE122264941

More information about the maemo-developers mailing list