Thursday, February 12, 2009

JavaFX Mobile is a software layer that handles user interface elements

Sun renews phone ambitions with JavaFX Mobile

Sun Microsystems announced the release of the JavaFX Mobile platform. Built on top of the existing Java ME platform, JavaFX Mobile allows developers to create immersive mobile content while leveraging their existing investment in Java.
JavaFX provides a unified development and deployment model for rich applications across the desktop, browser, and mobile devices. Sun developer Joshua Marinacci describes it this way:
When you write JavaFX desktop apps with the common profile you are also writing for mobile devices. Desktop and mobile aren’t different platforms…
It struck me this morning how much of a big deal this is. I don’t know anything about Java ME, but I know JavaFX. Even though I’m not a mobile developer I can write mobile apps with JavaFX. I couldn’t do that before. One SDK, one set of tools, one language, one set of APIs. There is no JavaFX Mobile. There is only JavaFX.
Joshua believes JavaFX is a fundamental shift in the way user interfaces are developed for Java programs. “I see JavaFX as Swing 2.0: rewrite from the ground up”, he wrote in a recent twitter update. He should know: he’s a member of Sun’s Swing team and co-author of the popular book, Swing Hacks. Swing is currently Sun’s preferred API for building user interfaces for desktop applications, but it’s not supported on Java ME. Now JavaFX can be used for all systems.
On the business side, Sun has lined up an impressive array of partners that plan to deliver JavaFX enabled devices. They include Sony Ericsson, LGE, Orange, Sprint, Cynergy, and MobiTV. Here are a few quotes from today’s announcement:
“Sony Ericsson expects that JavaFX will have a great impact on the mobile content ecosystem and plan to bring JavaFX to a significant part of our product portfolio.” — Rikko Sakaguchi, corporate vice president and head of creation and development at Sony Ericsson Mobile Communications
“We look forward to being the first company to deliver a JavaFX enabled handset so we can build new and exciting features that benefit our customers.” — Woo-Young Kwak, executive vice president, head of LG Mobile Handset R&D Center at LG Electronics, Inc.
“”Sprint, in its continued support of an open framework and ecosystem, views JavaFX as an additional strategic platform in its open toolkit.” — Mathew Oommen, vice president, device and technology development, Sprint
“JavaFX really allows us to leverage our Java ME investment, and reinforce our core mobile video streaming value proposition.” — Cedric Fernandes, vice president, Technology at MobiTV.

There is only JavaFX.


I know I haven't been blogging, twittering, or doing the FaceBook very much lately. That's because I've been very, very busy working. As we promised last summer, the next release of JavaFX coming out soon. For desktop developers you won't notice too many changes, mostly bug fixes (and a feature or two). The big news is that this will be our first release with full mobile support. Of course this really isn't news either, since it's what we promised last summer. In fact, mobile support has been the driver for this release. Pay attention for news coming out soon with the details. So with no news for you, why am I writing this blog?...
I'm running a sample JavaFX app on a demo phone (yes, a real phone). I won't tell you what phone it is but I will say that it has a very nice high resolution screen (no, it's not an iPhone). As I've been working with this device it struck me how easy it was to code for. And there's a very good reason for that. When you write JavaFX desktop apps with the common profile you are also writing for mobile devices. Desktop and mobile aren't different platforms. There is only one JavaFX. Even though there is no mobile emulator for Mac, I've done all of my mobile samples work on my Mac. I write my desktop apps to support window resizing, resize to the approximate size of a mobile device, then save my code. I only switch to Windows every now and then for a quick test in the real emulator. As long as I only use the common profile everything just works.

No comments:

Post a Comment