Sign in to follow this  

How Many Mobile Devices Use Java Now ?

This topic is 1314 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

 There has been a kind of "war" against Java game developers on mobile devices for a long time now ... my question is, how many mobile devices now-a-days exist that can use normal Java applications ?

 How many do you think will be able to use Java 7 & 8 ?

 

 

Share this post


Link to post
Share on other sites

How many do you think will be able to use Java 7 & 8 ?

Zero.

Android is stuck on a hacked-up fork of Java 6, and all the legacy J2ME devices are even older. Plus, neither Android nor J2ME provides the same standard Java libraries as desktop Java, so compatibility is limited.

Share this post


Link to post
Share on other sites

JavaME 8 as it is *could* work in any ARM device AFAIK (Raspberry Pi for example), and they have JavaFX working on those too, I haven't seen Oracle trying to get into Android/iOS/Windows Phone either.

 

It seems like its more oriented to other applications rather than consumer mobile devices.

 

neither Android nor J2ME provides the same standard Java libraries as desktop Java

AFAIK for JavaME 8 at least, its just a stripped down version, they merged the codebase somewhere between Java 7 and Java 8.

 

Dalvik is used in all Android devices (with varying features, latest ones are around Java 6 features + some Java 7 little things) and BlackBerryOS 10 runs Android Runtime (which I guess includes Dalvik).

 

I've seen people using ExcelsiorJET (supports Java 7, they're working on Java 8) for deploying applications to native binaries but I'm not sure of the extent it can be used on Android/iOS/Windows Phone (my guess, they can't).

 

I doubt Google will be stuck in Java 6 land for that much longer, prolly they'll launch their own language or something, maybe they'll get into some sort of agreement with Oracle about JavaME, but my bet is on "Grab another existing language, extend and tailor it to Android, make sure no one will sue us for it."

Edited by TheChubu

Share this post


Link to post
Share on other sites

AFAIK for JavaME 8 at least, its just a stripped down version, they merged the codebase somewhere between Java 7 and Java 8.

For Java ME 8, yes, but that isn't exactly common in the wild yet, and all previous Java ME platforms are stuck on a VM that matches the Java 1.3 feature set.

Share this post


Link to post
Share on other sites
If you just want mobile devices that use some form of the Java language, I'm guessing tens of billions.

You have feature phones from Motorola, Nokia, and everyone else dating back to about 1997. There are also non-phone mobile devices, you could code in Java for PalmOS, WinCE, and other mobile platforms. So roughly 17 years worth of mobile devices, sold all over the globe.

Share this post


Link to post
Share on other sites

I doubt Google will be stuck in Java 6 land for that much longer, prolly they'll launch their own language or something, maybe they'll get into some sort of agreement with Oracle about JavaME, but my bet is on "Grab another existing language, extend and tailor it to Android, make sure no one will sue us for it."

 

I've been thinking for a few months that they should just grab Mono and show Oracle their middle finger. Of course they would never do that because .NET is a Microsoft technology and Google and Microsoft hate each other like cats and dogs and it would mean Google would use a MS tech, but I can spot at least 3 big advantages to adopting Mono:

 

1- C# is the closest language to Java (not counting J++ and J#) and, thanks to Java's very slow evolution over its years of existence, C# is way ahead of Java in terms of language features. What this means is that C# can do nearly everything Java does. (Speaking strictly about language capabilities; libraries are another topic.) It makes it easy to adopt C# for Java programmers.

 

2- Want to use native? No more annoying JNI and ugly glue code! Just make a C++/CLI project for interop with Android and code your app in native C/C++. I think you wouldn't even have to use a lib for the interop layer. I'm pretty sure there are #pragma instructions that allow you to specify what should be compiled to native and what should be compiled to managed code. So you'd make it native by default and wrap managed code with #pragma.

 

3- J# and it's Java compatibility library make it really ridiculously painless to reuse Java code with no (or almost no) change. It's not perfect because 1- it was an old version of Java and 2- the point of J# was to help developers migrate their apps from Microsoft's defunct Visual J++ platform to .NET which was full of Microsoft-specific language extensions. But Google could take care of making J# support standard Java 6.

Edited by Bearhugger

Share this post


Link to post
Share on other sites

This topic is 1314 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this