[maemo-developers] [maemo-developers] Java on 770

From: Santtu Lakkala inz at inz.fi
Date: Fri Nov 24 15:08:24 EET 2006
Michael Dominic Kostrzewa wrote:
>> I find it more reasonable to port a Java widget toolkit to hildon, than
>> to create a wholly new toolkit. SWT can already use Gtk, so I guess it'd
>> mostly be porting the backend to use hildon widgets where applicable.
> Hmm, I'm not sure what you mean. There is, indeed, no sense in creating
> a new toolkit (for what?). What we prolly need is hildon-* bindings for
> Java and gtk bindings (I assume they exists somewhere). 

Afaik there are no Gtk "bindings" per se. But there is IBM's swt
toolkit, that can use Gtk as a backend. If we just make Gtk bindings, we
lose quite a lot of the reasons to use Java in the first place. If we
have our own, product specific, library for widgets, then there is a
need for porting software. Instead there should be a backend for swt (or
awt/swing) that uses hildon widgets where appropriate. This way the
program will run and look native in multitude of environments. All this
without need for modifying source or even recompiling.

> Also, it's not only about GUI toolkit but also about other API's. Ie.
> you most likely want to use gnome-vfs, dbus, gstreamer, etc. 
> Using plain SWT (even with Gtk drawing) will result in a lot of 
> inconsistencies. Ie. the input methods will not work as expected.  

Why will the input methods not work? I may be wrong on this, but I
really think they would work. But anyway, having gnome-vfs available
would be nice, but once again, if it is only used on maemo there is no
real gain from using java. For gnome-vfs, I'd say the best way is to
replace FileInputStreams with gnome-vfs implementations. Sure, then
you'd be forced to use gnome-vfs, but at least you would not need code
changes.

GStreamer is a harder one, this would probably be a nice-to-have one.
And without DBus I guess there's no way to get total integration with
rest of the system.

> With mono, the bindings exist for most of the components we use,
> although they might need some tweaking. For some custom components
> (ie. hildon-libs) we want to generate the bindings with the
> gapi-parser. This way the mono apps on 770 will have a 100% "native" look,
> feel and behaviour. 

Call me idealist, but in my opinion for Java (and mono) to be really
useful, the same code -- even the same binaries, should run everywhere
and look native -- without a mess of checks on what the system we're on
supports.

Oops, forgot (once again) reply-to-all and thus we were out of the list
for a couple of messages.

-- 
Santtu Lakkala

More information about the maemo-developers mailing list