Skip to main content

Not yet JavaFX Mobile on Linux?

Posted by fabriziogiudici on June 4, 2009 at 5:25 AM PDT

I've just installed the NetBeans 6.5.1 + JavaFX 1.2 pack on Linux Ubuntu. No problems for developing and running applications with the standard profile. But when I tried to run with the "mobile" profile, I first got an exception, NetBeans being unable to run the "preverify" tool. Easily fixed with a chmod a+x. Nevertheless, the mobile application can't run because of:

/home/fritz/Business/Tidalwave/Projects/blueBill-Mobile/trunk/src/FX/blueBill-mobileFX/nbproject/build-impl.xml:196: Current platform does not include mobile device emulator necessary for the execution.
BUILD FAILED (total time: 18 seconds)

Going to the project property and trying to select the device for the emulator, I get a drop down box with the "Please wait..." message staying forever. Hmm... should I guess that we can't develop with JavaFX Mobile on Linux yet?


More good news: it seems (from this blog's title if not the Mac-only pics) that a Linux port of the Java ME SDK 3.0 is already on the works.

Thanks for the clarification about JME 3.0 / JME 3.0 SDK. And also for the remainder, of course ;-) Yes, I'm aware of the OTA Runtime (aka JavaFX Player), which is something I'm eagerly waiting, because - even with limitations - I find it fundamental to start spreading the technology.

JavaFX Mobile doesn't need "Java ME 3.0", it needs the Java ME SDK 3.0, it's just a new version of a developer tool, not related to new version of any Java ME technologies / APIs. The first phones in the market should certainly start at JavaFX Mobile 1.2. Sun has been working with vendors to integrate JavaFX Mobile in hardware (at least) since JavaFX 1.0 and Mobile 1.0-beta were available; even the phones being sold at JavaOne are prototype-quality products (at least in the JavaFX part if not the whole handset), they won't be found in the stores next week. In fact, I expect the first products to hit the streets to contain JavaFX Mobile 1.2.1 (or whatever is the release number of the first maintenance update), because JavaFX 1.2 is brand new and contains too much new stuff so I guess it may have some rough edges, people buying those JavaOne phones will be beta testers. ;-) Additionally, there is the OTA Runtime, which is a JavaFX Mobile runtime that we'll be able to download into many older devices, or perhaps bundle with apps. Not all old devices should be supported, I guess at least those with a decent MSA-Subset stack (esp. good implementations of media APIs like JSR135). But I won't expect this OTA Runtime to have the same performance and quality of the full, OEM-integrated runtime; it's mostly a way to ramp up the installed base, even if that means that this base will initially have many older devices that won't run advanced apps very well. (But the mobile profile already excludes javafx.scene.effect which is the biggest CPU/GPU burner, so performance is probably not a big deal except for higher-end apps like action games or rich media mashups.)

BTW, since I'm getting a bit serious about my mobile app, I need for sure to buy a real device... The emulator just serves to get the more blatant errors, but even for designing the UI effectiveness you need a real device...

But does JavaFX Mobile 1.2 need JME 3.0? In this case I'd be worried enough that we will have to wait for a long time before seeing a real phone :-( AFAIK there are two phones today that are JavaFX ready: HTC Diamond Touch and the LG that was demoed yesterday at the Sun Mobility General Session. Since the former went on the market about one year ago, and I suppose was JavaFX-powered when JavaFX Mobile was announced in Barcelona the past February, I think still runs JavaFX 1.1. But I hoped that the new LG ran JavaFX 1.2. Probably Sun should make clear a couple of things. I bet that most people rushed to get the JavaFX 1.2 version and started upgrading their application, but if the available real phones are still 1.1 we have to change our plans...

The new Java ME SDK 3.0 is not yet available on Linux; I guess the Liux distro of NetBeans should bundle a partial ME SDK that only includes jars necessary for compilation but lacks the emulator. I wonder if you can do remote debugging to a real device (but in that case you'd need a new phone with JavaFX Mobile). The good news I hear from JavaOne is that the Java ME SDK 3.0 is available in early access status for MacOSX (but I couldn't find it yet at, I suppose it will be available soon). Hopefully Linux is next... JavaFX itself has no missing Linux support anymore, not even for Mobile; but since the development story depends on the ME SDK, JavaFX Mobile suffers as well.