JellyBelly

Joined: Jul 08, 2009
|
  Posted:
May 17, 2017 - 01:59 |
|
So, I know that FUMBBL can't be played on a mobile device running either Android or iOS, because Java isn't supported on those platforms. I'm just curious though, as to the technical reason for this?
I mean, the Java Virtual Machine (JVM) basically interprets Java bytecode and translates that into actions for the host machine to perform. So, surely Oracle should be able to write an App that does that for those platforms?
Read java file -> tell device what stuff to do -> seems pretty simple, right?
I'd be interested if anyone in the know can provide any insight  |
_________________ "Opinions are like arseholes, everybody's got them and they all stink." - The protagonist, Fallout 2
"Go for the eyes, Boo! Go for the eyes!!"  |
|
ignatzami

Joined: Aug 18, 2008
|
  Posted:
May 17, 2017 - 06:27 |
|
I can answer give a possible answer.
1) Android *IS* Java. Any Android device is running a low-level JVM on top of the hardware. The entire Android OS is running in a JVM. This, of course, makes it hard to run Java applications within the JVM. Is it doable? Sure. Was the FUMBBL client written in such a way to take advantage of the Android SDK. Nope. Not in the least.
Now, iOS. On a Mac laptop, and/or Desktop Java works flawlessly. iOS isn't supported as Apple decided to force developers to develop for Objective-C/Swift instead, so to corner their market. If they allowed Java to run natively on mobile then there'd be few, to no, exclusive iOS applications.
Now, you *could* get around this by developing the FUMBBL client in an intermediary language, that can compile down to platoform specific bytecode. Think Unity 3D, or dotnetcore.
This is possible, but would require the FUMBBL client to be rewritten, again. As the back-end of the client is (I believe) XML RPC it wouldn't be impossible to do, but as Kalimar hasn't released the source code, or any sort of API/RPC documentation there's little to no chance of another developer coming along and developing a second version of the Java based client. |
|
|
JellyBelly

Joined: Jul 08, 2009
|
  Posted:
May 17, 2017 - 12:53 |
|
Thanks for your answer, ignatzami, that's interesting. Just to be clear, my question isn't about the FUMBBL client specifically, but the general question of running Java on mobile devices.
So, in the first case, for Android - everything is running in a low-level JVM anyway, but you can't execute java executables from within a JVM. Ok. So, why couldn't Oracle write a JVM app and nest it inside the first one, that would allow 'regular' Java applications to be run?
In the iOS case, how is Apple able to prevent someone (Oracle) from writing a JVM app using Objective-C/Swift? Surely I could go and write whatever app I want in those languages?
Thanks again for shining a light on my ignorance  |
_________________ "Opinions are like arseholes, everybody's got them and they all stink." - The protagonist, Fallout 2
"Go for the eyes, Boo! Go for the eyes!!"  |
|
ignatzami

Joined: Aug 18, 2008
|
  Posted:
May 18, 2017 - 03:13 |
|
You could, potentially, write a JVM in Java, and then execute it within the JVM. It's possible, but so niche that I simply don't think anyone has seen a need. Most Android developers simply use the Android SDK. That allows you to do nearly anything you'd need to do, and it removes the JVM, in a JVM, issue.
Apple controls the Apple Store, and so controls what can be downloaded to a device. There are third-party stores, but once you jailbreak an iPhone you lose access to the "legit" Apple Store. Most people simply don't do that. |
|
|
JellyBelly

Joined: Jul 08, 2009
|
  Posted:
May 20, 2017 - 12:33 |
|
Ok, thanks again, ignatzami. So, at least for Android, it seems like it's more to do with lack of demand than technical obstacles. I guess most developers would want to re-code their app for mobile anyway, to make it more suited to the touch screen, for instance. |
_________________ "Opinions are like arseholes, everybody's got them and they all stink." - The protagonist, Fallout 2
"Go for the eyes, Boo! Go for the eyes!!"  |
|
|
| |