JavaFX和Silverlight的优缺点

8
我知道已经有一个问题是关于Flex、JavaFX和Silverlight的性能。我的问题更加广泛:
我们正在评估JavaFX和Silverlight作为控制/配置我们后端服务(目前用Java编写)的GUI技术的优点。服务和GUI通常在同一台机器上,但还必须支持远程管理(通过浏览器)。我们目前分为两个团队:一个是.Net,一个是Java,尽管Java开发人员也有一些.Net经验。
就我所看到的,优缺点目前如下:
Silverlight 4:
优点: -卓越的IDE集成 -良好的开发人员设计师工作流程 -表现 -广泛的第三方支持(工具、控件等) -Microsoft的大量动力和推动 -非常好的离线集成
缺点: -仅支持Mac和Windows(Moonlight支持不达标)
JavaFX 1.2:
优点: -广泛的平台支持
缺点: -仅支持拉丁字符集(目前) -较少的设计工具 -没有或很少的离线集成。更新: 显然有离线支持。 -表现(至少在我在www.javafx.com上查看的演示中) -成熟度
请让我知道如果我漏掉了什么或对某些事情有误解,以及我没有考虑到什么其他事情。我们还看了Adobe AIR,但因为我们所有的开发人员都已经有Java和/或.Net的经验,所以排除了它。
请不要在这里开始任何火拼。这不是一个宗教问题,我真的希望得到一些实际的建议和事实。

2
+1 对于“Moonlight支持不达标”的评价。悲伤但却是事实。 - Konamiman
想知道 Microsoft 设计工具集的设计师可用性如何。 - Hannes de Jager
1
Hannes,你可以访问microsoft.com/expression来获取与Silverlight一起使用的设计工具。Blend与Adobe的设计工具非常相似,支持导入Photoshop和Illustrator文件,并允许设计师基于按钮点击等事件创建UI动画。 - James Cadd
JavaFx 很可能也会得到 Oracle 的大力支持! - Hannes de Jager
4个回答

5

我最近几个月一直在尝试使用JavaFX,但除非限制(例如缺乏对Linux的支持)太严重,否则我不建议任何人开始使用它。目前,JavaFX的IDE支持非常糟糕。你没有重构帮助,没有自动格式化,甚至没有缩进帮助。

我喜欢JavaFX并将继续尝试使用它,但对于两种同样好的语言来说,巨大的IDE差异很难克服。

Silverlight也有Expression Blend,可以进行(某种程度上的)所见即所得编辑。

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


5

关于JavaFX的几点看法。

  • 仅支持拉丁字符集(目前)(错误),JavaFx使用标准Java字符串表示,并且渲染完全能够处理非拉丁字符。
  • 设计工具较少(正确),但请查看最新版本的NetBeans(更多信息请参见链接文本
  • 几乎没有离线集成(错误),JavaFX在Web /桌面、移动设备上运行,计划推出新平台。
  • 性能随着每个版本的发布而不断提高。
  • 成熟度与Silverlight相同,但基于已安装JVM的市场份额更高。

你对JavaFX的评价有些错误。


1
感谢您的输入,Rastislav。我在JavaFX FAQ页面上找到了有关拉丁字符集限制的信息(第1.4节,第三个要点)。 我已删除关于脱机使用的错误信息。 我仍然认为JavaFX不如Silverlight成熟,后者已经(几乎)发布了第4个版本,每个版本都带来了很多改进。 - Theodor Kleynhans
我理解你的观点。我们正在全力以赴地开发JavaFX,以最大的质量带来所有新功能。 - Rastislav Komara
1
今天我们发布了JavaFX Composer for NetBeans。这是一个用于使用JavaFX的应用程序开发人员的RAD工具。更多信息请访问:http://wiki.netbeans.org/JavaFXComposer - Rastislav Komara

3

最近我一直在开发JavaFX材料。

JavaFX的性能在过去6个月(1.0和1.2之间)有了显著提高,并且据说在1.3版本中会再次提高。

"离线集成"本质上就是JNLP(即Web-start)。从我所知道的来看,这是完全合理的。例如,WidgetFX已经完全使用JavaFX编写了一个类似于Vista/7的桌面侧边栏 http://widgetfx.org/

据说Oracle正在加紧推广JavaFX,Larry Ellison也公开表示赞赏,但当然这被欧盟对Oracle-Sun合并的调查所阻碍。

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


3
我想对您关于IDE和开发/设计工作流的观点稍作扩展 - 我已经使用Silverlight一年半了,我要说我的成功关键是工具。在开发方面,能够从客户端到服务器端通过Web服务调用在调试器中逐步执行代码的能力非常有帮助。我们雇用了具有Adobe工具集经验的设计师,看到他们立即在Blend中提高了生产力(动画UI、转换屏幕、隐藏/显示元素等)。再加上Visual Studio和Blend都可以共享相同的源代码控制系统,你就拥有了快速汇集好看的Web应用的极佳生态系统。
Silverlight的另一个优点是语言独立性。如果您选择C#,还可以获得LINQ、lambda表达式和(很快)并行foreach循环。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接