【问题标题】:What does the future look like for Java Applets?Java Applet 的未来会是什么样子?
【发布时间】:2011-04-01 09:55:56
【问题描述】:

过去,由于 Microsoft/Sun JVM 拆分,Java 小程序不可靠。 Flash 接管,Java 小程序因浏览器崩溃和性能问题而闻名。

现在 JVM 作为 Clojure 和 Scala 等动态语言的平台正在复苏,那么用于浏览器内小程序的 JVM 的当前和未来前景如何?

  • 浏览器供应商是否继续解决稳定性和性能问题?
  • Java 的市场渗透率有多大?
  • 鉴于 JVM 的复兴,applet 是否还会将任何形式的复兴视为 Flash 的替代品,或者尽管 JVM 取得了成功,但它们是否会完全过时?

(是的,HTML5 是很多很多事情的前进方向。它将继续在浏览器中最合适的地方取代 Flash 和 Java。这不是这个问题的主题。)

【问题讨论】:

  • 我建议将其设为 wiki,否则它很可能会被关闭,因为这是一个主观问题。
  • 嗯,我的水晶球告诉我小程序已经死了
  • 在我自己的日常浏览过程中,我已经有近十年没有在网页中看到 Java 小程序了。 YMMV,但我不会投资。
  • 浏览器供应商都不关心,Sun 或现在的 Oracle 也不关心。例如,Linux 下存在一个恼人的错误,即 Firefox 中的 Applets 无法获得键盘焦点(非常适合游戏咳嗽)。 Mozilla 指责 Sunacle,他们也指责 Mozilla,甚至没有人试图以任何方式解决这个错误。
  • Scala 不是动态语言。它至少和 Java 一样是静态的。

标签: java clojure applet jvm


【解决方案1】:

Java 小程序已死。早期缺乏宽带极大地导致了它的早期消亡。 Windows JVM 被锁定在 1.1 版本这么久的事实是另一个钉子。

Java webstart 提供了更好的东西——Java 应用程序的按需交付、缓存和自动更新,没有任何浏览器集成问题。

小程序已死。 XMLHttpRequest 出现并满足了人们开始使用小程序的大部分原因。

【讨论】:

    【解决方案2】:

    Sun 使用 JavaFX 在稳定性和启动时间方面改进了 Applet 插件。 最新的浏览器支持新的 Java 插件。 现在还可以更轻松地创建自己的带有进度条的启动屏幕。

    在部署方面,60% 的人安装了 Java 6 (riastats.com),93% 的人安装了 Flash 10

    在使用方面,我的观点是用户并不关心使用的技术。他们关心的事情是:它有效吗?好看吗?它启动快吗?它做一些有用/有趣的事情吗?应用好用吗?

    【讨论】:

    • 答案末尾的问题都是相关的。现在在 2014 年,可以说 Java 小程序只是没有很好地回答这些问题。甚至 Flash 似乎都在退却,而 HTML5+JS 正在扩张。
    【解决方案3】:

    Flash 最终实现了 Applets 所尝试的目标,并且做得非常好。初始下载量小,程序启动速度快,并在网页内运行。

    也就是说,启动小程序的能力随着 Java 6 更新 10 对 Java WebStart 的 JNLP 规范的改进而得到了增强,但我没有仔细研究它(我们将 Java WebSTart 广泛用于应用程序,而不是小程序),我怀疑其他人也没有。

    【讨论】:

    • 我一直对将 Java 用于 applet 感到很兴奋,但当它被大规模用于业务逻辑编码时,我感到非常恐惧。我真的很鄙视 Flash,部分原因是我强烈怀疑它非常不安全。
    • 如果您不确定 Flash 是否不安全,那么也许现在是仔细研究的好时机?
    • 唯一真正适用于所有 Flash 内容的 Flash 播放器是封闭源代码,所以这种可能性很大。
    • 我对 Flash 的主要抱怨是,即使是简单的横向卷轴游戏,它也非常耗费 CPU。安全……嗯……它是封闭源代码,谁知道呢。
    • @Paul,但它成功地填补了小应用程序的目标,这是我的观点。
    【解决方案4】:

    简而言之,您现在通过移动设备覆盖了很多人,并且将来您将通过移动设备覆盖更多人。移动设备操作系统制造商不想在他们的移动设备上支持 JVM,我怀疑甲骨文也想这样做。

    坚持标准。如果您想制作 Web 应用程序,HTML5 和 Javascript 仍然是必经之路。

    JVM 语言肯定正在复苏,我想它们会继续流行起来,但它们不会(而且,AFAIK,也不会)使用它们来编写小程序。

    小程序没有集成到系统中,它们没有得到很好的支持,而且它们是令人讨厌的资源猪。将 JVM 保留在您的服务器上,这样您就可以充分利用 JIT 和 JVM 的其他功能。

    【讨论】:

    • 运行 Java 的手机比以往任何时候都多。 J2ME 几乎完全是为了这个目的而存在的。早在史蒂夫·乔布斯眼中的 iPhone 出现曙光之前,Java 手机就已经在运行游戏和应用程序了。
    • 很多手机都可以通过浏览器运行小程序?这对我来说是个新闻!
    • 恰恰相反。您肯定已经看到有关 2010 年 Android 手机销量爆炸式增长的消息,而且这种趋势似乎将继续下去。 Java 是 Android 的主要开发语言。诚然,它们不是“小程序”,也不是“真正的”JVM(长话短说,Sunacle 收取 Google 认为的 J2ME 高昂的许可费用,因此 Google 对 Java 规范进行了无尘室重新实现,并带有专有扩展,称为Dalvik),但它绝对是Java。移动设备上的 Java 的未来看起来比以往任何时候都好。
    猜你喜欢
    • 2011-02-04
    • 2011-09-09
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多