为什么applet的采用率如此之低?

为什么applet具有如此低的采用率,例如与Flash相比? 是因为它们是技术上的缺点,还是仅仅是受欢迎的问题?

每个人似乎都忘记了一点:最初Flash有一个非常以设计师为导向的工作流程,因此许多图形设计师跳上了网页并制作了很酷的东西,互联网用户觉得很有趣,因此他们会下载Flash,社区也在增长。

另一方面,Java Applets面向程序员和企业,这很好,但对普通用户来说却很无聊。 最重要的是,当时的脚本小子(包括我自己)制作了泄露资源和/或冻结浏览器的Applet,甚至其他更熟练的小孩也使用了Applet的强大function来创建陷阱和有害网站,所以大多数互联网用户不会启用Applet。

所以最终可能是导致问题的每个平台的目标开发人员(图形设计师与程序员)。

Java和Flash当时和现在:

然后:

  1. Flash有一个单击安装程序,下载和运行需要2分钟。 Java有一个安装程序,下载和运行需要10分钟。
  2. Flash应用程序在不到一秒的时间内加载。 Java小程序耗时10秒。
  3. Flash应用程序往往是独立的,并且“只是工作”。 Java小程序倾向于引用外部资源。 破碎的链接频繁出现,applet引擎受到稳定性问题的困扰,这些问题有时会导致整个浏览器崩溃。
  4. Flash的采用率一直处于历史最高水平,因为它随Windows一起提供。 Java没有。

现在:

  1. Sun推出了一款名为Java Kernel的单击安装程序,下载并运行需要2分钟。
  2. Java6更新12在一秒钟内加载applet。
  3. Java applet现在在与浏览器不同的进程中运行,并且引擎已经从头开始重写。 稳定性问题已成为过去。 不幸的是,网络仍然充满了包含断开链接的旧applet。
  4. Java是大多数新计算机的标准配置。 Java采用率从70%到90%不等,具体取决于您与谁交谈。 随意测量自己的网站。

剩下的一大差异是Flash拥有比Java更好的面向艺术家的工具。 话虽这么说,你可以在Java中使用大量软件,而不是在Flash中编写更多,更高效的软件。 Java是一个更加成熟和可扩展的平台。 你会看到很多人使用Flash来制作广告横幅,但是有更多的人使用Java来制作完整的应用程序或游戏。 例如,比较Java与Flash中的3D渲染支持。

早在20世纪90年代,当Sun向全世界推出applet时,JVM速度很慢,applet也慢了。 想想“等待十五分钟让它完成装载”慢。

缓慢的技术是死技术。 速度并不是Flash及其同类产品对Java applet的唯一优势,但它是它们下降的主要因素。

我假设你在谈论Java applets。

我认为Flash采用的最大优势之一是具有吸引人且易于使用的工具的单一开发环境。 大量的培训材料对此表示赞赏。 它基本上也是单一目的,而Java有很多种用途和目标受众。

直到最近,Java applet相当繁重。 任何Java Applet都需要JVM启动并加载applet,这在现代机器上可能需要一些时间,而在Java引入时的机器上甚至更慢。 此外,与Flash相比,Java Applet有点复杂,并且因此会出现许多问题(需要签署您的applet?这对开发人员来说可能是一个巨大的痛苦)。 此外,Flash快速开发了一个产品生态系统,可以快速,轻松地完成人们想要的产品(有趣的图形!),而在Java中,除了按钮和复选框之外的任何东西(已经在基础浏览器级别提供的东西)需要更多的工作,而不是几乎得到了闪存的支持。

Java非常不利,因为下载和安装普通用户很复杂。

潜在用户将获得Java包的多个版本,包括SDK等。 这会吓跑大多数想要快速查看简单applet的用户。

Java已修复此问题,现在java.com有一键下载插件。 Flash从一开始就有这个,我不会感到惊讶它为它的部分成功做出了贡献。

Java环境繁重而且笨重。
它需要几秒钟才能启动并开始运行,这通常是CPU和内存的负担。 另一方面,Flash更轻巧。
另一个因素是Java applet通常在视觉上不如flash。

安装和管理PC上所需的多个Java运行时版本是一个麻烦,大多数用户也不想低谷。 如果它没有开箱即用,请忘记它!

一般来说它们很重,很慢。 很多都很丑陋(早期的Swing看起来像Xaw或Motif)。 不同的是,Sun是处理重铁和公司业务的公司,而Macromedia和Adobe是一直与图形设计师打交道的公司。 所以Flash有“令人惊叹的因素” ,小程序没有。

如上所述,applet有点沉重和老式。 Sun现在正试图推动JavaFX,这可能是“下一个Flash”。