与Flash相比,为什么小程序的采用率如此之低?是因为它们是技术上的劣势,还是只是受欢迎程度的问题?
10 回答
每个人似乎都忘记了一点:最初 Flash 有一个非常面向设计师的工作流程,所以许多图形设计师加入进来,制作了看起来很酷的东西,互联网用户觉得这很有趣,所以他们会下载 Flash,社区就发展了。
另一方面,Java Applet 是针对程序员和企业的,这很好,但对普通用户来说很无聊。最重要的是,当时的脚本小子(包括我自己)制作了泄露资源和/或冻结浏览器的小程序,甚至其他更熟练的小子也利用小程序的力量来制造陷阱和有害网站,所以大多数互联网用户不会启用小程序。
所以最终可能是每个平台的目标开发人员(图形设计师与程序员)导致了问题。
过去和现在的 Java 与 Flash:
然后:
- Flash 有一个单击安装程序,下载和运行需要 2 分钟。Java 有一个安装程序,下载和运行需要 10 分钟。
- Flash 应用程序在不到一秒的时间内加载完毕。Java 小程序耗时 10 秒。
- Flash 应用程序往往是独立的,并且会“正常工作”。Java 小程序倾向于引用外部资源。断开的链接频繁出现,小程序引擎受到稳定性问题的困扰,有时可能会导致整个浏览器瘫痪。
- Flash 的采用率空前高涨,因为它随 Windows 一起提供。Java没有。
现在:
- Sun 推出了名为Java Kernel的单击安装程序,下载和运行只需 2 分钟。
- Java6 更新 12 可在一秒钟内加载小程序。
- Java 小程序现在在与浏览器不同的进程中运行,并且引擎已从头开始重写。稳定性问题已成为过去。不幸的是,网络上仍然充斥着包含损坏链接的旧小程序。
- Java 是大多数新计算机的标准配置。Java 采用率从 70% 到 90% 不等,具体取决于您与谁交谈。随意衡量您自己的网站。
剩下的一大区别是,Flash 拥有比 Java 更好的面向艺术家的工具。话虽如此,有大量的软件可以让你用 Java 比用 Flash 更容易、更高效地编写它们。Java 是一个更加成熟和可扩展的平台。您会看到很多人将 Flash 用于广告横幅,但更多人将 Java 用于成熟的应用程序或游戏。例如,比较 Java 和 Flash 中的 3D 渲染支持。
早在 1990 年代,当 Sun 向世界推出 applet 时,JVM 很慢,applet 也更慢。想想“等待十五分钟让它完成加载”慢。
慢速技术是死技术。速度并不是 Flash 及其同类产品相对于 Java applet 的唯一优势,但它是导致它们衰落的主要原因。
我假设您在谈论 Java 小程序。
我认为采用 Flash 的最大优势之一是一个具有吸引力且易于使用的工具的单一开发环境。丰富的培训材料补充了这一点。它也基本上是单一目的,而 Java 有各种各样的用途和目标受众。
直到最近,Java 小程序还相当繁重。任何 Java Applet 都需要 JVM 来启动和加载 applet,这在现代机器上可能需要一些时间,而在引入 Java 时的机器上甚至更慢。此外,与 Flash 相比,Java Applet 更像是一种复杂的野兽,因此会出现许多问题(是否需要对您的 Applet 进行签名?这对开发人员来说可能是一个巨大的痛苦)。此外,Flash 迅速开发了一个产品生态系统,可以快速轻松地满足人们的需求(有趣的图形!),而在 Java 中,除了按钮和复选框(基本浏览器级别已经提供的东西)之外的任何东西都需要更多的工作,而且不需要几乎拥有flash所做的支持。
Java 环境笨重且笨重。
它需要几秒钟才能启动并开始运行,这通常是 CPU 和内存的负担。另一方面,Flash 的重量要轻得多。
另一个因素是 Java 小程序通常在视觉上不如 Flash 有吸引力。
Java 处于极大的劣势,仅仅是因为普通用户下载和安装起来很复杂。
将向潜在用户提供 Java 包的多个版本,包括 SDK 等。这会吓跑大多数只想快速查看简单小程序的用户。
Java 已经修复了这个问题,现在 java.com 可以一键下载插件。Flash 从一开始就拥有这一点,我不会感到惊讶它为它的成功做出了部分贡献。
在您的 PC 上安装和管理所需的多个 Java 运行时版本是大多数用户也不想经历的麻烦。如果它不能开箱即用,请忘记它!
通常它们很重,很慢。它们中的很多都非常丑陋(早期的 Swing 看起来像 Xaw 或 Motif)。不同的是,Sun 是处理重铁和企业业务的公司,而 Macromedia 和 Adobe 是一直与图形设计师打交道的公司。所以 Flash 有“令人惊叹的因素”,而 applet 没有。
如前所述,小程序有些笨重和过时。Sun 现在正试图推动 JavaFX,这很可能是“下一个 Flash”。