【发布时间】:2013-06-12 08:24:09
【问题描述】:
我开发了一个 R 应用程序,我想部署它。
目前,该应用程序由一组要从命令行运行的函数组成,例如 R 包。为了部署它,我正在考虑重新打包R Portable,向其中添加必要的库和我的代码。我的主要问题是选择合适的 GUI 工具包。
生产环境
我的应用是单用户应用(即桌面应用),目标平台是 Windows。它可以在 R 中引导,然后调用工具包,或者在 Java 中引导,然后调用 R 引擎。 GUI 应该首先提供应用程序功能。它还应该获取函数图形输出。
可能的替代方案
这是一个潜在的替代品列表。我想知道他们是否满足/适合所描述的必要环境。
Java JRI 现在仅作为 rJava 的一部分发布,但虽然后者已明确记录,但我无法找到前者的文档和教程。 至于Deducer,它呈现为一个GUI前端,但我发现它也是一个GUI toolkit
TCL/Tk 绑定似乎是 R 的自然选择并且有据可查,但有人抱怨此工具包的局限性。 RGtk2 看起来很有趣,而且还有一些教程。 gWidgets 是罕见的工具包之一!
尽管我不需要需要一个真正的 Web 应用程序,但一个有趣的选项是将 R 与 JavaScript/HTML 接口。和我们大多数人一样,我熟悉这种环境,并且该应用程序可以从许多 JS 库中受益。
问题是漂亮的Shiny server 和rApache 仅适用于Linux,这可能也是真的Concerto。取而代之的是Rserve 在Windows 上运行,虽然没有官方的JS 客户端,但我找到了第三方rserve-js 和node.js client。
Rook,由 rApache 的同一作者编写,应该与平台无关(不是吗?)。
R Server Pages 可以工作,但我没有在小插图或参考手册中找到函数 HttpDaemon 和 HttpRequest 的示例。
我用gWidgetsWWW 运行了一些简单的例子。它可以工作,但它似乎可以生成罐头网页,而无法修改 HTML 代码。
编辑
让我澄清一下我的问题。我不是在调查你的个人喜好。 这里提到的技术或产品往往非常年轻且不普及。在投入数月的代码之后发现它们还没有准备好或不适合生产,这将是非常令人不快的。所以我想知道(不是你的主观喜好,而是)他们是否能够在上述环境中工作。
【问题讨论】:
-
我仍然不确定您的问题到底是什么。这似乎完全符合you should avoid asking here 的问题类型。如果你能把它变成一个实际的问题,我建议你尝试这样做。
-
@Dason:我停滞不前,因为我需要开始一个新项目(或者说完成一个项目),我不想在工作几个月后发现我完全错误小路。我需要找到一个可以在生产中使用的工具包。只有使用/编辑它的开发人员可以告诉我。请建议我如何改进这个问题?
-
@antonio 我刚刚看到你用
Rook标记了这个问题。您是否需要您的应用程序仅在您的办公网络内运行?如果是这样,Rook绰绰有余。我已经使用它几个星期了,如果您不需要外部访问应用程序,它是完美的。 -
@Michele:是的,它是一个标准的桌面应用程序,但是使用浏览器作为 GUI 环境会让最终用户满意。
-
Rook是一个不错的选择。您可以尝试使用gWidgetsWWW2(在 github 上)进行原型设计,看看您对 extjs 的喜爱程度。不过,您可以使用许多其他 JavaScript 选项。对于桌面使用,gWidgets的东西可以用来做一些快速有用的东西,但你提到的是几个月——而不是几天。对于这种规模,您可能应该坚持使用工具包。RGtk2加上cairoDevice可以让你走得更远(rattle包就是一个例子)。这些并不是街区里的新孩子。
标签: r user-interface toolkit rserve r-rook-package