gpt4 book ai didi

Java applets - 今天是一个错误的选择吗?

转载 作者:搜寻专家 更新时间:2023-10-30 21:17:03 24 4
gpt4 key购买 nike

我有一些重要的计算代码,需要应用于已下载到浏览器 DOM 并从用户交互中捕获的数据。我不想公开这段代码。我想知道是否:

  1. 编写网络服务并通过网络套接字或 HTTP 与浏览器通信。权衡是交互速度(从流畅到糟糕)和更高的流量成本。
  2. 编写一个 Java 小程序(已签名以隐藏代码),将逻辑封装在页面中并让 JavaScript 与 Java API 交互。我在别处读到 Java 和 JavaScript 引擎在某些情况下可能会死锁。但是,由于我只是在计算,所以这不是问题。也许,在多核机器上,我可以使用更多的线程来分配我的工作。
  3. 用 JavaScript 编写。但是 JavaScript 很难测试,而且这一切都在公众的视线中。

诸如 Usability of Java applets on the web 和其他几个问题的问答也令人沮丧。

Java applets 是一种过时的技术吗?这些天甚至没有关于这个话题的问答!此外,Java 可能并不总是与所有浏览器(台式机、平板电脑或移动设备)捆绑在一起?

是否有更好的方法来实现隐藏代码、利用客户端 CPU/RAM、最小化数据流量等相同目的?

网页基于 JavaScript、HTML5 和 CSS。服务器只提供 JSON 和 XML。数据包大小为 10-20 KB,并且经常更新。计算成本高昂且特定于客户端,因此我真的很想使用客户端来完成所有这些工作。

最佳答案

我认为小程序最大的缺点是它假设你有一个JRE。安装在客户端机器上。这真的是一个可行的假设吗?

当然,您也可以提供下载和安装 JRE,但是为什么仅仅为了一些计算而费心去做所有这些呢?还有一个问题我会问自己,你的客户端可以是手机,平板电脑什么的吗?如果是这样,也许 JavaScript 是更好的选择。

还有两美分 :) 你提到了“开眼 JavaScript”您应该明白,保护计算代码的唯一真正方法是将计算放在服务器上。我的意思是,即使您有编译后的二进制代码,Java 的汇编对于熟练的攻击者来说也很容易理解。你提到的混淆(它是混淆,不签署 JAR 文件)使它稍微困难一些,但仍然不是不可能。

我在这里看到的唯一问题是,如果您有很多客户端同时运行计算,并且您将计算负担放在服务器上,它最终可能会崩溃。

关于Java applets - 今天是一个错误的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11495557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com