JavaFX和Silverlight的优缺点

我知道Flex,JavaFX和Silverlight的性能已经存在问题。 我的问题有点宽泛:

我们正在评估JavaFX和Silverlight的优点,以作为控制/配置我们的后端服务(目前用Java编写)的GUI技术。 服务和GUI通常位于同一台计算机上,但也必须支持远程管理(通过浏览器)。 我们目前分为两个团队:一个.Net和一个Java,尽管Java开发人员也有一些.Net经验。

我认为,目前的优缺点如下:

Silverlight 4:

  • 优点:
    • 出色的IDE集成
    • 良好的开发人员 – 设计师工
    • 性能
    • 广泛的第三方支持(工具,控件等)
    • 来自微软的大量动力和动力
    • 非常好的浏览器外集成
  • 缺点:
    • 仅在Mac和Windows上受支持(Moonlight支持不符合标准)

JavaFX 1.2:

  • 优点:
    • 广泛的平台支持
  • 缺点:
    • 仅支持拉丁字符集(此时)
    • 更少的设计师工具
    • 很少或没有浏览器外集成 。 更新:显然有浏览器外支持。
    • 表现(至少在我在www.javafx.com上观看过的演示)
    • 到期

如果我遗漏任何东西或弄错了什么,请告诉我,还有什么我没有考虑过。 我们还查看了Adobe AIR,但由于我们所有的开发人员都已经拥有Java和/或.Net的经验,因此对其进行了排除。

请不要在这里开始任何火焰战争。 这不是一个宗教问题,我真的想要一些实用的建议和事实。

我在过去几个月一直在玩JavaFX,我不建议任何人开始使用它,除非限制(如缺乏Linux支持)过于苛刻。 JavaFX的IDE支持目前很荒谬。 你没有重构帮助,没有autoformat,甚至没有帮助indentaion。

我喜欢JavaFX,并将继续使用它,但对于2种同样优秀的语言,巨大的IDE不同,很难克服。

对于(某种)WYSIWYG,Silverlight也有Expression Blend。

我认为JavaFX中的解决方案会更好,但创建它可能会更加困难。

有几个人想到了JavaFX 。

  • 仅支持拉丁字符集(此时)(false)JavaFx使用标准Java字符串表示,并且渲染完全能够处理非拉丁字符。
  • 更少的设计师工具(真实),但看看最新的NetBeans(更多@ 链接文本 )
  • 很少或根本没有浏览器外集成(错误)JavaFX在Web /桌面,移动和新平台上运行。
  • 每个版本的性能都在提高。
  • 成熟度与Silverlight相同,但基于已安装的JVM具有更好的市场份额。

您对JavaFX的评估有点不对劲。

我最近在JavaFX中开发了一些材料。

JavaFX的性能在过去的6个月(1.0到1.2之间)有了显着的提升,并且应该会在1.3版本中再次提升。

“浏览器外集成”本质上是JNLP(即Web-start)。 从我能说的来看,这是完全合理的。 例如,WidgetFX完全用JavaFX编写了一个类似Vista / 7的桌面侧边栏http://widgetfx.org/

据称甲骨文的“势头和动力” – 拉里·埃里森一直公开表达这一点 – 但这当然是由欧盟对甲骨文与太阳合并的调查所阻碍的。

请注意,JavaFX不使用Java语法。 然而,它是一种非常简洁快速的语言来编写GUI,但确实有一个(相对较短的)学习曲线。 但是它可以包含任何Swing组件(并且其中有相当多的库),并且可以使用Java类。

我想扩展一点关于IDE和开发/设计人员工作流程的观点 – 我现在已经和Silverlight合作了一年半,我不得不说我成功的关键在于工具。 在开发方面,通过Web服务调用从客户端到服务器端逐步调试代码的能力非常有用。 我们聘请了具有Adobe工具集经验的设计师,看到它们在Blend中立即变得高效(动画UI,转换屏幕,隐藏/显示元素等)。 再加上Visual Studio和Blend可以共享相同的源代码控制系统这一事实,您就拥有了一个很好的生态系统,可以快速整合好看的Web应用程序。

Silverlight的另一个专业是语言独立性。 如果你选择C#,你也会得到LINQ,lambda表达式和(很快)并行的foreach循环。