当java年轻时,人们对编写applet感到兴奋。他们很酷很受欢迎,有一段时间了。现在,我再也见不到他们了。相反,我们有flash,javascript和许多其他网络应用程序构建技术。
为什么网站不再使用java applet?
我也很好奇:历史上,为什么你认为这发生了?为了让Java applet保持活力,可以做些什么呢?
答案 0 :(得分:36)
我认为Java applet被Flash和ActionScript(无意识的双关语)所掩盖,对于当时使用的Java Applet(动画+有状态应用程序)更容易使用。
Flash在这方面的成功反过来归功于其更小的文件大小,以及受益于Sun与微软的诉讼,导致微软从Internet Explorer中移除MSJVM,这是在Netscape的消亡和IE的重要统治时期答案 1 :(得分:16)
1)AWT针对可怕的用户界面制作。 Swing改进了但是为时已晚,因为......
2)微软在浏览器(其专有的MSJVM)中放弃了对Java的支持,在此之前,它只支持它发布的最新版本,大致与JDK 1.1兼容。
3)所以今天你不能确定applet会在大多数非开发者机器上运行,而不像flash。
顺便说一下,ActiveX也是如此。
答案 2 :(得分:11)
对于它的价值,Sun再次向applet注入资金和资源。他们在JDK 1.6.10中做了一些非常重要的改进,以减轻许多用于展示的“笨拙”小程序。例如,通过此更新,您可以在applet加载时显示自己的自定义加载图像/动画,并且插件已经过大量饮食以提高性能。
他们也开始直接与Flash和Silverlight竞争 - JavaFX。
市场是否会对此做出任何回应还有待观察,但鉴于Flash在市场上占据主导地位,这对Sun来说无疑是一个令人着迷的举措。
答案 3 :(得分:9)
当Java的GUI API停止完全吸吮时,每个人都在使用Flash。即便在今天,Java在制作精美图形时也不如Flash那么好。
答案 4 :(得分:9)
我认为这是因为java是“真实的”,即。通用语言。要创建一个applet,你必须编写代码,并且没有任何快捷方式。
现在闪存等已经出现,你几乎可以通过为你的网站制作一个很酷的动画来放弃你的方式。这是一个更低的入门门槛 - 您不必知道如何编程以使Flash动画工作。因此flash会激增,而且很少使用java applet。
答案 5 :(得分:8)
我认为applets是微软和Sun之间的战斗中的附带损害。
起初,JVM加载速度非常慢,并且需要太多内存。 然后,当计算能力的提高使得JVM成为可能时,Sun在努力控制Java所有事情时发挥了作用:
作为Sun在3月份针对微软提起的另一项私人反垄断诉讼的一部分,Sun寻求初步禁令,要求微软在Windows XP操作系统中包含当前的Java虚拟机(JVM)。微软表示,本周将JVM纳入其中的决定是与Sun最新法律纠纷的直接结果,但微软计划在2004年1月1日之后解散对Windows的Java支持。Microsoft Reverses Course, Will Include Java VM In Windows XP--For Now
答案 6 :(得分:6)
他们花了很长时间来加载并开始使用浏览器,然后对很多人来说,他们没有工作。当他们最终加载时,接口是丑陋和笨重的。我认为糟糕的用户体验是使applet过时的重要一步。
所以回答最初的问题我有自己的问题 - 你问“为什么网站不再使用java applets”,我的回答是“为什么有人想要?”
答案 7 :(得分:5)
我在acedemic设置中看到了很多(托管在部门或教师网站上),但你说它们并不是很受欢迎。
然而,请记住Java已经取得了很大的成就。我们有Flash,Java Applets,Silverlight和不断改进的JavaScript框架。
现在,如果我添加个人意见 - 我认为Java applet是不优雅的。它们往往看起来很丑陋,Java运行时使其在操作系统中的存在远远不为人知(在运行时视觉效果,更新和丑陋的安装程序方面)。凭借其丰富的媒体环境和透明(无处不在)的部署,Flash变得更好。
答案 8 :(得分:4)
人们仍在使用小程序。但你是对的,那里有很多不同的解决方案。例如,请查看javafx
答案 9 :(得分:4)
我认为兼容性问题是个大问题。最值得注意的是IE和微软的Java VM并不像它可能的那样符合标准。
即使使用Sun JVM,您也可能遇到问题。我玩得很开心,我有两个第三方小程序需要不同版本的Java,这会导致各种各样的问题。 Sun试图通过用Java Web Start替换Applet来解决这个问题,它在浏览器中为您提供了一个链接,该链接在其自己的窗口中而不是在浏览器内启动应用程序。 (理论上,对于JWS,您可以使用不同的虚拟机来使用不同的应用程序,但它似乎对我来说似乎没有用。)
使用JavaScript的进步也使开发更丰富的网页成为可能,因此过去许多只能在Applet中完成的事情现在可以通过AJAX完成。
答案 10 :(得分:3)
首先,他们没有离开。你仍然可以在网上找到很多小程序,很多人特别使用它们来演示算法等 优点:可以利用现有的库(数学,物理,排序,图形等),它比Flash更快 不便之处:针对最近的JVM可能存在风险(尽管Sun在自动更新方面做得很好,看起来很多人已经在使用Java 1.6),加载时间有点慢(尽管已经取得了很大进展)
你仍然可以找到很多游戏小程序,比如Bookworm,或许还有额外的优势,可以让部分工作在手机上运行......
其次,我可以预测JavaFX会引起人们的兴趣。类固醇上的小程序,能够打破“小程序丑陋”的传说......: - )
最后,像Processing这样的库可以非常容易地创建图形密集型applet,你可以在网上找到很多这样的applet,例如。在OpenProcessing上最糟糕的(编程初学者)接近最佳状态!
答案 11 :(得分:2)
我想知道JVM究竟有多广泛?在Flash的情况下,IE5预装了它,为它提供了一个庞大的自动用户群。但除非JVM包含在操作系统安装中,否则用户将无法使用它。我认为作为开发人员,您可以定位最大的安装基础,这意味着选择Flash over Java。
这里和那里都有Java小程序;绝对不会普遍。
答案 12 :(得分:2)
我相信这是他们的丑陋让他们远离现代网络。 flash带来了设计,javascript带来了方便的方式在客户端上制作一些很酷的东西。作为浏览器中的一个盒子(就像闪光灯一样,但更加丑陋)applet技术被放弃了。
实际上,唯一可能遗漏的是在网络中进行“客户端 - 服务器”类型的通信的可能性,因为Java applet可能具有有状态连接。另一方面,你必须在另一边放置一些服务器并为它打开一个端口,这对于共享托管环境来说太过分了。
小程序仍然存在于一些不同的领域,例如道路,隧道,发电厂等控制中心。
答案 13 :(得分:2)
人们仍在使用applet,至少对于我正在使用的公司而言。小程序主要由内部用户使用。
我觉得applet有它们的好处,因为在服务器端使用Java的公司很可能会拥有大量熟练掌握Java技能的人才。
尽管其他技术(如Javascript,HTML / CSS或Flash)可能更受欢迎或更具幻想,但人才库可以更好地用于使用Java applet创建Web应用程序,因为它是他们已经熟悉的语言使用服务器端的东西。
Java人才库可以更快地以高于任何其他技术的精度提供Java applet解决方案的变更请求。
有时,技术解决方案中最重要的是它的功能以及需要为其提供支持的人们对变化做出反应的速度。
答案 14 :(得分:1)
JVM非常普遍,特别是在公司世界,至少在我工作的地方,总是安装了JVM。
我目前正在开发Java Applet,但总的来说,除非必须,否则我绝不会使用applet。但话说回来,我也不会使用Flash或Silverlight。小程序的加载时间较慢,在网页中看起来不合适。此外,Macromedia / Adobe已经推销了好的小应用程序。