JavaFX : why, how and when will it be successful?

Not until the mobile platform is released

At the August 2008 Coding the Architecture London User Group, I presented an overview of Flex, Silverlight and JavaFX. If you've watched the video from the session, you would have seen that I wasn't very complimentary about JavaFX.

There are a number of reasons why I don't think that JavaFX is anywhere near ready for people considering building RIAs at this point in time ... quite simply, the latest preview build ships with a bunch of crippled Swing components. Granted, some of this has been talked about in the recent SDN interview; but tables are gone, tabbed panels/tabs are gone, you can't configure how scrollpanes should scroll, etc, etc. In addition to the crippled Swing components, the out-of-the-box result looks ugly when compared to Flex and Silverlight. Take a look at the screenshots in the slides from my Flex, Silverlight and JavaFX presentation for an example.

I have some other complaints about JavaFX too, which I'll admit only stem from a couple of days with it. I personally found that the error messages reported by the NetBeans plugin are cryptic and I actually couldn't get some stuff to work because the error messages just didn't make any sense. Oh, and then there's that declarative syntax. MXML and XAML are far easier to work with. Although I appreciate the folding support that you get in the JavaFX plugin, it still took me a long time to figure out what was going on when a curly brace was missing. That syntax isn't productive and I don't see anybody (especially designers) using it without some decent drag-and-drop tooling.

In Does Anyone Really Care About Desktop Java?, Bruce Eckel talks about how Sun might be taking the wrong tack with JavaFX. And I agree. Java on the desktop is a tough proposition given the competition. So then, the important questions...

  • Why are Sun doing this? : I don't know, I don't understand the impetus for doing this, aside from throwing the Java brand and an inferior Flex/Silverlight competitor into the RIA mix.
  • How are Sun going to be successful with JavaFX? : I don't think they will be, at least on the desktop. I'd even go so far to say that they're barking up the wrong tree with the desktop platform. Flex and Silverlight provide a better development environment in which to build RIAs, plus the end results look *much* better than out-of-the-box Swing UIs. And then there's HTML 5. Sun should forget the desktop and concentrate on where the battle is really happening at the moment - the mobile platform. Think about it, this is where all of the action is happening right now. Think iPhone and Android. Flex and Silverlight are mature platforms in comparison to these, so why not take the opportunity and battle for supremacy in the mobile arena instead?
  • When will Sun be successful? : Not until they release the JavaFX mobile platform, which (I understand) will be after the desktop platform has been released. I think Sun have got their priorities wrong ... forget about the desktop and make a stance on the mobile front before it's too late. Java ME has got massive support from hardware manufacturers. Why not do the same with JavaFX before Android gets a hold on the market?

I know it's (still) early days for JavaFX, but the preview version doesn't impress. Nobody may care about Java on the desktop, so why not focus on that mobile space instead.

How much architecture is enough?

Join us for an in our brains session

This Wednesday, after the training course and as a part of Skills Matter's London Agile Month, we'll be running a session entitled "How much architecture is enough?". Although this is billed as "In the Brain of Simon Brown", it's actually going to be an "In *our* Brains" session where a few of us will be facilitating a group discussion.

As for how much architecture is enough, well we've touched upon this question before, particularly with respect to the level of design detail you should put in your architecture document and the need for just enough quality. While I don't think that software development is a relay sport, if you are planning on handing off your architecture, how much do you need to do to ensure that this exercise is successful? And on the subject of sharing architectures, how much should you share and are there more creative ways of efficiently delivering your message?

There's lots to talk about and if this stuff interests you, please sign up on the Skills Matter website. This will be the September London User Group and the session starts at 6:30pm.

Read more...

Discussion from the May 2008 user group

Building a high volume, low latency system in Java

Although this happened a few months ago, we recorded the discussion that followed our London user group where Moudud Ahmed talked about building a high volume, low latency system in Java. Here are some of the topics that we talked about.

  • Performance and scalability.
  • Measuring latency.
  • Domain-driven design.
  • BEA's real-time Java platform.
  • Writing applications with large heap sizes that can survive not doing garbage collection during the working day.

The audio levels are very low on the recording, but we think that the interesting discussion was worth rescuing and publishing. You can grab the discussion from here (mp3 format) ... just don't listen on a tube train! If you missed the user group, a streaming video of the presentation is also available.

Read more...