草庐IT

Java Web Start - 流行度

coder 2023-05-16 原文

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

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

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

(为了讨论起见,让我们假设这样一个世界:下载源是“受信任的”且应用程序是“签名的”(即没有安全问题),下载速度很快(加载时间很快)并且开发人员了解 Java(就他们的数字而言)知道 html/js/php))。

最佳答案

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

Java 控制面板具有允许用户使用默认浏览器的代理设置或覆盖它们的设置。换句话说,基础架构团队能够自定义 Windows 或 OS 安装镜像,以预先安装带有企业代理设置的 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 Servers 提供 PUSH 功能)和执行速度更快(这是肯定的,因为客户端计算机在没有翻译的情况下呈现 GUI,如 HTML/Javascript/CSS,和更少的数据处理)。

说了这么多,我还没有触及这个问题,为什么JWS没有那么出名?

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

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

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

为什么 JWS 是一个了不起的想法的另一个例子是黑莓 MDS。 Blackberry 应用程序实际上是从 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 美分... :)

关于Java Web Start - 流行度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/564936/

有关Java Web Start - 流行度的更多相关文章

  1. javascript - 数组中的流行词 - 2

    我正在尝试从数组中获取最流行/最常用的词,我尝试了以下方法,但它不是只说“雨”,而是在控制台内显示[rain:2,hot:1].我做错了什么?我只想显示没有数字的排名第一的最流行的单词。任何帮助/建议都会有所帮助,谢谢。vardefaultArray=[{age:"25-35",country:"unitedkingdom",sex:"male",word:"rain"},{age:"25-35",country:"unitedarabemirates",sex:"male",word:"hot"},{age:"25-35",country:"zimbabwe",sex:"female

  2. javascript - 在 JavaScript 中实现流行的算法 - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。谁能推荐一本解释所有使用JavaScript的流行搜索/排序/树/图算法的好书或网站?我正在寻找类似算法介绍的书籍,但提供的是JavaScript而非伪代码或C/Java等实现示例和代码片段。目的是学习JavaScript中的基本计算机科学算法,因为我更喜欢和理解JavaScript。

  3. javascript - 为什么流行的 JavaScript 运行时不能处理看起来同步的异步脚本? - 2

    作为cowboysaysdowninthecommentshere,我们都想“以类似这样的风格编写[非阻塞JavaScript]异步代码:try{varfoo=getSomething();//asynccallthatwouldnormallyblockvarbar=doSomething(foo);console.log(bar);}catch(error){console.error(error);}”所以人们想出了解决这个问题的办法,比如回调库(例如async)promiseseventpatternsstreamlinedomains和generators.但是这些都不会导致

  4. go - 如何在一些流行的 go repo 上运行 godoc? - 2

    新的godoc有一些很好的特性,比如调用者列表等。不管怎样,我在运行它时遇到了问题,比如:➜~GOPATHgit:(master)✗lssrc/github.com/coreos/etcd/CHANGELOGDCODocumentationREADME.mdbenchbuildcontriberrorfixturesgo_version.gohttpmain.gomodscriptsstoretestsCONTRIBUTING.mdDockerfileLICENSEVagrantfilebinconfigdiscoveryetcdfoogopathlogmetricspkgserver

  5. xml - 为什么 XSL-FO 流行? - 2

    我要创建一个从html到某种格式的转换器。我正在考虑使用中间格式XML(XSL-FO)。我的问题:如果没有那么多应用程序渲染它,为什么FO格式很受欢迎? 最佳答案 我很清楚CSS和XSL-FO的支持者之间正在进行一场激烈的辩论,双方都有正确的观点。这是迄今为止我看到的XSL-FO的最佳简短论据:XSL-FOprovidesamoresophisticatedvisuallayoutmodelthanHTML+CSS.FormattingsupportedbyXSL-FO,butnotsupportedbyHTML+CSS,inclu

  6. xml - 为什么 XSLT 从未见过互联网繁荣期间出现的许多其他语言的流行? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。XSLT(XML样式表语言转换)的使用从未像互联网繁荣期间出现的许多其他语言那样流行。虽然它正在使用,并且在某些情况下被大型成功公司(即暴雪娱乐)使用,但它似乎从未成为主流。你认为这是为什么?

  7. xml - 在 XML 成为标准并考虑到它的所有缺点之前,是什么让 XML 如此流行? - 2

    是的,XML是人类可读的,但逗号分隔的文本和属性文件也是如此。XML是臃肿的、难以解析的、难以在代码中修改的,加上我可以用它来思考的大量其他问题。我的问题是XML最吸引人的品质是什么让它如此流行???? 最佳答案 与CSV文件之类的文件相比,它的主要优势之一是它可以轻松地表示分层数据。为此,您要么需要像XML这样的自描述树结构,要么需要像SWIFT或EDI这样的预定义格式(如果您曾经处理过其中任何一个,那么您就会意识到XML解析起来很简单相比之下)。它实际上很容易解析的原因之一是因为它“臃肿”。这些结束标记意味着您可以准确地将元素的

  8. linux - 64 位与 32 位平台的流行程度 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭9年前。Improvethisquestion我正在为一些库制作预编译的二进制文件。在主要平台方面,有人有关于Windows、Linux和MacOS的32位和64位流行程度的数据

  9. c++ - Windows 中最流行的 C++ gui 框架是什么? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。现在有很多windows应用程序。几年前,MFC可能是最流行的用于创建Windows应用程序的图形用户界面框架。但我认为MFC太老了,没有很好的OO设计。所以在这里我想知道在windows中有没有现代的、设计良好的、广泛使用的C++gui框架?

  10. c# - 流行网站帖子的流行度衰减算法 - 2

    我正在寻找一种算法来按受欢迎程度对网站结果进行排序。就像Reddit一样,帖子越旧,其投票/分数的影响力就越小。这是reddit使用的普遍接受的解决方案:t=(timeofentrypost)-(Dec8,2005)x=upvotes-downvotesy={1ifx>0,0ifx=0,-1ifx我已经研究过Reddit的算法,虽然它适用于一种情况,但我真正需要的是两种算法,一种用于热门帖子,另一种用于即将发布的帖子:热门帖子即将发布的帖子受欢迎度会衰减得更慢,对稍旧的帖子给予更多权重,而即将发布的帖子将更多地关注今天的热门帖子,在N小时/天/等后急剧下降。我正在使用Sphinx表达式

随机推荐