6

我已经构建了一套我在日常工作中使用的工具,我想让它们看起来更“专业”一些,以便将它们出售给金融机构。

目前,这些工具是用 Perl 编写的,并从 DOS 命令行执行,它非常高效,但看起来并不吸引人。
所以,我想给它添加一个用户界面,但我真的不知道该用什么语言知道:

  • 托管在 Web 上的 Perl CGI 界面不是一种选择,因为作为输入提供的信息非常敏感。
  • 最好将其作为包/可执行文件出售。
  • 我不太喜欢 Perl/Tk 界面。
  • 我可以用另一种语言重写应用程序,但我更愿意重用 Perl 中的主要模块,因为它在正则表达式和列表/数组方面非常强大。

你会建议我做什么?谢谢,洛里

4

4 回答 4

8

如果您想要一个非基于 Web 的 GUI,并且不喜欢 Tk,那么还有Wx,它是 wxWidgets GUI 工具包的包装器。

然而,如今的 Web 应用程序可以很容易地创建(使用现代框架)。以Mojolicious应用程序为例: Mojolicious除了 Perl 5.12.x 之外没有任何依赖项,并提供了自己的 Web 服务器(Hypnotoad)。您可以从生成“Lite::App”开始,这是一个简单的自包含单文件应用程序,然后在需要时将其扩展为更大的发行版。它甚至附带工具,可将您的应用程序转换为方便打包的发行版,可以像任何 CPAN 模块一样轻松安装。

所以这就留下了安全问题。用户身份验证、IP 白名单、仅限本地网络……如果您需要的话,有很多方法可以让 Web 应用程序“仅供内部使用”。

您可能只是拼凑一个 Web 应用程序原型,一旦确定客户对您的产品感兴趣,就投入大量时间将其编写为 Windows GUI 应用程序。

于 2012-06-07T07:50:18.093 回答
3

继续 DavidO 的回答,因为当前的 Perl 网络微框架(我更喜欢Dancer而不是他对 Mojolicious 的建议,但两者都很好并且在很大程度上是等效的)包含自己捆绑的网络迷你服务器,它们还允许应用程序轻松地完全运行在本地机器上。

由于这些迷你服务器默认使用非标准端口(通常为 3000 或 5000),并且您可以轻松地将它们设置为不同的端口,因此它们可以相对容易地被防火墙隔离,确保没有人可以远程连接到它们。当然,您也可以在应用程序中包含 IP 地址检查,并让它拒绝任何不是来自localhost.

于 2012-06-07T10:32:46.117 回答
2

我的猜测是目标系统将是 Windows。使用 RAD(快速应用程序开发)平台开发 GUI。此类平台的示例是带有 C# 或 VB 的 Delphi 或 .NET。要捆绑 Perl 部分,请考虑使用名为perl2exe的工具。

听起来您的脚本不需要网络服务器。另外,考虑安装麻烦。只是猜测,因为你没有提供太多关于你的脚本在做什么的信息。

于 2012-06-07T07:53:00.317 回答
0

我正在使用Cava 打包器来部署我的 Perl 编写的工具。您甚至只需单击几下鼠标即可生成安装程序可执行文件。它在 Windows 上与草莓 PerlwxPerl配合得很好。

于 2013-03-26T08:00:04.460 回答