Welcome!

Java IoT Authors: Elizabeth White, Liz McMillan, Pat Romanski, Yeshim Deniz, Zakia Bouachraoui

Related Topics: Agile Computing, Java IoT, Adobe Flex

Agile Computing: Article

JavaFX: The Baby's Welcome, But the Birth's a Little Premature

Java developers should definitely start experimenting with this new kid on the block

On December 4, JavaFX arrived to this world with lots of “It’s a Boy” balloons. The family of RIA development tools gets bigger and as a Java programmer, I wish best of luck to this new kid on the block.

But the party is a little spoiled because the baby is premature and will have to spend some time in barocamera to survive. To make myself clear, I’ll mix in here some definitions from Wikipedia in italic:

Human fertilization is the union of a human egg and sperm, usually occurring in the ampulla of the fallopian tube.

In my opinion, this definition is OK for bulls and cows, but in the human world it would be nice if the bearers of sperm and egg loved each other and wanted this baby.   In May of 2007, when Sun Microsystems announced JavaFX, I did not see any traces of love there.

This was forced fertilization. Sun, which technically created the first rich Internet application in the form of applets in 1995 did not give enough love to that baby too concentrating its efforts on Java technologies that would help selling Sun’s servers. As a result, Java EE shines as a platform for development and deployment of the server-side enterprise applications.

Java Swing , the client side library, was too difficult to program, required large Java runtime that was not too easy to install, had a slow 0-60 acceleration. Java on the client did not have a runtime environment that was feasible for consumer-facing RIA. A trucker from Alabama would not be able to install the proper version of JRE.

In the world of RIA, availability and high penetration of the runtime environment is the most important pre-requisite for any RIA technology or technique.  High penetration of Web browsers supporting DHTML plus XMLHttpRequest object is the explanation of the three years of AJAX craze that’s, thanks God, is coming to an end.
About ten years ago, Sun “won” a lawsuit with Microsoft and made $10B. These bad guys from Redmond wanted to make our Java dirty by quietly introducing their infidel libraries.  Sun went into a fight, got the money… and lost the mechanism for spreading Java runtime. The Internet Explorer, that’s being used by about 75% of the users, even today ships with the ten-year old Java 1.1 runtime.

On the other hand, Adobe’s Flash Player is a runtime for Flash and Flex application that’s small, has seamless installation and has a penetration rate of 98%. Flex 2 was announced three years ago after Adobe has acquired Macromedia, and not only offered nice framework for developing UI, but also came with advanced network protocols and easy integration with Java EE on the server.

Microsoft was first to recognize Flex as a new RIA platform leader, and as usually, responded, “Me too.” And when Microsoft says, “Me too”, they really mean it. Some very serious dependency injection (I’m talking about long and green) did the trick, and Silverlight 2.0 may start competing with Flex in a year, if the penetration of the Silverlight’s runtime will reach at least 80%.

During JavaOne 2007, Sun realized that they missed the RIA boat and announced JavaFX loud and clear. They were forced to bed, but the sperm met the egg and the process has begun. Marketing people and executives started make some serious noise about JavaFX.

Pregnancy (latin graviditas) is the carrying of one or more offspring, known as a fetus or embryo, inside the uterus of a female.

But just running around screaming, “I’m pregnant, I’m pregnant!” is not enough for delivering a healthy baby. Pregnant women should have better nutrition, and should be surrounded with love and support. I was following the evolution of JavaFX very closely and I didn’t see this love and support from Sun’s top management. Sun's executives were trumpeting about new and great product, but I'd rather see them providing some real support to a small group of talented software engineers that were trying to do the bet pushing the product out the door.

Please read the story of an Chris Oliver, creator of JavaFX.  Sun published this strory under the title “Mind-Bendingly Cool Innovation ”. On the surface, it looks like a success story of a boy who didn’t even go to college but became a Senior Stuff Engineer at Sun.  But one of the Oliver’s statements tells me that he had lots of obstacles within Sun while working on JavaFX:

“For us, a bunch of tedious work - what I wanted to do but was obstructed for the last several years. Now I won't be obstructed, thanks to the new management. Now the path is open for us to walk down it, but we have to actually walk down it," he says.

I’m sure, you know that it take a women nine months to deliver a baby. In software, it usually takes a lot longer, and the released version of JavaFX gives me a feeling that it’s premature.

The Web site javafx.com didn’t impress me.  The Web site itself was falling down several times during the opening day – it was not tested well enough. This is yet another evidence of insufficient resource allocated to this project. There is no demos of the UI for enterprise-grade applications that I was expecting to see.  As a matter of fact, long time ago I’ve been sending emails to people who were involved with development of JavaFX asking for at least a Pet Store demo. It didn’t happen yet.

The start of the available demos is still slow. The ugly messages like “Java Starting” and “You may not have the right certificate. Do you trust this application?” will scare that Alabama trucker to death and he’ll run away from this Web site.

On the positive side, JavaFX has pushed Sun to developer Java Kernel, a relatively small JRE that loads faster. The other smart thing is their attention to designer-developer workflow. Sun decided not to re-invent the wheel and create a plugin that should allow designers continue using Adobe Photoshop and Illustrator with automatic JavaFX code generator.

Sun made yet another smart decision - decoupling of the JVM from the browser. You should be able to start JavaFX from the browser, but then kill the browser and your applet should stay alive. You should be able to drag the applet from the browser and drop it right onto your desktop (may not work on MAC OS).

Here's another good feature - automatic detection of the  client's JVM version. Inclusion of a small JavaScript piece into the HTML wrapper of your applet should check it out and ensure that the user machine has JVM 1.6U10 or above.  If not, the JVM should be SEAMLESSY upgraded. I haven't seen this feature in action yet- running available demos on ny MacBook Pro, which has only JVM 1.5, and so far I haven't been forced or offered to do an upgrade.THis must be enforced as it's the only way to improve penetration of JVM 1.6U10 (actually, J6U11 is the latest version).

Now Sun has to offer tools for developing JavaFX applications. Sure enough, you can use NetBeans 6.5, but for some reason, the majority of Java developers use Eclipse. The speedy introduction of Eclipse plugin for JavaFX should be a highest priority item for Sun. Just bite the bullet and do it.  

Even though I’m using Adobe Flex for development of the UI portion of enterprise RIA, I don’t fall in love with programming languages, and would be gladly using JavaFX too when it’s ready for production.   It may happen in 2010. But Sun has either to put the money where its mouth is or open source JavaFX to allow Java enthusiasts make this language competitive in the RIA world.

More Stories By Yakov Fain

Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs (http://yakovfain.com) and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
pshanks 12/08/08 10:21:47 PM EST

I went to the demo page, thinking that some of Mr. Fain's experiences must have been fixed by now. I clicked on the "Draggable MP3 Player" demo. I did hear some rather annoying music, but the entire browser froze when I attempted to use the controls. I mean really froze -- I had to kill the browser (IE6SP2; WinXPSP2; Java 1.60_07) in the Windows Task Manager. My luck was slightly better in Firefox -- at least I could close the browser when the JavaFX interface jammed up as I tried again to use the controls.

IoT & Smart Cities Stories
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of ...
DXWorldEXPO LLC, the producer of the world's most influential technology conferences and trade shows has announced the 22nd International CloudEXPO | DXWorldEXPO "Early Bird Registration" is now open. Register for Full Conference "Gold Pass" ▸ Here (Expo Hall ▸ Here)
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform and how we integrate our thinking to solve complicated problems. In his session at 19th Cloud Expo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and sh...
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...
What are the new priorities for the connected business? First: businesses need to think differently about the types of connections they will need to make – these span well beyond the traditional app to app into more modern forms of integration including SaaS integrations, mobile integrations, APIs, device integration and Big Data integration. It’s important these are unified together vs. doing them all piecemeal. Second, these types of connections need to be simple to design, adapt and configure...
Cell networks have the advantage of long-range communications, reaching an estimated 90% of the world. But cell networks such as 2G, 3G and LTE consume lots of power and were designed for connecting people. They are not optimized for low- or battery-powered devices or for IoT applications with infrequently transmitted data. Cell IoT modules that support narrow-band IoT and 4G cell networks will enable cell connectivity, device management, and app enablement for low-power wide-area network IoT. B...
Contextual Analytics of various threat data provides a deeper understanding of a given threat and enables identification of unknown threat vectors. In his session at @ThingsExpo, David Dufour, Head of Security Architecture, IoT, Webroot, Inc., discussed how through the use of Big Data analytics and deep data correlation across different threat types, it is possible to gain a better understanding of where, how and to what level of danger a malicious actor poses to an organization, and to determin...