Java Web Start(JNLP)优于Java Applet

时间:2011-11-22 12:05:31

标签: java web-applications applet jnlp java-web-start

您认为针对Java Applet的Java Web Start项目的优缺点是什么?我们试图弄清楚我们应该为新应用程序使用什么类型。我们已经开发了一个桌面应用程序(JAR),我们试图让所有安装了Java的机器都可以使用它,而不需要安装它。

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

  1. Applet / browser / JRE交互问题。如果你不知道我的意思,甚至不要弄乱(丢失的头发),那么部署小程序将是一个陡峭的学习曲线。
  2. 浏览器带来了什么?如果答案是JS交互性,与现有的基于HTML的Web应用程序集成,或者其他一些相关的东西,很多。如果没有,那么问问自己部署应用程序的优势。包裹在浏览器窗口中真的是吗?
  3. JWS Jar缓存和更新更可靠(如果需要,可以在程序控制下进行)。
  4. AppletContext为applet提供了与环境交互的能力,但JNLP API超出了AC可以实现的范围(大多数情况下)。
  5. 一般可用性。对于您的用例,这些可能是也可能不是问题。
    1. 免费浮动JWS部署的应用程序。在浏览器关闭时不会关闭,并且不会在选项卡更改时丢失焦点。
    2. 如果每个带有控件的3个小程序都嵌入到带有链接的1页中,那么焦点是什么?由于Sun从未打扰过指定应该发生什么(根据他们),因此随着时间的推移,JRE的情况会有所不同。现在,JRE常常抓住applet的焦点。如果是这样,通常不可能使用键盘(单独)来访问网页中的链接和其他可聚焦元素。
    3. 调整桌面应用程序的大小要容易得多。
    4. 桌面应用。 (带有启动画面,带图标的桌面快捷方式等)可以看起来更专业。
  6. 当然,应该提到线条变得模糊:

    1. 自JWS推出以来,它可以启动applets
    2. 自插件2架构JRE以来,JWS可以启动仍然嵌入网页的小程序。
    3.   

      ..我们试图让所有安装了Java的机器都可以使用,而不需要安装它。

      我会把“不需要安装”的要求放在一边,因为总有时间的流逝和更新插件的需要。在此注释中,使用deployJava.js来处理JRE最低版本检查。在检查最小Java可用后,该脚本将嵌入applet或编写指向JNLP启动文件的链接。

      另见

      Stack Overflow信息。标签页面:

答案 1 :(得分:2)

自6u10以来,显着的差异在于网页中出现(并且能够与网页交互)的applet(可能打开不一定与浏览器窗口交互的窗口)和WebStart应用程序与浏览器窗口分离网页浏览器。 WebStart应用程序将自动获得自己的进程,从内存使用的角度来看,这可能是一个重要的热启动成本。自6u10以来,小程序可以访问javax.jnlp.*

答案 2 :(得分:0)

我认为网络开始是您应该使用的。据我所知,它允许您启动完整的java应用程序。

答案 3 :(得分:0)

JNLP可以(在某些情况下应该)与applet一起使用。 刚刚完成了对用户文件系统的读写小程序的集成。

applet的优点显而易见 - 无需在客户端计算机上安装。

缺点:

  • 不再在Chrome中工作;

  • 需要额外配置 - 每个jar的清单文件必须包含

       Permission: all-permissions
    

    线。