gpt4 book ai didi

java - 没有适用于桌面 Java 的 Adob​​e AIR native 扩展的替代方案

转载 作者:行者123 更新时间:2023-12-01 05:19:31 25 4
gpt4 key购买 nike

背景

我们有一个由 Java 后端支持的 AIR 客户端应用程序。

在我们的应用程序中,我们有一个复杂的数据网格,可以一次捕获大量数据。每个单独的数据单元都可能触发繁重的计算/处理。这将重复发生,直到用户满意并保存最终版本。

某些处理的性质要求其中很大一部分由 Java 完成。添加大量用户,我们肯定会遇到服务器性能问题。

我们需要将大部分处理转移到客户端。

问题

现在,当用户提交最后一组输入时,服务器将在保留它们之前执行最后一次计算。这意味着我们需要一组 Java 类来执行所需的所有计算/处理。

由于我们已经在编写 Java 类,因此最好将它们作为客户端的库重用,而不是在 Flex 中重新编写它们并维护两者。

我们认为 Adob​​e AIR 的 native 扩展将是完美的 - 直到我们发现 Windows 上仅支持 DLL。由于我们的交付机制(Java 库没有 .exe),我们也无法使用 NativeProcess。

问题

到目前为止,我们已经尝试了 Merapi,但考虑到它已经停用了一段时间,我们担心 future 的兼容性。我们想知道默拉皮是否还有其他替代品?

或者更好的是,尝试在 AIR 应用程序和 Java 库之间创建通信桥梁来解决此问题的任何其他潜在方法。

最佳答案

您有一些选择,具体取决于您愿意做多少工作。

如果您愿意考虑 FLEX 以外的其他方案...

您可以选择 Applet,因为:

它在浏览器中运行,可以与您的应用程序进行通信,并使用客户端上的浏览器资源来执行计算。

或者,这是我最喜欢的,您可以编写一个 Java Webstart 部署的桌面应用程序。它将完全在客户端上运行,它不会消耗服务器上的资源,可以通过 RMI 或简单的消息传递与服务器通信,与您可以获得和更新自身的 native 桌面应用程序尽可能接近,因此没有部署问题。

第三个选项比较棘手,但是从理论上讲,您可以使用 GWT 之类的东西用 Java 编写应用程序,然后通过 GWT 将其转换为 Javascript 应用程序。它在浏览器中运行,但它有严重的限制,以我的拙见,GWT Javascript 几乎不可读且难以定制。

替代方案:

将应用程序编写为标准 Web 应用程序,并使用 Javascript 在客户端执行计算。问题是您将无法重用 Java 类。

结论(应该阅读,最拙劣的意见)

总而言之,通过 Webstart 部署的 Java 桌面应用程序看起来是最好的解决方案。它将允许您重复使用计算代码,并且还将充分利用客户端资源。

关于java - 没有适用于桌面 Java 的 Adob​​e AIR native 扩展的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10652490/

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