所有的Java小程序都放在哪里?

所有的Java小程序都放在哪里?

Where did all the java applets go?

Java很小的时候,人们对编写applet感到兴奋。 他们很酷,很受欢迎,有一阵子。 现在,我再也看不到他们了。 相反,我们拥有Flash,JavaScript和许多其他Web应用程序构建技术。

为什么网站不再使用Java Applet?

我也很好奇:从历史上看,您为什么认为这发生了? 为了使Java applet保持生存状态,可以采取哪些其他措施?


我认为Java小程序已被Flash和ActionScript(意外出现)遮盖了,对于当时使用的Java小程序(动画+有状态的应用程序)而言,使用起来要容易得多。

在这方面,Flash的成功又得益于其较小的文件大小,以及得益于Sun与Microsoft的诉讼,该诉讼导致Microsoft在Netscape灭亡和IE占主导地位时从Internet Explorer中删除了MSJVM。


1)AWT专为可怕的UI设计。摇摆对此有所改善,但为时已晚,因为...
2)微软在浏览器(其专有的MSJVM)中放弃了对Java的支持,在此之前,它仅支持它发布的最新版本,该版本与JDK 1.1大致兼容。
3)因此,今天您不能确定小程序将在大多数非开发人员的计算机上运行,??而不像Flash。

顺便说一下ActiveX也可以。


为了实现其价值,Sun再次将金钱和资源投入到小程序中。他们在JDK 1.6.10中进行了一些非常重要的改进,以减轻许多以前显示的"笨拙"小程序。例如,通过此更新,您可以在加载applet时显示自己的自定义加载图像/动画,并且该插件已被广泛采用以提高性能。

他们还发起了直接与Flash和Silverlight-JavaFX竞争的计划。

市场是否会对此做出回应还有待观察,但是考虑到Flash在市场上的主导地位,这无疑是Sun的一项引人入胜的举动。


我认为这是因为Java是"真实的",即。通用语言。要制作小程序,您必须编写代码,并且没有任何快捷方式。

现在已经出现了Flash等,您可以通过为网站制作漂亮的动画来进行拖放。这是更低的入门门槛-您不必知道如何编程即可使Flash动画正常工作。因此闪存激增,几乎不再使用Java Applet。


到Java的GUI API完全停止运行时,每个人都在使用Flash。即使在今天,Java在制作精美图形方面也远不及Flash。


我认为小程序是Microsoft和Sun之间争斗的附带损害。

最初,JVM的加载速度非常慢,并且需要太多内存。
然后,当计算能力的提高使JVM成为可能时,Sun在尝试控制Java的所有事情时都表现得很出色:

As part of another private antitrust lawsuit filed against Microsoft by Sun in March, Sun sought a preliminary injunction requiring Microsoft to include a current Java virtual machine (JVM) in the Windows XP operating system. Microsoft said the decision to include the JVM this week is a direct result of the latest legal entanglement with Sun, but Microsoft plans to disband support for Java in Windows following Jan. 1, 2004. Microsoft Reverses Course, Will Include Java VM In Windows XP--For Now


他们花了很多时间来加载并进入浏览器,然后对许多人来说却没有用。当它们最终加载时,这些接口又难看又笨拙。我认为不良的用户体验是使小程序过时的一大步。

因此,要回答最初的问题,我有一个自己的问题-您问"为什么站点不再使用Java小程序了",而我的回答是"为什么有人要这样做?"


我在流行病环境中(在部门或教职网站上托管)经常看到它们,但是您说对了,因为它们并不十分流行。

但是,请记住,Java的巨大承诺已经实现。我们拥有Flash,Java Applet,Silverlight和不断改进的JavaScript框架。

现在,如果我要发表个人看法-我认为Java applet不太雅致。它们看起来很丑陋,Java运行时使其在操作系统中的存在众所周知(就运行时视觉效果,更新和丑陋的安装程序而言)。 Flash凭借其富媒体环境和透明(且无处不在)部署而更好。


我认为兼容性问题是一个大问题。最为明显的是IE和Microsoft的Java VM,它们的兼容性不如以前。

即使使用Sun JVM,您也可能会遇到问题。在拥有两个需要不同版本Java的三个第三方Applet的地方,我感到很开心。 Sun尝试通过用Java Web Start替换Applets来解决此问题,该Java站点在浏览器中提供了一个链接,该链接可在其自己的窗口中而不是在浏览器内部启动应用程序。 (从理论上讲,使用JWS,您可以使用不同的VM来使用不同的应用程序,但它似乎从来没有像现在这样适合我。)

JavaScript的进步也使开发更丰富的网页成为可能,因此过去仅可以在Applet中完成的许多事情现在可以使用AJAX轻松完成。


人们仍然使用小程序。但是您是对的,这里有大量不同的解决方案。例如,看看javafx


首先,他们没有离开。您仍然可以在Web上找到很多applet,很多人特别使用它们来演示算法等。
优点:可以利用现有的库(数学,物理,排序,图形等),并且比Flash快。
不便之处:以最新的JVM为目标可能会有风险(尽管Sun在自动更新方面做得很好,看起来很多人已经在使用Java 1.6),加载时间有点慢(即使已经取得了很大的进步) 。

您仍然可以找到许多游戏小程序,例如Bookworm,也许还有额外的优势,那就是可以做一些工作来在手机上运行它们。

其次,我可以预测JavaFX会重新引起人们的兴趣。关于类固醇的小程序,能够打破"小食丑"的传说... :-)

最后,像Processing这样的库使创建图形密集型applet变得非常容易,例如,您可以在网上找到很多小程序。在OpenProcessing上,最差的(编程的初学者)接近最好的!


人们仍然在使用小程序,至少对于与我合作的公司而言。 小程序主要由内部用户使用。

我觉得小程序有其好处,因为在服务器端使用Java的公司很可能会拥有大量的熟练Java的人才。

尽管也许其他技术(例如Javascript,HTML / CSS或Flash)更受欢迎或更富于幻想,但人才库可以更好地用于创建带有Java小程序的Web应用程序,因为这是他们通过与Java小程序的工作已经很熟悉的一种语言。 服务器端的东西。

对于Java人才库,使用Java applet解决方案以比其他任何技术都更高的精度交付变更请求可能会更快。

有时,技术解决方案中最重要的事情是其功能以及需要为他们提供支持的人员对变更的反应速度。


我认为正是他们的丑陋使他们远离了现代网络。 Flash带来了设计,而javascript带来了在客户端上制作一些很酷的东西的便捷方法。小应用程序技术被当作浏览器中的一个盒子(虽然就像闪光灯一样,但是丑陋得多)被淘汰了。

实际上,唯一可能会错过的是在Web内部进行"客户端-服务器"类型的通信的可能性,因为Java Applet可能具有状态连接。另一方面,您将不得不在另一侧放置一台服务器并为其打开一个端口,这对于共享主机环境来说实在是太多的工作。

小程序仍然生活在一些不同的区域,例如道路,隧道,发电厂等控制中心。


我想知道JVM实际上有多广泛吗?就Flash而言,IE5预先安装了它,从而为它提供了庞大的自动用户基础。但是,除非将JVM包含在操作系统安装中,否则用户将不会拥有它。我想作为开发人员,您的目标是最大的安装基础,这意味着选择Flash而不是Java。

到处都有Java小程序。绝对没有普及。


JVM非常广泛,尤其是在公司世界中,至少在我工作过的地方,始终安装了JVM。

我目前正在开发Java Applet,但总的来说,除非有必要,否则我永远不会使用applet。但是话又说回来,我也不会使用Flash或Silverlight。小程序的加载时间很慢,并且在网页中看起来很不合适。另外,Macromedia / Adob??e已经将优质的applets推销出去了。


推荐阅读