当java年轻时,人们对编写applet感到兴奋.他们很酷很受欢迎,有一段时间了.现在,我再也见不到他们了.相反,我们有flash,javascript和许多其他网络应用程序构建技术.
为什么站点不再使用java applet?
我也很好奇:从历史上看,为什么你认为这发生了?为了让Java applet保持活力,可以做些什么呢?
我认为Java applet被Flash和ActionScript所掩盖(双关语无意),更容易用于当时使用的Java Applet(动画+有状态应用程序).
Flash在这方面的成功反过来归功于其更小的文件大小,以及受益于Sun与微软之间的诉讼,导致微软从Internet Explorer中删除MSJVM,这是在Netscape的消亡和IE的重要统治时期.
1)AWT为可怕的用户界面制作.Swing改进了,但为时已晚,因为...
2)微软在浏览器(其专有的MSJVM)中放弃了对Java的支持,在此之前,它只支持它发布的最后一个版本,大致是JDK 1.1兼容.
3)所以今天你不能确定applet会在大多数非开发者机器上运行,而不像flash.
顺便说一下,ActiveX也是如此.
为了它的价值,Sun再次向applet注入资金和资源.他们在JDK 1.6.10中做了一些非常重要的改进,以减轻许多用于展示的"笨拙"小程序.例如,通过此更新,您可以在applet加载时显示自己的自定义加载图像/动画,并且插件已经过大量饮食以提高性能.
他们还开始直接与Flash和Silverlight - JavaFX竞争.
市场是否会对此做出任何反应仍有待观察,但鉴于Flash在市场上占据主导地位,这对Sun来说无疑是一个令人着迷的举动.
当Java的GUI API停止完全吸吮时,每个人都在使用Flash.即使在今天,Java在制作花哨的图形方面也不如Flash.
我认为这是因为java是一个"真实的",即.通用语言.要创建一个applet,你必须编写代码,并且没有任何快捷方式.
现在闪存等已经出现,你几乎可以通过为你的网站制作一个很酷的动画来放弃你的方式.这是一个更低的入门门槛 - 您不必知道如何编程以使Flash动画工作.因此flash会激增,而且很少使用java applet.
我认为applets是微软和Sun之间的战斗中的附带损害.
起初,JVM加载速度非常慢,并且需要太多内存.然后,当计算能力的提高使JVM成为可能时,Sun努力控制所有Java:
作为Sun在3月份针对微软提起的另一起私人反垄断诉讼的一部分,Sun寻求初步禁令,要求微软在Windows XP操作系统中包含当前的Java虚拟机(JVM).微软表示,本周包含JVM的决定是与Sun最新法律纠纷的直接结果,但微软计划在2004年1月1日之后取消对Windows中Java的支持.微软反向课程,将在Windows XP中包含Java VM - 目前
他们花了很长时间来加载并进入浏览器,然后对很多人来说他们没有工作.当他们最终加载时,接口是丑陋和笨重的.我认为糟糕的用户体验是使applet过时的重要一步.
所以为了回答原来的问题我有自己的问题 - 你问"为什么网站不再使用java applets",我的回答是"为什么有人想要?"
我在acedemic设置中看到了很多(托管在部门或教师网站上),但你是对的,他们不是很受欢迎.
但是,请记住Java的重大承诺已经实现.我们有Flash,Java Applets,Silverlight和不断改进的JavaScript框架.
现在,如果我添加个人意见 - 我认为Java小程序是不优雅的.它们往往看起来很丑陋,Java运行时在操作系统中的存在也是众所周知的(就运行时视觉效果,更新和丑陋的安装程序而言).凭借其丰富的媒体环境及其透明(无处不在)的部署,Flash变得更加出色.