The Rich Internet Application (RIA) fight is hotting up.
And, while Adobe Systems and Microsoft are squaring up in the
schoolyard with all the kids cheering and screaming them on,
it looks as if Sun Microsystems is in danger of getting its
lunch money stolen again.
Sun's offering in the RIA space is JavaFX. Supposedly it
will be in competition with Adobe's Flex, which sits on top
of Flash
in the browser or the Adobe Integrated Runtime (AIR), and
Microsoft's "don't close the bar yet, I've just got here!"
contender Silverlight.
Much has been said and written about AIR and
Silverlight , probably because they are being driven by
companies squarely focussed on software rather than a
hardware vendor prancing about in software drag. Outside of
JavaOne 2007 and 2008, Sun hasn't really talked much about
JavaFX. Yet Sun's got some big hopes for JavaFX and the
language certainly has some plusses. I thought it was about
time to look at what Sun's offering.
First, some context. Sun has a track record of taking
years to make anything ready for primetime. Jokes about
Java's supposed slowness still appear on Slashdot, dating
back to the first few versions from well over a decade ago.
It arguably took Swing ten years to become a viable toolkit
for creating smart, responsive User Interfaces (UIs).
Java Server Faces (JSF) may be reaching an acceptable
level of maturity now, but there are very few devotees left
to notice.
JavaFX is showing a similar "slow-gro" pattern of
development. Of course, it's all very new and pre-release
right now. It's a mark of its potential, and possibly even
the genuine need for a new RIA platform based on Java, that
there's some buzz already surrounding it. The end users may
be ambivalent (they don't care how your rich UI works, as
long as it works well), but it's safe to say that developers
want JavaFX. It's highly anticipated.
JavaFX, though, is coming to market with Sun's usual poor
focus on supporting resources, while its taken at least one
step that'll help set back the cause of adoption. The only
book in English on the subject is already obsolete, as Sun in
its wisdom made a late change to the syntax. It's a gamble as
to whether any documentation, "how-to" blogs or other advice
you find on line will use the new syntax.
But what of the language, itself? It's a story of
potential and lost opportunity.
JavaFX is a great idea: put a syntactically sweet layer on
the
Java Virtual Machine (JVM), make the saccharin new
language a mix of declarative statements for defining UI
layouts, and procedural/imperative control statements, and
let the web designers go wild. It has the potential to own
the web and is ideal for web
software development .
More can be found
here.