Re: Technologies for Consideration: Java ME ~ What's the deal?



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]