JavaFX 现已推出,并且有承诺Swing将与JavaFX一起改进。丑陋的默认用户界的日子已经过去了,最后我们可以在质量方面创建与 Flash,Air和Silverlight 相当的引人入胜的应用程序。
这是否意味着从1990年开始的 Java Applets 已经死了,不值得回去?
与 Java桌面相同:Java开发人员使用它而不是JavaFX会有什么吸引力呢?
答案 0 :(得分:14)
在我看来,Java Applets已经死了多年。我在90年代后期写了一些 - 在实习过程中的俄罗斯方块游戏,以演示40MHz ARM Acorn机顶盒为例。当然我打赌有一些休闲游戏网站仍然有吨数,因此它将继续得到支持,但积极的开发将会/已经下降。
Java Web Start在我看来是一种方便的技术。这仍然适用于JavaFX,它只是该系统的另一个库。
JavaFX将为Java提供超越技术工具(如SQL Developer),内部业务应用程序和服务器应用程序(擅长的地方)的机会。我认为如果他们能够有时间的话,那些值得为任何Java开发人员学习的库之一。没有人认为Java用户界面库一年多来一直缺乏或过于复杂。
然而,那里有很多竞争,这是非常新的(这意味着与Flash和Silverlight相比,开发工具支持非常原始)。人们也不喜欢下载大规模的运行时环境,尽管宽带使它比5年前的许多人更少痛苦!
答案 1 :(得分:13)
我认为这种讨论有点误导。我也不喜欢applet技术(我已经被JavaFX所震撼)。但是缺少这个线程的一点是,除非我弄错了, JavaFX是建立在applet技术之上的。它们不是竞争对手或相互排斥的。请参阅这些文章here和here。
可能因为他们不希望在同一个句子中提到JavaFX和applet,因为混淆在某种程度上是故意的,因为Applet有很多问题。答案 2 :(得分:10)
Java Applets并没有死。
他们历史不佳,原因如下:
带来JavaFX的改进也带来了对Applet的改进(它们是同一个)。可以共享VM,并且缓存比以前更好。此外,更高的平均用户带宽可以帮助设计糟糕的applet部署快速启动。如果你看一下安装基础和平台电源的轴,我认为Applet仍然很高,如果不是顶级的话。
JavaFX很酷,但它需要额外的运行时,对于它的许多部分而言,它只是Applet平台上的语法糖。由于这个原因,JavaFX现在几乎所有Applet都有这样的问题
答案 3 :(得分:9)
Java Applets的死亡不是因为applet的概念,而是,因为Web浏览器的JRE插件是不可靠的。
事实上,Flash证明了在线互动内容的作用。
JavaFX是一种编写富Internet应用程序的新方法 - 基本上等同于Java applet或Flash内容。新的JRE运行时(1.6.0_10,又名“Update 10”)包含许多功能,这些功能使得在浏览器环境中运行Java变得更加可口。
JavaFX!= Java桌面。两者完全不同,每个都在开发人员的工具箱中占有一席之地。
答案 4 :(得分:9)
实际上,Java applet是一种很好的技术,如果只有Sun没有失去与微软的公关和技术大战,它本可以像Flash一样无处不在。
微软一度推动DirectX控制,并利用IE市场份额对抗小程序。我记得当时做了一些基准测试:3 MB(大型)的Java小程序,从本地磁盘加载(以减少网络加载时间),在Opera中花了大约5秒钟。同样的applet在IE中花了大约2分钟的时间。
所以,并不是那种技术糟透了; applet并不是因为它们太大而不是很慢;它们很慢,因为当时占主导地位的浏览器故意让它们变慢。 :)
我想JavaFX是Sun试图在不同的时间和不同的市场中从applet中恢复很多想法的尝试。
答案 5 :(得分:5)
虽然这可能最终是真的,但目前JavaFX缺乏控制,没有移动设备支持和其他空白使得它“还没有”
答案 6 :(得分:3)
JavaFX和相关的更改是尝试重新启动applet空间 - applet总是受到糟糕的插件实现和flakeu`y桥接到浏览器的困扰。虽然仍然需要更多的工作,但它已经得到了改进 - 但最后Sun已经认识到它需要工作并且已经做了一些事情。小程序比以往任何时候都更好。你提到的竞争对手 - Flash,Air和Silverlight - 我认为你错过了关键的竞争对手 - 浏览器/ javascript - 浏览器制造商也在解决关键的平台弱点 - javascript性能,做任意绘图的能力(即画布等) 。对于低端需求,我认为纯粹的浏览器方法将会胜出 - 对于更高端的图形 - JavaFX有机会。
作为Java桌面应用程序的一个重要开发人员,缺少的一件事是一套体面的基本小部件和时间!它需要一个杀手表实现 - 你可以嵌入swing,但有点重要。现在,我可以自己编写,而不是我正在为我的工作增加价值。
答案 7 :(得分:2)
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或汇编程序编写:)。
答案 8 :(得分:1)
我同意其他人,Java Applets已经死了。 JavaFX可能填补这个空白。但是,我不认为它会很快取代Java Desktop。这与说网络应用将取代所有桌面应用程序是一回事。有些人确实相信,并且我同意网络应用程序会越来越受欢迎,但桌面应用程序将继续占据一席之地。
答案 9 :(得分:1)
我们无法轻易编写小程序,因为Web上有太多好的代码。很多都是由那些不是软件开发专家的人编写的,但他们是各种高端领域的专家,他们试图在Java applets(当时的顶级技术)的帮助下解释和说明。他们可能没有时间学习新语言并重写他们的工作。许多人多年来都不活跃。
我还看到Java applet更适合基于服务器端构建和代码审查的社区项目。各种花哨的用户友好工具可以快速简便地开发Web组件,但结果要么根本不可读,要么很难查看。
我们最近推出了仍然依赖于Java applet技术的Ultrastudio.org项目。我想了很多关于添加更多语言和平台的想法,但最后却被迫得出结论认为它要么不那么安全,要么做得更复杂。