JavaFX Mobile is just SavaJE recently acquired by Sun, bundled with JavaFX and given a new marketing impetus.

I chatted to their staff and found out that there are three types of apps for it - first party, second and third.  Third will me MIDlets. Second are from partners of the telco shipping the phone, first from the telco itself.  I might have simplified too far there.

Its not as sophisticated as I would have hoped for.  Six or so years ago I wrote a toy operating system called Jesktop that no longer even runs right on the latest Java versions.  It was born from the realization that J2SE would one day be ordinary for phones and palmtops.  That day has arrived apparently.

What Jesktop did that I think all tools with plugins should do:
  • have a mechanism for downloading a self contained app from the web
  • be able to hot install something without a reboot
  • be able to hot deinstall something without a reboot
  • be able to hot upgrade something w/o a reboot (while using still it)
  • have a kernel available for the application to use
  • have the internal implementation hidden
One feature that should be easy to implement, but I never did:
  • constrain each app in a different sandbox - all privileged operations should come via the classloader
MIDlets use a public static main(String[] args) method for launching.  That is pretty backwards in these days of Dependency Injection I do not know the mechanism for launching 'first party' or 'second party' JavaFX apps, but I do know that its not dependency injection.  DI is a no-brainer for separating privileged operations from those of the application.  Java's main(..) method is an entry point for new processes, surely a phone is running all apps in one JVM instance not launch a process for each.

JavaFX Mobile does not use OSGi either, but thats a relief because that stuff is really objectionable and a big backwards step. Its utter tragedy that the Eclipse platform sits on it, and Java7 will be a disaster if its major accomplishment is OSGi in the JDK.


May 9th, 2007