Perl是编写(可能和部分)平台独立桌面应用程序的好选择吗?我知道有一些有趣的小部件库,如GTK2 Perl和wxWidgets,但我不熟悉Windows上的开发。
是否可以使用Perl和那些工具编写一个好的应用程序,可能会嵌入所需的一切,以避免要求用户安装外部(可能非常规的许多)库?是否有这种应用程序的例子?
答案 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)
答案 3 :(得分:0)
我正在使用CPAN上的XUL::Gui
模块,它使用Firefox来显示来自Perl的跨平台gui应用。它正在开发中,但稳定,可能足以满足您的需求。您可以使用HTML和/或XUL(Firefox本身编写的Mozilla gui语言)构建您的gui,然后使用CSS设置所有内容的样式。如果您有任何功能请求,请与我们联系。