49 coaches online • Server time: 14:36
Forum Chat
Log in
Recent Forum Topics goto Post Secret League Americ...goto Post DOTP Season 4goto Post Skittles' Centu...
SearchSearch 
Post new topic   Reply to topic
View previous topic Log in to check your private messages View next topic
JellyBelly



Joined: Jul 08, 2009

Post   Posted: May 17, 2017 - 01:59 Reply with quote Back to top

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 Smile

_________________
"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!!" Razz
ignatzami



Joined: Aug 18, 2008

Post   Posted: May 17, 2017 - 06:27 Reply with quote Back to top

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

Post   Posted: May 17, 2017 - 12:53 Reply with quote Back to top

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 Smile

_________________
"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!!" Razz
ignatzami



Joined: Aug 18, 2008

Post   Posted: May 18, 2017 - 03:13 Reply with quote Back to top

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

Post   Posted: May 20, 2017 - 12:33 Reply with quote Back to top

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!!" Razz
Display posts from previous:     
 Jump to:   
All times are GMT + 1 Hour
Post new topic   Reply to topic
View previous topic Log in to check your private messages View next topic