我最近使用过Java网启动的应用程序。我启动了它从我的网浏览器上使用嵌入式jnlp链接的网页,我是观看。该应用程序被下载,推出和工作只是罚款。它曾访问我的本地文件系统,并想起了我的偏好之间重新启动。

我想知道的是为什么Java网启动的应用程序不一个更受欢迎的交付的格式复杂的应用在网络上?为什么要开发人员通常花费大量的时间和能量复制的桌面的功能在html/javascript当权力的桌面应用程序能够更容易地使用Java和Java网开始?

我知道,在某些企业的环境,e。克银行,它们是比较受欢迎的方式提供复杂的交易应用程序的客户,但他们为什么不普遍存在的整个网络作为一个整体?

(为了讨论让我们假设一个世界中:下载来源是"可信"和应用程序是"签署"(即没有安全的关切),下载速度很快(载荷时速)和开发人员知道Java(在数字,他们知道html/js/php)).

有帮助吗?

解决方案

我想原因是不是应用程序的安全性,也没有启动时间。我们先来了解什么是幕后之前我们找出根本原因。

Java控制面板有设置,允许用户使用默认浏览器的代理设置或覆盖它们。换句话说,基础设施团队能够自定义Windows或OS安装映像,以与企业的代理设置JVM预安装。所以我相信这不是一个问题了。

Java Web Start的实际缓存使用Java控制面板中的自定义设置的所有应用程序。一旦应用程序缓存,应用程序的“安装”就像其他应用程序。虽然第一次执行可能会比较慢,第二次就会因JVM的智能内存分配技术快。所以启动时间可能是一个问题,但很多网站的(即使企业内部)现在迁移到门户网站。门户网站通常包含大量用于开发目的未使用的库由于该门户网站本身不预期什么样的portlet的构建和部署在特定页面上。因此,下载单个门户页面可以消耗达的MB和超过5秒完成一个页面;这是只有一个页面和缓存有助于高达30%,但仍然有很多下载每次需要HTML / JavaScript的/ CSS组件。有了这个,我可以肯定的Java Web Start是一个优势在这里。

如果只要服务器副本不升级缓存的Java Web Start的不会再次下载。因此,如果,例如项目管理软件,如MS项目,使用的SmartClient(类似于JWS),客户端和服务器之间的信息交换将是纯粹的不喜欢的浏览器刷新整个页面呈现的数据完成。即使使用Ajax的帮助下,它不会完全消除整页下载。此外,很多公司考虑Ajax的不成熟和不安全仍在。这就是为什么Ajax是在开发商圈子的企业软件中的一个热门话题,但目前还没有。考虑到这一点,JWS应用程序绝对有更多的优势,如JWS的应用程序是如何部署和在沙箱中运行,签名,并有更多的交互式GUI。

其它优点包括更快的发展(更容易在代码和性能调试),响应的用户界面(不需要彗星服务器提供PUSH功能),以及执行速度更快(肯定的,因为客户端计算机上呈现GUI不用翻译,如HTML / JavaScript的/ CSS和更少的数据处理)。

在所有这些,我还没有触及的问题是,为什么JWS不是那么出名?

我的看法是,它是一样的布赖恩Knoblauch酒店的评论,这是没有意识。

IT人员通过Web技术,Ajax的PUSH,GWT的炒作太吸引了,和所有那些时髦词使他们倾向于使用不同的技术或解决技术难题,而不是真正致力于为客户年代的乐趣偏差。

看一看的Citrix。我认为思杰实际上是一个伟大的想法。思杰允许你建立自己的应用程序场幕后。有吨的升级和实施策略,你可以去,而不影响客户体验。思杰的部署是非常容易的,稳定的,安全的。企业仍然在使用它。不过,我认为JWS是比思杰甚至更好。 JWS的想法是运行在客户机上,而不是托管吨服务器农场,客户机能够运行这些应用程序本身的应用程序。该公司节省了大量的资金!随着JWS,开发团队仍然可以建立在服务器端业务逻辑和数据。然而,如果没有在网络处理单元,并让客户端计算机执行渲染过程中,它大大降低网络消费和服务器的处理能力的量。

的JWS为什么是一个惊人的想法另一个例子是黑莓MDS。黑莓应用程序实际上是Java应用ŧ从Javascript ranslated。随着BB的MDS工作室,您可以使用GUI工具建立BB应用程序界面,在Javascript编码GUI逻辑。然后,应用随后被翻译并部署了BES服务器上。然后BES服务器将这些应用程序分发到BB。在每个BB,它运行薄的Java应用程序与GUI渲染,只有联网能力。每当应用程序需要的数据,将其与BES通过Web服务通信,消费从其他服务器上的服务。是不是这只是JWS BB版本?它已经非常成功的。

最后,我认为JWS是不是受欢迎,因为太阳是如何发布的。 BB从不做广告有多好,他们的BB Java应用程序是,他们认为客户会甚至不关心它是什么。 BB方使用MDS开发应用程序的优点:速度快,成本节约,业务报表

只是我的,有点长,2美分...:)

其他提示

一个主要障碍Java Webstart可能是你仍然需要有一个JVM安装之前,它甚至可以尝试下载,并开始应用程序。每个人都有一个浏览器。不是每个人都有一个JVM。

编辑: 因为我已经获得了一些手webstart的经验,现在可以添加以下两点:

  • 部署工具包的脚本 和模块化JVM释放的某个地方的周围Java1.6u10使JVM要求的问题较少,因为它可以自动下载JVM和API核心和启动程序诡计的下载的其余部分。
  • 网页的开始是严重越野车。即使在Java1.6版本有一个载的整个程序的每一时间,另一个下载了它,那么没有一个模糊的错误信息。所有的一切,我真的不能让你依靠这样一个脆弱的系统。

我认为这主要是由于缺乏认识。它工作得很好。很浑然一体。只有应用下载,如果它是第一次,也一直在升级,或者如果最终用户已清除缓存。部署全面的桌面伟大的方式应用包含的用户将不必担心手工升级!

与Webstart的问题是,你确实有“开始”的东西是不是所有的快速即使有快速的连接,同时与web应用程序输入的网址与应用是存在的。

也有很多的事情可以去错了Webstart的。也许预期的用户不具有的权限需要,或在webstart的代理配置错了,还是出现了一些问题JRE的依赖或根本就没有安装在首位的Java。因此,对于在互联网平均李四是不是在所有普莱。

在控制的环境如公司它在许多情况下获得良好和简单的解决方案。

我在JWS部署的应用程序工作了几年了几十万用户群和它的自动升级实际上是一个巨大的痛苦。

在出于某种原因几十个用户每一次更新得到“卡在中间”。所有你得到的是“未找到类”异常(如果你幸运的话),或不提供信息的“无法启动”,从JWS之前,甚至会到你的代码。貌似更新半下载。或者,换句话说,它不下载并自动应用更新具有缓存不佳,使来自同一个URL重新推出应用程序不解决任何事情。

有没有办法来解决它比清除JWS高速缓存或提供不同的URL等(例如,在端部追加?dummyparam=jwssucks)。即使我作为一个开发人员有时会打它,并没有看到周围的方式。

当它工作,它的工作原理。但往往不是,然后这对你和你的服务支持一个巨大的痛苦。我不会推荐它为企业或关键任务应用。

有一个非常大的问题,即它不允许“立即启动该程序,然后检查并在后台下载的任何更新”的部署,这是应用程序的事实上的行为正在融合。

我认为这是个人如此之大,我们正在积极寻找另一种技术,它提供了一个烦恼。

从这些帖子看起来使用Web开始时一样,它使有关服务器良好的护理是很重要的。在每次启动时下载应用的“巨大痛苦”可以通过从服务器传送不正确的时间戳引起的。这里不是应用程序,但必须将服务器配置为使用缓存正确,而不只是将其禁用。关于越野车开始,我没有那么多肯定,但在我看来,这也可能是不可靠的连接而引起的。

网络启动的重要优势是,它与OpenJDK的工作很好地在Linux下。一些开发商快乐客户端只使用Windows,但我的客户没有。

HTML和JavaScript,在最初的问题提到的,是很好地工作等动画按钮或甚至交互式表更小的任务更轻的方法。 Java的利基似乎周围更复杂的任务。

Java Web Start的是一种Java小程序的继任者,和小程序得到了各地的新千年烧毁。 但是,我仍然认为Java小程序的方式比GWT或Javascript地狱更好。

Java Web Start的VS内置的Java Applet

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top