Re: Technologies for Consideration: Java ME ~ What's the deal?
- From: Ken Gilmer <ken buglabs net>
- To: Bartek Teodorczyk <barteo barteo net>, Ross Burton <ross openedhand com>
- Cc: Robert Schuster <r schuster tarent de>, mobile-devel-list gnome org
- Subject: Re: Technologies for Consideration: Java ME ~ What's the deal?
- Date: Tue, 30 Sep 2008 12:38:54 -0400
Bartek,
I was not aware of MicroEmulator, looks very cool. And the usage
scenarios definitely make sense. This gets back to my original
question: what functionality is Gnome Mobile looking for? In my mind
there are two primary paths:
1. J2ME (run phone apps, etc. on a Gnome Mobile device)
2. "Full" Java with deep integration into the platform
Option 1 is very Java-centric, and 2 is more Gnome-centric. Ross,
can you provide feedback as to which option Gnome Mobile is most
interested in?
thx
ken
On Sep 30, 2008, at 6:03 AM, Bartek Teodorczyk wrote:
Hi,
I'd like to show another option to support Java ME that is possible
for GNOME Mobile using MicroEmulator.
MicroEmulator [1] is Java ME implementation build on top of Java SE,
it was also designed to run on less capable VMs like CLDC and CDC as
well. Two years ago I prepared a proof of concept demo for Maemo
platform [2] to demonstrate possible solution for Java ME applications
running on Nokia tablets. In that example I combined Jam VM, GNU
Classpath, SWT (my origin plan was to use GTK+ directly) and
MicroEmulator.
Here I try to do some weighing the pros and cons which may be in my
opinion important for GNOME Mobile community.
Pros:
1. License: LGPL and additionally large parts of project are Apache V2
also dual licensed.
2. Small porting layer, it is about 15-20 classes that needs to be
adapted to support GTK+ UI backend.
3. API's: JSR-118 (MIDP2), JSR-75 (File API), JSR-135 (partially),
JSR-82 (together with BlueCove[3]), JSR-179 (together with OpenLAPI
[4]).
4. Used by other important projects: Apache Harmony [5], Eclipse MTJ
(previously EclipseME) [6], NetBeans IDE [7].
Cons:
1. Not possible to get Sun TCK for open source Java ME implementation.
2. Not all API's are fully implemented yet, but general goal is to be
MSA (JSR-148) compatible.
Regards,
Bartek
[1] http://www.microemu.org/
[2] http://www.microemu.org/maemo/
[3] http://www.bluecove.org/
[4] http://code.google.com/p/openlapi/
[5] http://markmail.org/message/z7kiqk7wpd6vaina?q=apache+harmony
+microemulator
[6] http://www.eclipse.org/projects/project-plan.php?
projectid=dsdp.mtj
[7] http://wiki.netbeans.org/MobilitySolarisMacOSXSupport
On Mon, Sep 29, 2008 at 11:43 PM, Ken Gilmer <ken buglabs net> wrote:
Hey Ross,
Basically this means that we know that JavaME exists and is used
by some
people, but there needs to be more research done to see if it
should be
added as a recommended component, needs work to be better integrated
into the GNOME Mobile platform, and so on.
Got it.
This is where you probably know more than the rest of us: what is
the
state of JavaME and GNOME Mobile integration? (I'm very out of
touch
with Java now, so bear with me)
I'm CCing Robert Schuster from Jalimo [1], as he knows more than
me on this,
but from my understanding there is a J2ME UI on GTK+ with midpath
[2]. I
have not seen this myself but I think it has been used on the
OpenMoko
device.
Is there an AWT or Swing implementation
with a GTK+ backend?
Yes, CACAO with GNU classpath supports GTK+ backend. We have done
some
preliminary work with our device with success [3]. JamVM should
be able to
use classpath's GTK+ peers as well, however I haven't seen this.
Currently
PhoneME only supports AWT with QT3 peers but there seems to be
some activity
in a GTK+ port [4]. Bug is interested in this work as well.
Are there usable DBus bindings?
This is something I'll be looking into in coming weeks with dbus-
java [5].
My understanding is that it's at least possible with CACAO.
How about the
rest of the platform such as GConf, GIO and so on?
I haven't heard anything regarding either of these. What
components of the
platform would need Java bindings in order to become a part of
Gnome Mobile?
Are some VMs better
integrated than others, or do most open VMs these days all use
Classpath?
CACAO and JamVM use GNU Classpath but there is work under way to
let them
use OpenJDK class libraries as well [6]. This is a very interesting
development. PhoneME has it's own class library and is not able
to use
others. One key limitation of PhoneME is that it does not contain a
classpath exception. There has also been some success in building
OpenJDK
VM and classpath for ARM-based devices, although I think that's
still in
early stages. We have done some work [7] [8] in benchmarking
various JVMs
on BUG but I wouldn't consider them complete, there is still some
important
optimizations for CACAO that we haven't yet got worked out.
In general I'd say that CACAO + GNU Classpath may in fact be a
suitable
candidate for Gnome Mobile.
Answer these questions well Ken, and I may bring more
Laphroaig... ;)
Uh oh...I think my liver still hates me for what happened on that
boat
ride... :)
cheers
ken
[1] https://wiki.evolvis.org/jalimo/index.php/Main_Page
[2] http://midpath.thenesis.org/en/Start%20Page
[3] http://bugblogger.com/working-with-processing-on-bug-214/
[4] http://forums.java.net/jive/thread.jspa?messageID=275587&
[5] http://dbus.freedesktop.org/doc/dbus-java/
[6] https://c1.complang.tuwien.ac.at/cacaowiki/OpenJDK
[7] http://bugblogger.com/java-vms-compared-160/
[8] http://bugblogger.com/java-vms-compared-ii-187/
_______________________________________________
mobile-devel-list mailing list
mobile-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/mobile-devel-list
[
Date Prev][Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]