Today the preview release of JavaFX was announced. It would be nice to say that many people/developers waited for this release, but the truth is nobody (really) cares. The sad thing is that they are right because the preview release is just a joke. I followed the JavaFX road since F3 times and I expected a lot from it. I did some tutorials and I saw real potential in the technology. However, the slow slow development, the bad marketing work, and the buggy presentations constantly disappointed me. I talked with some Sun engineers at the JavaDeus about these problems and they convinced that the preview release will be worth waiting, but I am more than disappointed with this release. After trying this release, I am pretty sure that JavaFX fails on the desktop (maybe the mobile release can change this). Here is why:

  • JavaFX.com Why should anyone trust developers that can’t do a good looking presentation side for a (web) Rich User Interface technology?
  • JavaFX.com is buggy as hell and contains dead links. E.g. the license link is dead: http://javafx.com/htdocs/releases/preview1/LICENSE.txt results in a resource cannot be found. How pathetic is it to bring out a new technology, writing a weird statement about the license “The JavaFX Preview SDK is free and available under a 60 day evaluation license.”, and then provide a dead link to that license? And what about the 60 day evaluation, has JavaFX an expiration date?
    Update
    Another blogger found a way to the license. It seems that the license is not what you expect from an open technology. (see JavaFX Trap in the roundup below)
  • The release brought absolutely nothing new. All the API can change, it can contain bugs, developers should not use it to build applications (this stands on the JavaFX side), so why make a preview release?
  • The provided tools are Netbeans and Project Nile. I have to admit a didn’t try Project Nile, so I can’t judge that, but I tried the Netbeans support. There is a rudimentary code completion support and a palette for drag&drop. Both are just simply useless. Dragging a JavaFX component from the palette to the source code, only inserts a piece of code in the text. No checks, no corrections, no correct compositioning, and so forth. You know what? Exactly the same thing was written a month ago by an intern at my company for Eclipse/Groovy in one month. We are know waiting for nearly 1.5 years for JavaFX tools. The code completion of JavaFX can’t nearly compete with the code completion of Java or JRuby.
  • JavaFX’s marketing is just bad: ugly websites (see JavaFX.com, JavaFX Blog) With such a marketing and communication, there will be no buzz around JavaFX ever and any technology needs a little buzz and coolness to attract developers.
  • JavaFX has only disadvantages and no advantages compared to other RIA’s like AIR or Silverlight. You probably think now that Java has so many frameworks, libraries, and is mature. Does this really matter for a RIA? I am not sure, actually when I am developing a RIA most of the complex functionality is placed on the server and there I can enjoy all of Java’s greatnes, nevertheless, the client can still be built with AIR.
  • Sun, and with it JavaFX, lost its trust to developers when it comes to the client side. Java is great at the server side and sucks on the client. Java never provided a cohesive and positive experience to developers/users: AWT/Swing, Startup time, Installation, User dialogs, Security warnings, bad desktop integration, …
  • JavaFX Script. I never like it, but I have to admit that it could be worse. Probably it is my experience with AIR that I prefer an XML based UI languages.
  • There are still a lot of issues/shortcomings around Java 6 Update N (did I mentioned that this is a stupid name for a release?). A good summary is the ‘Ask the experts’ week entry in the JavaFX roundup.

All this sounds bitter and it is. I have always been a Java fan and I always hoped Java would make it on the client. After working with technologies like AIR, I just don’t see it. I cannot see how JavaFX can hold up against other RIAs; my money is on AIR. However, if you still believe in JavaFX, I’ll give you a little light in the dark tunnel: widgetfx This project shows what is already possible with JavaFX and probably gives hope to other JavaFX developers.

Java FX roundup: