English 中文(简体)
Pros and Cons of JavaFX and Silverlight [closed]
原标题:

Closed. This question is opinion-based. It is not currently accepting answers.


Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.

Closed 9 years ago.

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.

问题回答

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.

Several thinks about JavaFX.

  • Only supports Latin character sets (at this time) (false) JavaFx uses standard Java string representation and also rendering is fully capable to handle non Latin characters.
  • Fewer designer tools (true) but take a look at newest NetBeans (more @ link text)
  • Little or no out-of-browser integration (false) JavaFX runs in web/desktop, mobile and new platforms are planned.
  • Performance is improving with each release.
  • Maturity has same as Silverlight, but with better market share based on installed JVMs.

Your evaluation of JavaFX is kind of wrong.

I ve been developing some materials in JavaFX recently.

The performance of JavaFX has improved markedly over the last 6 months (between 1.0 and 1.2), and is supposed to improve yet again with the 1.3 release.

"Out of browser integration" is essentially JNLP (ie, Web-start). It s perfectly reasonable from what I can tell. For instance, WidgetFX have written a Vista/7-like desktop sidebar entirely in JavaFX http://widgetfx.org/

There is supposedly "momentum and drive" from Oracle -- Larry Ellison has been publicly enthusing about it -- but that of course is held up by the EU s investigation of the Oracle-Sun merger.

Note that JavaFX does not use Java syntax. It is, however, a very concise and quick language to write a GUI in, but does have a (relatively short) learning curve of its own. It can however include any Swing components (and there are quite a few libraries of them out there), and can use Java classes.

I wanted to expand a bit on your point about the IDE and dev/designer workflow - I ve been working with Silverlight for a year and half now, and I have to say the key to my success has been the tooling. On the dev side the ability to step through code in the debugger from client side to server side across a web service call is very helpful. We ve hired designers with experience in the Adobe toolset and seen them become immediately productive in Blend (animating UIs, transitioning screens, hiding/showing elements, etc). Couple that with the fact that both Visual Studio and Blend can share the same source control system and you ve got a great ecosystem for rapidly pulling together good looking web apps.

One other pro for Silverlight is the language independence. If you choose C# you also get LINQ, lambda expression and (soon) parallel foreach loops.





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签