Java – Pros and Cons of JavaFX and Silverlight

javajavafxsilverlight

I know there is already a question about the performance of Flex, JavaFX, and Silverlight. My question is a bit more broad:

We are evaluating the merits of JavaFX and Silverlight to serve as the GUI technology that controls/configures our back-end service (currently written in Java). The service and GUI are usually on the same machine, but remote management (via browser) must also be supported. We are currently split into 2 teams: one .Net and one Java, although the Java developers also have some .Net experience.

As I see it, the pros & cons are currently the following:

Silverlight 4:

  • Pros:
    • Excellent IDE integration
    • Good developer-designer workflow
    • Performance
    • Extensive 3rd-party support (tools, controls, etc)
    • Lots of momentum and drive from Microsoft
    • Very good out-of-browser integration
  • Cons:
    • Only supported on Mac & Windows (Moonlight support is not up to standard)

JavaFX 1.2:

  • Pros:
    • Wide platform support
  • Cons:
    • Only supports Latin character sets (at this time)
    • Fewer designer tools
    • Little or no out-of-browser integration. Update: apparently there is out-of-browser support.
    • Performance (at least on the demos I viewed at www.javafx.com)
    • Maturity

Please let me know if I'm missing anything or mistaken about something, and what else I haven't considered. We also looked at Adobe AIR, but ruled it out because all our developers already have experience in Java and/or .Net.

Please don't start any flame wars here. This is not a religious question, and I really would like some practical advice and facts.

Best Answer

I have been playing around with JavaFX the last months and i would not recommend anyone to start using it unless the limitations (like lack of Linux support) are too harsh. The IDE support for JavaFX is ridiculous at the moment. You have no refactoring help, no autoformat and not even help with indentaion.

I like JavaFX and will continue to play around with it, but for 2 equally good languages, the huge IDE different is hard to overcome.

Silverlight has got Expression Blend as well, for (kind of) WYSIWYG.

I think a solution in JavaFX would be better, but creating it will probably be alot more difficult.