PDA

View Full Version : to Java or not to Java..that's my question


Ban
11-11-2007, 06:30 AM
Sup...

New to this forum and hopefully it won't be my last..:)

This is bugging the life out of me, I search the internet, but refused to believe what I read.

I want N810, but more importantly I need it to run Java application. So will this device do just that or not.

If not, it is a deal breaker for me.

thanks..

Ban

lardman
11-11-2007, 06:45 AM
http://www.internettablettalk.com/forums/showthread.php?t=10546

sfitz
11-11-2007, 12:27 PM
Ben,

So natively, there is no java on the N810.
However don't discount the 810 for this, I'm a JavaME developer (some would say to excess. :) and have enjoyed the 770, and will be enjoying the 810.

There are java solutions for the 770 and 800, (and I'll assume 810) mostly focused on the JavaSE implementation. But the PhoneME code has been made to work on the 770/800, and I have reasons to believe that the new SDK will provide better support to port PhoneME to the 810.

What java platform are you wanting to run?
- javaME (midp)
- JavaME (CDC/PP/PBP)
- JavaSE w/GUI
- javaSE headless mode

What other devices are you looking at in comparison to the n810?

-Shawn

urosmil
11-11-2007, 12:46 PM
Hi Shawn,

Can you post links for explanation how to run Java SE on tablet?

Thanks,
Uros.

Karel Jansens
11-11-2007, 02:06 PM
Ben,

So natively, there is no java on the N810.
However don't discount the 810 for this, I'm a JavaME developer (some would say to excess. :) and have enjoyed the 770, and will be enjoying the 810.

There are java solutions for the 770 and 800, (and I'll assume 810) mostly focused on the JavaSE implementation. But the PhoneME code has been made to work on the 770/800, and I have reasons to believe that the new SDK will provide better support to port PhoneME to the 810.

What java platform are you wanting to run?
- javaME (midp)
- JavaME (CDC/PP/PBP)
- JavaSE w/GUI
- javaSE headless mode

Which is the one that lets me run *.jar programs as if they were native programs? The one where I don't have to bother about opening terminals, typing arcane commands and generally do other stuff that one does not want to do on a tablet? You know, when I just open the "extras" folder and my java programs are in there -- or at least have an icon for them on Simple-Launcher (which I actually prefer -- if only I could get rid of the infernal sidebar).

What other devices are you looking at in comparison to the n810?

-Shawn

Um... the Pepper? The Eee? My phone? Like, every other computer on Earth that has at least a Java runtime?

krisse
11-11-2007, 02:20 PM
Almost all of Nokia's phones (including most of the cheapest models) have had proper Java support for many years now. Can someone explain why the tablets don't?

lardman
11-11-2007, 02:37 PM
Probably something to do with needing to support an out of date version of GTK (i.e. what's being used on OS2007 and before inclusive) in a modern version of Java.

My understanding is that this ought to be better with the move to OS2008 and an up-to-date version of GTK.

andy80
11-11-2007, 03:37 PM
Almost all of Nokia's phones (including most of the cheapest models) have had proper Java support for many years now. Can someone explain why the tablets don't?

Maybe because these tablets have a lot of languages available to develop application. You can code in C, C++, Python, Ruby and even C# with the Mono port. These languages are all well supported (in particular the first three).

But this is only my opinion....

aleksandyr
11-11-2007, 04:26 PM
Because nobody supports ARMEL, and the people who do support ARMEL are supporting it on a different set of base libraries (different libc6 is a ROYAL PAIN to deal with.) Since the tablets aren't 100% open source (yet) I can't just recompile the system against, say, the Debian ARMEL distribution base.

Furthermore, GTK2.6 support was dropped in Classpath at 0.91. That means we can't use Cacao, which doesn't start supporting ARM/Jazelle until you have Classpath 0.93 or greater: most other JVMs just flat out won't compile for a host of other reasons. This sticks us with JamVM, which is not a JIT but an interpreter, and therefore runs extremely slowly.

Sun's current open source offerings do not include their ARM JRE: furthermore, as of 10/2007, that JRE was at 1.4.2 and had no ARMEL support. PhoneME's build scripts have cross-compilation support: preliminary looks at OpenJDK weren't very promising, but I'm going to re-visit it if I can't get Classpath issues sorted out.

PhoneME has no GTK support, and the people who have claimed to be working on it haven't produced anything besides a fork in SVN. Adding GTK support is sufficiently beyond me, at least for now, that I've avoided it: plus, that doesn't get you the phone profiles of PhoneME, since those require framebuffer access. The non-phone profiles of PhoneME are a speculative platform, which means they're of extremely limited use until they get real support. I don't think anything in the consumer sector currently slated to make use of PhoneME advanced and its graphics: even the "Android" platform is likely to use the phone profiles.

So aleksandyr, you might say, what's stopping you from using the OS2008 SDK?

1) It was beta, and had some beta-type issues.
2) My one Linux machine has been in for repairs (well, been waiting for parts).
3) Running Java in Scratchbox is nearly impossible.

The problem with Classpath, and in fact a number of other programs that I'm working on porting, is that it requires a working Java compiler in addition to a set of native compilers. This means, simply, that I can't use Scratchbox to develop it: Jikes was easy to get running inside of Scratchbox, being a simple C app, but eclipse-ecj and sun-javac (the two supported compilers) have a huge set of dependencies and extremely difficult to resolve linker issues, for one and two. Since I can't use Scratchbox to develop it, and I have to compile outside of Scratchbox, there's a small host of -other- issues that come up. Supposedly we're going to see a Scratchbox Java DevKit to fix this issue, but until then, it's a solvable but extremely difficult problem.

Finally, don't get me started on the CodeSourcery 2005 tool chains.

Ban
11-11-2007, 06:15 PM
Ben,

So natively, there is no java on the N810.
However don't discount the 810 for this, I'm a JavaME developer (some would say to excess. :) and have enjoyed the 770, and will be enjoying the 810.

There are java solutions for the 770 and 800, (and I'll assume 810) mostly focused on the JavaSE implementation. But the PhoneME code has been made to work on the 770/800, and I have reasons to believe that the new SDK will provide better support to port PhoneME to the 810.

What java platform are you wanting to run?
- javaME (midp)
- JavaME (CDC/PP/PBP)
- JavaSE w/GUI
- javaSE headless mode

What other devices are you looking at in comparison to the n810?

-Shawn

Its BAN, but what ever works for you.

thanks for the great info, guess i'll do some more searching or hang around and hopefully someone will have it working on the n810.

I can't really you what platform it is running, honestly computer is not my thing, just an end user that knows how to google..haaha

anyways, here is the site I will be mainly use the device for. www.oanda.com

I need java to run their application. I have a samsung q1 now, but i still need something smaller, but not too small and the N810 seems to be the ideal unit for my needs.

thanks.

Ban

lardman
11-12-2007, 06:49 AM
The problem with Classpath, and in fact a number of other programs that I'm working on porting, is that it requires a working Java compiler in addition to a set of native compilers. This means, simply, that I can't use Scratchbox to develop it: Jikes was easy to get running inside of Scratchbox, being a simple C app, but eclipse-ecj and sun-javac (the two supported compilers) have a huge set of dependencies and extremely difficult to resolve linker issues, for one and two. Since I can't use Scratchbox to develop it, and I have to compile outside of Scratchbox, there's a small host of -other- issues that come up. Supposedly we're going to see a Scratchbox Java DevKit to fix this issue, but until then, it's a solvable but extremely difficult problem.

It should, somehow, be possible to install an x86 native application and make it available to scratchbox (in the same way as the cross-toolchain). Just exactly how one does this is something I have wondered about, but have never actually *really* needed.

Finally, don't get me started on the CodeSourcery 2005 tool chains.

Hear, hear. I can't believe we're still stuck with this :(

aleksandyr
11-12-2007, 07:17 AM
It is possible to load host apps and libs using the "host_usr" directory --- the problem is that Java has a nonstandard way of finding dependencies and self-destructs every time I try to load it in that environment. strace says it's finding the libraries, but it complains it can't, which sounds like an arch detection issue to me.

cool_guy
04-13-2008, 09:37 AM
I've found N800-java-cdc-fp-pmea-mr2-rev5444.zip.
It executes on os2008 but
./bin/cvm -jar /home/user/MyDocs/Denki_Blocks.jar

tells me (appart from other 50 lines of messages):

-jar: Could not find Main-Class manifest attribute
Cannot start VM ()
Could not create JVM.