2009-09-29 217 views
11

我所做的大部分桌面应用程序开发都在Swing中,我很好奇听到人们对使用JavaFX和/或Adobe Flex构建桌面应用程序的想法。你有成功建立与这些桌面应用程序?或者你会坚持使用Swing,并使用工具来帮助Swing开发更高效?适用于Java桌面应用程序的JavaFX,Swing或Flex

+1

嗯,Flex不是Java技术。 – cletus 2009-09-29 02:33:14

+1

你是什么意思? Adobe Flex ... – 2009-09-29 11:25:52

+0

Adob​​e Flex用ActionScript/MXML编写并编译为Flash组件。它*可以与Java后端进行交谈,但只要它能够通过AMF,REST或Web服务接口与它交谈,它就可以与用任何语言编写的后端进行交谈。 – Nate 2009-09-29 13:02:20

回答

19

如果您正在制作桌面应用程序,我会坚持使用Swing。 JavaFX/Flex/Silverlight将更适合富RIA的互联网应用程序。虽然我认为他们中没有一个会成为长期的选择 - 看起来像HTML5/CSS3/Ajax在当天获胜,但那是一个非常主观的领域。但对于桌面应用程序 - 我是Swing的忠实粉丝(也是Java Web Start是一个非常低估的技术)

+0

+ 1,尼斯答案,我同意它的大部分,除了他应该坚持摆动。例如,Swing与.NET相比并不是很先进。我会尝试JavaFX。 – Igor 2013-03-13 17:28:51

10

我会说JavaFX可以被看作Swing的一种扩展,用一种新的开发方式Java GUI通过使用声明式编程语言:JavaFX Script。与使用XML语法的Adobe Flex或Microsoft Silverlight不同,JavaFX Script代码看起来完全像JSON脚本。

JavaFX脚本可以与Java接口,因此可以轻松调用Swing组件。它实际上是新一代的GUI API,就像Swing用于AWT:漂亮的图形组件,管理布局的新简单方法,构建动态界面的非常好的功能:绑定,定时器(构建动画)等等。看看这里: http://www.javafx.com/samples/,并查看教程,看看您可以多快建立一种Google Picasa应用程序......该API甚至包含一些易于使用Web服务的工具:您可以找到大量使用JavaFX构建的GUI示例连接到某些公共Web服务(如天气预报工具)。

而最好的......是部署的一部分。您可以将应用程序嵌入到HTML页面中,例如小应用程序,用户可以将应用程序拖放到她/他的桌面上,以随时随地使用它(无需返回浏览器)!真的,我认为JavaFX在其早期阶段(v1.2)是一个非常好的工具,代表了Java向下一代应用程序迈进的第一步:富Internet应用程序(RIA)。

1

你应该尝试一下,看看哪一个最适合你的要求。如果你想看看你可以用Flex做什么以及如何去做,那么请查看Tour de Flex

Flex的一些优点是它已经很成熟(现在已经超过5年了),并且是Adobe的一个重要投资领域。您还可以在Adobe AIR Marketplace中找到使用Flex构建的AIR应用程序的众多示例。

1

秋千可以好看物质大号& F.

但是,如果你是独自开发(作为一个团队反对),试图JavaFX的可能是一个不错的主意。

2

Java Swing是用于桌面开发的成熟且成熟的技术。你将能够在网上找到大量的信息和大量的示例程序。尽管如此,但是,您可能需要考虑Adobe AIR。 AIR基本上是一个运行时,它允许您在桌面上运行Flex应用程序,并为它们提供对文件系统等本地资源的访问。我已经写了10年Java Swing应用程序,并且对使用Flex/Adob​​e AIR的效率更高,我感到非常惊讶。 Flex的一个很好的方面就是你可以创建你的GUI,就像你如何使用HTML来声明网页的布局一样。这是一种更简洁的方式来指定一个GUI,并且比您需要做同样事情的大量Java Swing代码更快,更容易维护。我不会推荐JavaFX,因为它对于派对来说太晚了,并没有真正与主流开发人员一起获得。

1

请阅读约this,编写极其轻量级的swing应用程序,并使用相同的代码将其移至web。

+0

请添加这些链接中的相关信息。链接有一个被移动或删除的习惯,如果发生这种情况,那么你的答案变得毫无用处。 – Mike 2012-12-02 13:34:59

0

我评估了这些桌面应用程序,并最终desided去为JavaFX。这有非常好的媒体library和硬件加速图形和媒体功能。使用Jdk 7 update 6起,我完全集成了JavaFx,不需要单独安装。 Java swing是非常好的技术,并将继续,但我看到JavaFx在某种程度上是GUI和Internet应用程序的未来。对我来说最大的好处是应用了JavaFx可以转换为EXE文件用native packaging

也尝试拖动scenebuilder拖放组件设计

0

我觉得我没有足够的信息来回答这个问题。有许多应用程序中AIR方法是更好的选择,其他应用程序更好地使用其他技术。我主要是AS3/Flex开发人员,但我知道有很多情况下,其中一个Java平台是更好的选择。既然Flex不再是Adobe的产品,而是Apache的产品,它将改进产品,因为用户将创建路线图,或完全停止。