JavaFX现在已经出局了:Applets和Java Desktop是否正式死亡/死亡?

JavaFX现在已经出局,并且有承诺Swing将与JavaFX一起改进。 丑陋的默认用户界的日子已经过去了,最后我们可以在质量方面创建与Flash,Air和Silverlight相媲美的引人入胜的应用程序。

  1. 这是否意味着从1990年代开始的Java Applets已经死了,不值得回去?

  2. Java Desktop相同:Java开发人员使用它而不是JavaFX会有什么吸引力?

在我看来,Java Applets已经死了多年。 我在90年代后期写了一些 – 例如在实习期间用于演示40MHz ARM Acorn机顶盒的俄罗斯方块游戏。 当然我打赌有一些休闲游戏网站仍然有吨数,因此它将继续得到支持,但积极的开发将会/已经下降。

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

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

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

我认为这个讨论有点误导。 我也不喜欢applet技术(而且我对JavaFX一直不感兴趣)。 但是缺少这个线程的一点是,除非我弄错了, JavaFX是建立在applet技术之上的 。 它们不是竞争对手或相互排斥的。 在这里和这里看到这些文章。

由于他们不希望在同一个句子中提到JavaFX和applet,因为混淆在Sun方面有点故意,因为Applet有很多问题。

Java Applets并没有死。

由于以下几个原因,他们的历史很糟糕:

  • 大多数平台在整个90年代都有糟糕的浏览器插件,进入了2000年代,这使得Applets(以及Java在某种程度上)在缓慢和大量下载方面享有声誉。
  • 实际的Applet平台为每个applet创建了一个新的VM,这进一步造成了缓慢,特别是在Applet的启动时。
  • 许多Applet开发人员都没有认真考虑减少他们推倒的jar子的大小,甚至进一步造成缓慢的印象

带来JavaFX的改进也带来了对Applet的改进(它们是同一个)。 可以共享VM,并且缓存比以前更好。 此外,更高的平均用户带宽可以帮助设计不佳的applet部署快速启动。 如果你看看安装基础和平台电源的轴,在我看来,Applet仍然很高,如果不是顶级的话。

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

Java Applets的死亡不是因为applet的概念,而是因为Web浏览器的JRE插件是非常简单的

实际上,Flashcertificate了在线交互式内容的作用。

JavaFX是一种编写富Internet应用程序的新方法 – 基本上等同于Java applet或Flash内容。 新的JRE运行时(1.6.0_10,又名“Update 10”)包含许多function,这些function使得在浏览器环境中运行Java变得更加可口。

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

实际上,Java applet是一种很好的技术,如果只有Sun没有失去与微软的公关和技术战争,它可能像Flash一样无处不在。

微软一度推动DirectX控制,并利用IE市场份额对抗小程序。 我记得当时做了一些基准测试:3 MB(大型)的Java小程序,从本地磁盘加载(以减少网络加载时间),在Opera中花了大约5秒钟。 同样的applet花了大约2分钟在IE中启动。

所以,并不是那种技术很糟糕; applet并不是因为它们太大而不是很慢; 它们很慢,因为当时占主导地位的浏览器故意让它们变慢。 🙂

我想JavaFX是Sun试图在不同的时间和不同的市场中从applet中恢复很多想法的尝试。

虽然这可能最终是真的,但目前JavaFX缺乏控制,没有移动设备支持和其他空白使得它“还没有”

  1. 这是否意味着从1990年代开始的Java Applets已经死了,不值得回去?

JavaFX和相关的更改试图重振applet空间 – applet总是受到糟糕的插件实现和flakeu`y桥接到浏览器的困扰。 虽然仍然需要更多的工作,但它已经得到了改进 – 但最后Sun已经认识到它需要工作并且已经做了一些事情。 小程序的位置比以往任何时候都好。 你提到的竞争对手 – Flash,Air和Silverlight – 我认为你错过了关键的竞争对手 – 浏览器/ javascript – 浏览器制造商也在解决关键的平台弱点 – javascript性能,做任意绘图的能力(即canvas等) 。 对于低端要求,我认为纯粹的播放浏览器方法将会胜出 – 对于更高端的图形 – JavaFX有机会。

  1. 与Java Desktop相同:Java开发人员使用它而不是JavaFX会有什么吸引力?

作为Java桌面应用程序的一个重要开发人员,缺少的一件事是一套体面的基本小部件和时间! 它需要一个杀手表实现 – 你可以嵌入swing,但有点重要。 现在我可以自己编写,而不是我在我的工作中增加价值的地方。

1 – 这是否意味着从1990年代开始的Java Applets已经死了,不值得回去? 随着Java插件的更新 – 所有applet,而不仅仅是基于JavaFX的applet获得改进的用户体验和性能。 话虽如此 – 我不认为那里有很多(如果有的话)杀手级小程序。 如果有的话 – 永远不需要JavaFX。

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

我同意其他人,Java Applets已经死了。 JavaFX可能填补这个空白。 但是,我不认为它会很快取代Java Desktop。 这与说网络应用将取代所有桌面应用程序是一回事。 有些人确实相信这一点,并且我同意网络应用程序将越来越受欢迎,但是,桌面应用程序将继续占据一席之地。

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

我还看到Java applet更适合基于服务器端构建和代码审查的社区项目。 各种花哨的用户友好工具可以快速简便地开发Web组件,但结果要么根本不可读,要么很难查看。

我们最近推出了仍然依赖于Java applet技术的Ultrastudio.org项目。 我想了很多关于添加更多语言和平台的事情,但最后我们不得不断定它要么不那么安全,要么做得更复杂。