Java Web Start - Popularity

2022-09-01 11:50:01

我最近使用了一个Java Web Start应用程序。我从我的Web浏览器启动了它,使用我正在查看的页面中的嵌入式jnlp链接。该应用程序已下载,启动并正常工作。它可以访问我的本地文件系统,并记住我在重新启动它之间的首选项。

我想知道的是,为什么Java Web Start应用程序不是Web上复杂应用程序的更流行的交付格式?为什么开发人员经常花费大量的时间和精力在html / javascript中复制桌面功能,而桌面应用程序的强大功能可以使用Java和Java Web Start更轻松地交付?

我知道在一些企业环境中,例如银行业,它们是向客户提供复杂交易应用程序的相对流行的方式,但是为什么它们在整个网络中并不普遍?

(为了便于讨论,让我们假设一个世界:下载源是“可信的”,应用程序是“签名的”(即没有安全问题),下载速度很快(加载时间很快),开发人员知道Java(在他们知道的html/js/php中)的数量)。


答案 1

我认为原因不是应用程序的安全性或启动时间。在找出根本原因之前,让我们了解幕后的情况。

Java 控制面板具有允许用户使用默认浏览器的代理设置或覆盖它们的设置。换句话说,基础架构团队能够自定义 Windows 或操作系统安装映像,以使用企业代理设置预安装 JVM。所以我认为这根本不是问题。

Java Web Start实际上在Java控制面板中缓存所有具有可自定义设置的应用程序。缓存应用后,应用将像其他应用一样“安装”。虽然第一次执行可能会很慢,但由于JVM的智能内存分配技术,第二次执行速度会很快。因此,启动时间可能是一个问题,但许多网站(甚至是企业内部网站)现在都迁移到门户。Web 门户通常包含许多未使用的库用于开发目的,因为门户本身并不预测在特定页面上构建和部署哪些类型的 Portlet。因此,下载单个门户页面可能会消耗多达 MB,并在 5 秒以上完成一个页面。这只是一个页面,缓存帮助高达30%,但每次都需要下载很多HTML / Javascript / CSS组件。有了这个,我相信Java Web Start在这里是一个优势。

如果缓存 Java Web Start,只要未升级服务器副本,它就不会再次下载。因此,例如,如果像MS Project这样的项目管理软件是使用SmartClient(类似于JWS)完成的,则客户端和服务器之间的信息交换将纯粹是数据,而无需像浏览器的整页刷新那样呈现。即使在Ajax的帮助下,它也不能完全消除整页下载。此外,许多公司认为Ajax是不成熟和不安全的。这就是为什么Ajax是开发人员圈子里的热门话题,但还没有进入企业软件。考虑到这一点,JWS 应用程序肯定具有更多优势,例如如何在沙盒中部署和执行 JWS 应用程序、签名以及具有更多交互式 GUI。

其他优点包括更快的开发(更容易在代码和性能上调试),响应式用户界面(不需要Comet Server来提供PUSH功能)和执行速度更快(当然,因为客户端计算机在没有翻译的情况下呈现GUI,如HTML / Javascript / CSS,以及更少的数据处理)。

经过这些,我还没有触及到一个问题,为什么JWS没有那么出名?

我的观点是,这与Brian Knoblauch的评论相同,这是没有意识到的。

IT人员被Web Technologies,Ajax PUSH,GWT的炒作所吸引,所有这些流行语使他们偏向于使用不同技术的乐趣或解决技术挑战,而不是真正为客户工作的东西。

看看 Citrix。我认为Citrix实际上是一个好主意。Citrix 允许您在幕后构建自己的应用程序场。您可以采用大量的升级和实施策略,而不会影响客户体验。Citrix 部署非常简单、稳定且安全。企业仍在使用它。但是,我认为JWS甚至比Citrix更好。JWS 的想法是在客户端计算机上运行应用程序,而不是托管大量服务器场,其中客户端计算机能够自己运行这些应用程序。这为公司节省了很多钱!!!使用 JWS,开发团队仍然可以在服务器端构建业务逻辑和数据。但是,如果没有Web处理单元并让客户端计算机进行渲染过程,则大大降低了网络消耗量和服务器处理能力。

为什么JWS是一个惊人的想法的另一个例子是黑莓MDS。黑莓应用程序实际上是从Javascript翻译而来的Java应用程序。使用BB的MDS工作室,您可以使用GUI工具构建BB应用程序GUI,在Javascript中编码GUI逻辑。然后,在 BES 服务器上转换和部署应用。然后BES服务器将这些应用程序分发给BB。在每个BB上,它运行一个仅具有GUI渲染和网络功能的瘦Java应用程序。每当应用程序需要数据时,它就会通过 Web 服务与 BES 通信,以使用来自其他服务器的服务。这不就是JWS BB版本吗?它非常成功。

最后,我认为JWS并不受欢迎,因为Sun是如何宣传它的。BB从不宣传他们的BB Java应用程序有多好,他们认为客户甚至不会关心它是什么。BB宣传使用MDS开发应用程序的好处:快速,节省成本,业务回报。

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


答案 2

Java Webstart 的一个主要障碍可能是,在 JVM 尝试下载和启动应用程序之前,您仍然需要安装 JVM。每个人都有一个浏览器。不是每个人都有JVM。

编辑:从那以后,我获得了一些动手webstart经验,现在可以添加以下两点:

  • 部署工具包脚本和在Java 1.6u10周围发布的模块化JVM使JVM需求的问题减轻,因为它可以自动下载JVM和API核心,并启动程序下载其余部分。
  • Web Start是严重的错误。即使在Java 1.6版本中,也有一个每次都下载整个应用程序,另一个下载它,然后失败,并显示一个晦涩的错误消息。总而言之,我真的不建议依赖这样一个脆弱的系统。

推荐