 |
What is Android vs JavaFX Mobile?
Posted by evanx on November 13, 2007 at 10:45 AM | Comments (11)
So the "personal computer" platform with its graphics, internet et al, is converging with telephony handsets, and visa versa. It's nice.
I'm trying to understand how Android changes the pace of this convergence, and how it's different to JavaFX Mobile.
So JavaFX Mobile is the mobile software stack formerly known as SavaJE. Looking at the spelling, we guess that SavaJE was about JavaSE on mobiles. Its apps are written in Java, including the telephony ones, 'cos it affords full access to the handset's telephony hardware functionality, eg. for making calls, handling SMS'es and what-not.
Maybe JavaME offers relatively limited access to the hardware? Certainly it's not full-blown desktop Java either.
Yes please, we want the full JavaSE with Swing on mobile phones already. 'Cos these devices have the CPUs, RAM and display resolutions that our PCs had when Java first started practising its love all across the internets.
Some reading suggests that SavaJE was built on a minimal Linux kernel, and that JavaFX Mobile is a Linux/Java stack. Android is also a Linux/Java stack, so, um, can someone please tell me if Android competes with JavaFX Mobile, and what their differences, similarities and/or respective futures, might be?
Android is opensource, in fact it's Apache-licensed, and uses Apache Harmony's class libraries. (Linux is GPL, as are many of the native libraries in Android's stack, so it clearly isn't entirely Apache-licensed.)
Is JavaFX Mobile to be opensourced? If it has to compete with Android, then i guess it will be GPL'ed.
It seems that Android does not put Swing front-and-center at this stage, and maybe that differentiates Android and JavaFX Mobile in their initial incarnations.
Will Java developers have to choose between these two mobile platforms, or will handsets support both JavaFX/Swing and Android? That's hard to imagine, given that JavaFX uses OpenJDK and Android uses Apache Harmony, isn't it?
Credits: The image is a print of "Grandpa's Phone" by Hans Oosterban. One quote is inspired by Homer Simpson's "Oh, so they have Internet on computers now!" Another is a Bushism or two in disguise.
Bookmark blog post: del.icio.us Digg DZone Furl Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment
-
My points are basically the same as yours. I'd like dare to say that being Android only partly Java, it should be considered a fork. Yes, the first one. I'm not sure it's good. On the other hand, being Android completely open, it should not be a technical problem to port Swing on it. I hope somebody will do it.
Posted by: fabriziogiudici on November 13, 2007 at 12:04 PM
-
I haven't looked at the license yet, but Dalibor has, and what he says sure looks non-open-source. And Android also doesn't execute .class files. In many ways Android is not at all Java, and if you look at Googles site for it they do not say that it's Java. 'Java' technically requires compatibility with the platform specs. The things you're saying about JavaFX Mobile is essentially right. Remember the JavaFX language is outside the Java platform spec so its inclusion is on top of the stuff that would make it 'Java'.
Posted by: robogeek on November 13, 2007 at 05:08 PM
-
As I see it the differences are that I can code for Android today, and have an SDK with IDE support. For all of the Android shortcomings (depending on your viewpoint) its here, I can use it, and it has some very good design concepts.
I see Android as something along the lines of the BlackBerry. It too is not JavaME, but wow it sure has done well in the market.
If Android gives me the control and ability to deliver solutions without being hogtied by the mobile operators, then I'm on-board!!
Posted by: sfitzjava on November 13, 2007 at 07:03 PM
-
Do we really want swing on mobiles? Swing apps generally look and feel bad, and never look good on non-Windows platforms, so why inflict this on the mobile world?
It's time for a break, I think. JavaFX (without swing) looks promising. If Android is not using it, then that's to be welcomed.
As a primarily swing devver, I'd welcome the chance to use something lighter, fresher, better.
Posted by: goron on November 13, 2007 at 11:09 PM
-
Goron, if one is keen for convergence of PC and mobile platforms, then everything you get on PC, you'd want on mobile, ie. both browser and desktop GUI toolkit ie. Swing via JavaSE. You'd want JPA, JDBC and JavaDB too.
Ultimately one would want JavaEE on mobiles, which may also not be too far a stretch when smartphones have 256Mb RAM.
Posted by: evanx on November 14, 2007 at 12:50 AM
-
People are talking about getting swing onto android or getting j2me on android.
Getting swing onto android I think is expecting too much, I noticed that someplace someone called Android MIDP 3. This makes some sense, I think android is targeting devices that might not be able to handle a full j2se stack. I think a better approach it to make Java FX Mobile able to run Android applications.
As for J2ME on Android, this is a good idea for google at least, it would allow people to use the many j2ME games and apps, and surely the majority of the mobile JSRs could be implemented as wrappers on top of the current android code base.
As for Java FX on Android, the Android Graphics class is not a Graphicss2D sublcass, but it works the same way. maybe porting Java JX Script to Android would not be that hard?
my $0.02
Posted by: lucasjordan on November 14, 2007 at 08:38 AM
-
Goron: "...never look good on non-Windows platforms..."
That's ridiculous. Have you really never seen a Java app running in OS X?
Posted by: evickroy on November 14, 2007 at 10:06 AM
-
Handsets will support both JavaFX/Swing and Android if and only if Sun makes the most attractive JVM for the Android platform. Fortunately for Sun, that's not that hard. ;)
A PhoneME/OpenJDK 'not-Java(TM)-either' hybrid should be possible to make easily, and Sun could offer full SE compatibility plus JavaFX out of the box as an alternative to the proprietary JVMs coming from OHA members, along with tooling and class library support.
After all, with proprietary JVM vendors on board of OHA, hoping to sell ME JVMs, I am pretty sure that Google designed the system in a way that allows commercial deployers to use a ME JVM instead of the built in one easily. So it seems to be a good opportunity for Sun to offer supported ME/SE/FX hybrids and tooling for Android, without compromising the compatibility of ME or SE, as Android is not a Java platform, and Google obviously did not intend it to be one.
Posted by: robilad on November 14, 2007 at 01:23 PM
-
The difference between Android and JavaFX is that the Google one exists.
Sun didn't even decide about JavaFX's licence.. they're too late again.
Posted by: guigouz on November 14, 2007 at 04:49 PM
-
Guigouz, in fairness, Sun only acquired SavaJe's technology a few months ago, whereas Google acquired Android in 2005. Also JavaME runs on a billion phones, and Android on none. If anything it's too early for JavaSE on common handsets, cos these don't have big touchscreens, but give it a couple of years...
Posted by: evanx on November 14, 2007 at 11:07 PM
-
Personally I think it is just about time for Sun to GPL-with-classpath-exception the SavaJe (aka "JavaFX mobile") OS !
We need this to developp the next generation of mobile application. Sun has to realize that the same way that SavaJE was not able to compete against MS'OS, they will never compete against them without the opensource help.
The reason is simple here : money ! I don't see much SavaJe phone yet, and I don't see much major manufacturer to bring them in the upcoming month. See how HTC had to explain themselves for participating into the openmobilealiance (android) program toward their strong MS parnership. To me it is clear that no major mobile manufacturer can affort to work against MS "good will". And no one will go to an alternative solution only if it had immediate and major platform support. This is the power of Java we are talking about ! Java is everywhere, and bringing an opensource JavaSE mobile stack could realy open rooms for "cost improvement" at manufacturers.
There Sun will have lot of customisation business and consulting oportunities.
Posted by: bjb on November 15, 2007 at 12:26 AM
|