Perl是编写平台独立桌面应用程序的好选择吗?

时间:2010-01-20 14:48:21

标签: perl user-interface gtk wxwidgets desktop-application

Perl是编写(可能和部分)平台独立桌面应用程序的好选择吗?我知道有一些有趣的小部件库,如GTK2 PerlwxWidgets,但我不熟悉Windows上的开发。

是否可以使用Perl和那些工具编写一个好的应用程序,可能会嵌入所需的一切,以避免要求用户安装外部(可能非常规的许多)库?是否有这种应用程序的例子?

4 个答案:

答案 0 :(得分:6)

排序。您当然可以编写提供可在任何平台上运行的Tk GUI的Perl脚本,甚至可以打包使用PAR所需的库,将一个应用程序组合在一起,可以在安装了适当版本的perl的任何地方运行,而无需最终用于从CPAN安装一堆东西以使其工作。

但是,一个应用程序将运行而不需要需要现有的perl安装(并且假设普通的Windows用户可能不会安全地使用perl)并不是真的可行。一种解决方案是分发一个“无处不在的Windows”版本,只使用PAR来包含必要的库,以及一个用于Windows的PAR :: Packer构建的版本,它将是一个功能齐全的.exe,包括perl解释器和库。

编辑:在daotoad的回复之后,似乎ActiveState的PerlApp可以为Windows,Mac OS X,Linux,Solaris和AIX构建跨平台二进制文件;我没有试过这个,但如果按照宣传的方式工作,它似乎符合你的要求。

答案 1 :(得分:4)

我的雇主使用ActiveState's PerlApp生成我们应用程序的可执行版本并取得了巨大成功。

在选择我们的包装方法之前,我们测试了PAR和PerlApp。那时,PerlApp的加载时间更快。从那时起,每个工具的几个版本已经出现,所以我建议在选择工具之前对每个工具进行测试。

可执行包装对我们非常有效。

Perl存在一些可移植性问题,但如果您关注perlport,则很容易避免大多数问题。我们最大的问题始终是Win32。有时候,一些简单的事情需要愚蠢,奇怪的解决方案或者针对特定平台的黑客攻击Win32 API。

我们使用过Wx和Tk guis。

Frozen Bubble是一款众所周知且广泛可用的应用,您可以查看。

答案 2 :(得分:3)

查看PAR(可通过CPAN获取),了解您的捆绑要求。

考虑使用Padre查看使用perl编写的复杂应用程序示例Wx

是的。您的所有要求都是可以实现的,包括便携性。

答案 3 :(得分:0)

我正在使用CPAN上的XUL::Gui模块,它使用Firefox来显示来自Perl的跨平台gui应用。它正在开发中,但稳定,可能足以满足您的需求。您可以使用HTML和/或XUL(Firefox本身编写的Mozilla gui语言)构建您的gui,然后使用CSS设置所有内容的样式。如果您有任何功能请求,请与我们联系。