18

JavaFX现已推出,并且有承诺 Swing 将与 JavaFX 一起改进。丑陋的默认 UI 的日子已经一去不复返了,我们终于可以创建在质量方面与Flash、Air 和 Silverlight相媲美的引人入胜的应用程序。

  1. 这是否意味着来自 1990 年代的Java Applet已死且不值得再使用?

  2. Java Desktop也一样:对于我们 Java 开发人员来说,使用它而不是 JavaFX 会吸引什么?

4

10 回答 10

14

在我看来,Java Applets 已经死了好几年了。我在 90 年代后期写了一些 - 在实习期间的俄罗斯方块游戏,例如在 40MHz ARM Acorn 机顶盒上演示。当然,我敢打赌,有些休闲游戏网站仍然有大量此类网站,因此它仍将受到支持,但积极的开发将会/已经下降。

在我看来,Java Web Start 是一种方便的技术。这仍然适用于 JavaFX,它只是该系统的另一个库。

JavaFX 将为 Java 提供超越技术工具(如 SQL Developer)、内部业务应用程序和服务器应用程序(它擅长的领域)的机会。我认为这是任何 Java 开发人员都值得学习的库之一,如果他们有时间的话。毫无疑问,Java 的用户界面库多年来一直非常缺乏或过于复杂。

然而,那里有很多竞争,而且它非常新(这意味着开发工具支持非常原始,与 Flash 和 Silverlight 相比)。人们也不喜欢下载大量的运行时环境,尽管宽带使许多人比 5 年前少了痛苦!

于 2008-12-18T12:02:54.657 回答
13

我认为这个讨论有些误导。我也不喜欢applet 技术(而且JavaFX 也让我不知所措)。但是这个线程缺少的一点是,除非我弄错了,JavaFX 是建立在 applet 技术之上的。它们不相互竞争或相互排斥。请在此处此处查看这些文章。

这可能是 Sun 有意造成的混淆,因为他们不希望 JavaFX 和 applet 在同一个句子中被提及,因为 Applets 有很多问题。

于 2008-12-19T20:06:42.147 回答
10

Java Applet 并没有死。

他们的历史很糟糕,有几个原因:

  • 大多数平台在整个 90 年代都有糟糕的浏览器插件,一直到 2000 年代,这让 Applets(在一定程度上也包括 Java)以速度慢和下载量大而著称。
  • 实际的 Applet 平台为每个 applet 创建了一个新的 VM,这进一步造成了迟缓,尤其是在 Applet 启动时。
  • 很多 Applet 开发者没有尽心尽力缩小他们压下的 jar 的大小,甚至进一步造成了呆滞的印象

带来 JavaFX 的改进也带来了 Applet 的改进(它们是一回事)。虚拟机可以共享,缓存比以前更好。此外,更高的平均用户带宽可以帮助即使设计不佳的小程序部署也能快速启动。如果你沿着安装基数和平台能力的轴线来看,在我看来,Applet 仍然相当高,如果不是顶部的话。

JavaFX 很酷,但它需要额外的运行时,而且它的许多部分只是 Applet 平台之上的语法糖。由于这个原因,JavaFX 共享了 Applet 今天几乎所有的问题

于 2009-01-11T16:49:57.833 回答
9

Java Applet 的消亡不是因为 applet 的概念,而是因为用于 Web 浏览器的 JRE 插件非常糟糕

事实上,Flash 证明了内嵌交互内容的作用。

JavaFX 是一种编程富互联网应用程序的新方法——本质上等同于 Java 小程序或 Flash 内容。新的 JRE 运行时(1.6.0_10,又名“Update 10”)包括许多特性,使在浏览器上下文中运行 Java 更加可口。

JavaFX != Java 桌面. 两者完全不同,并且每个都在开发人员的工具箱中占有一席之地。

于 2008-12-19T20:12:32.417 回答
9

实际上,如果 Sun 没有输掉与 Microsoft 的公关和技术战,Java applet 是一种很好的技术,它本来可以像 Flash 一样无处不在。

微软当时正在推动 DirectX 控件,并利用 IE 市场份额来对抗小程序。我记得当时做了一些基准测试:3 MB 的 Java 小程序(很大),从本地磁盘加载(以排除网络加载时间),在 Opera 中启动大约需要 5 秒。不知何故,相同的小程序在 IE 中启动大约需要 2 分钟。

所以,并不是技术很烂。并不是因为小程序太大,所以速度慢;它们很慢,因为当时占主导地位的浏览器故意让它们变慢。:)

我猜 JavaFX 是 Sun 在不同的时间和不同的市场尝试从 applet 中重振许多想法的尝试。

于 2009-01-11T20:42:28.800 回答
5

尽管这最终可能是真的,但目前 JavaFX 缺乏控件、不支持移动设备以及其他使其“尚不存在”的缺陷

于 2008-12-18T12:12:54.013 回答
3
  1. 这是否意味着来自 1990 年代的 Java Applet 已死且不值得再使用?

JavaFX 和相关的更改是重振小程序空间的一种尝试 - 小程序总是被糟糕的插件实现和 flakeu`y 桥接器所困扰。这已经得到了改进——尽管仍然需要更多的工作——但最终 Sun 已经认识到它需要工作并且已经采取了一些措施。小程序的定位比以往任何时候都好。在你提到的竞争对手中——Flash、Air 和 Silverlight——我认为你错过了关键竞争对手——浏览器/javascript——浏览器制造商也在解决关键平台的弱点——javascript 性能、进行任意绘图的能力(即画布等) . 对于低端要求,我认为纯粹的浏览器方法会胜出——对于高端图形——JavaFX 有机会。

  1. Java Desktop 也是如此:对于我们 Java 开发人员来说,使用它而不是 JavaFX 会吸引什么?

作为 Java 桌面应用程序的大型开发人员,缺少的一件事是一套体面的基本小部件和玩游戏的时间!它需要一个杀手表实现——你可以嵌入摇摆,但这有什么意义。现在我可以自己写了,这并不是我在我的工作中增加价值的地方。

于 2009-02-17T11:38:13.037 回答
2

1 - 这是否意味着来自 1990 年代的 Java Applet 已死且不值得再使用? 随着 Java 插件的更新,所有小程序,而不仅仅是基于 JavaFX 的小程序,都得到了改进的用户体验和性能。话虽如此 - 我认为那里没有很多(如果有的话)杀手小程序。如果有 - 永远不需要 JavaFX。

2 - 与 Java Desktop 相同:对于我们 Java 开发人员来说,使用它而不是 JavaFX 会吸引什么? 如果您正在构建 GUI 应用程序并希望在 Java 中运行它 - 特别是跨多个平台(例如桌面、小程序和移动设备)以及更容易与具有实际 Photoshop/GIMP 技能的人一起工作 - JavaFX 是您的最佳选择因为它是专门为这种类型的过程设​​计的。但是,请记住 JavaFX 可以调用 Java 代码,也可以进行远程调用(返回 XML 或 JSON)。我认为最有可能的集成点是使用 JavaFX 进行 UI 和结果缓存,但所有繁重的编码逻辑都将在服务器上。如果您可以让您的汇编程序发出 XML 或 JSON,则可以用 Java 或 .NET 或汇编程序编写它:)。

于 2008-12-30T21:57:14.070 回答
1

我同意其他人的观点,Java Applets 已经死了。JavaFX 可能会填补这一空白。但是,我只是看不到它会很快取代 Java Desktop。这就像说网络应用程序将取代所有桌面应用程序一样。有些人确实相信这一点,我同意网络应用程序会越来越受欢迎,但是,桌面应用程序将继续占有一席之地很长一段时间。

于 2008-12-18T12:55:43.520 回答
1

我们不能轻易写出小程序,因为网络上有太多好的代码。其中很多是由不是软件开发专家但在各种高端领域的专家编写的,他们试图借助当时的顶级技术 Java 小程序来解释和说明。他们可能没有时间学习新语言并重写他们的工作。许多人多年不活跃。

我还认为 Java 小程序更适合基于服务器端构建和代码审查的社区项目。各种花哨的用户友好工具可以使 Web 组件的开发变得快速和容易,但结果要么根本不可读,要么很难审查。

我们最近启动了仍然依赖于 Java 小程序技术的Ultrastudio.org项目。我想了很多关于放置更多语言和平台的想法,但最后不得不得出结论,要么不那么安全,要么做起来更复杂。

于 2010-07-15T15:14:40.817 回答