Java Web Start(JNLP)优于Java Applet
您认为针对Java Applet的Java Web Start项目的优点/缺点是什么? 我们试图弄清楚我们应该为新应用程序使用什么类型。 我们已经开发了一个桌面应用程序(JAR),我们试图让每台安装了Java的机器都可以使用它,而无需安装它。
有什么想法吗?
- Applet /浏览器/ JRE交互问题。 如果你不知道我的意思,甚至没有一个墨水(从丢失的头发),然后部署小程序将是一个陡峭的学习曲线。
- 浏览器为此交易带来了什么? 如果答案是JS交互性,与现有的基于HTML的Web应用程序集成,或者其他一些相关的东西,很多。 如果没有,那么问问自己部署应用程序的优势。 真的包裹在浏览器窗口中了吗?
- JWS Jar缓存和更新更可靠(如果需要,可以在程序控制下进行)。
-
AppletContext
为applet提供了一些与环境交互的能力,但JNLP API超出了AC可以实现的范围(主要是)。 - 一般可用性。 对于您的用例,这些可能是也可能不是问题。
- 一个自由浮动的JWS部署应用程序。 在浏览器关闭时不会关闭,并且不会在选项卡更改时出现焦点丢失。
- 如果每个带有控件的3个小程序都嵌入到带有链接的1页中,那么焦点是什么? 由于Sun从不打算指定应该发生什么(根据他们),因此随着时间的推移,JRE的情况会有所不同。 现在,JRE通常会抓住applet的焦点。 如果是这样,通常不可能使用键盘(单独)来访问网页中的链接和其他可聚焦元素。
- 调整桌面应用程序的大小要容易得多。
- 桌面应用。 (带有启动画面,带图标的桌面快捷键等)可以看起来更专业。
当然,应该提到线条变得模糊:
- 自JWS推出以来,它可以启动applet
- 自插件2架构JRE以来,JWS可以启动仍然嵌入网页的applet。
..我们试图制作可用于安装了Java的每台机器,而无需安装它。
我会把“不需要安装”的要求放在一边,因为总有时间的流逝和更新插件的需要。 在该注释中,使用deployJava.js来处理JRE最小版本检查。 在检查最小Java可用之后,该脚本将嵌入applet或编写指向JNLP启动文件的链接。
也可以看看
Stack Overflow信息。 标签页面:
- Java Web Start
- JNLP
- 小程序
从6u10开始,显着的差异在于出现在(并且能够与网页交互)的小程序中(可能打开不一定与浏览器窗口很好地交互的窗口)和与Web浏览器分离的WebStart应用程序。 WebStart应用程序将自动获得自己的进程,从内存使用的角度来看,这可能是一个重要的热启动成本。 从6u10开始,Applet可以访问javax.jnlp.*
。
我认为网站开始是您应该使用的。 据我所知,它允许你启动完整的java应用程序。
JNLP可以(并且在某些情况下应该)与applet一起使用。 刚刚完成了对用户文件系统进行读写的applet的集成。
applet的优点显而易见 – 无需在客户端计算机上安装。
缺点:
-
不再在Chrome中工作了;
-
需要额外配置 – 每个jar的清单文件必须包含
Permission: all-permissions
线。
- NetBeans不再为以前的代码生成JAR文件
- 在浏览器中调试java applet – 在Eclipse中工作但不在浏览器中工作
- jre8中URLPermission处的IllegalArgumentException
- applet上找不到类的exception
- 在applet或Google AppEngine中托管Java编译器?
- Jarsigner:“此jar包含未validation证书链的条目。”
- 从另一个Applet启动另一个Applet
- JSE 1.8,Sandbox Java Applet通过HTTPS加载,但是使用HTTP检索了crossdomain.xml
- Java Applet中的Apache FOP – 没有为数据找到ImagePreloader