2010-01-20 28 views
5

對於編寫(可能和部分)與平臺無關的桌面應用程序,Perl是一個很好的選擇嗎?我知道有一些有趣的小部件庫,如GTK2 PerlwxWidgets,但我不熟悉Windows上的開發。Perl是編寫與平臺無關的桌面應用程序的好選擇嗎?

是否有可能用Perl和這些工具編寫一個好的應用程序,可能嵌入了所有需要避免要求用戶安裝外部(可能是非常規的許多)庫的應用程序?有這種應用程序的例子嗎?

+4

桌面或Web應用程序?標題說一件事,身體說另一件事。 – 2010-01-20 14:51:22

+0

對不起,標題跳動身體:我的意思是桌面 – 2010-01-20 15:38:39

+0

你問,因爲Perl是你唯一知道的語言嗎?爲什麼語言必須是Perl?你還在考慮什麼? – 2010-01-20 16:07:20

回答

4

我的僱主使用ActiveState's PerlApp生成我們的應用程序的可執行版本,並取得了巨大成功。

在選擇我們的打包方法之前,我們測試了PAR和PerlApp。那時,PerlApp的加載速度更快。自那時以來,每種工具的幾個版本都已經出現,所以我建議在選擇工具之前先測試每種工具。

可執行包裝對我們來說非常有效。

Perl存在一些可移植性問題,但如果您注意perlport,則很容易避免大多數問題。我們最大的問題是Win32。有時候,一些簡單的事情將需要愚蠢,奇怪的解決方法或挖掘到Win32 API來進行平臺特定的破解。

我們使用了Wx和Tk guis。

Frozen Bubble是一個衆所周知的和廣泛可用的應用程序,你可以看看。

3

檢查出PAR(可通過CPAN獲取)關於您的捆綁要求。

考慮使用Wx來查看以Perl編寫的複雜應用程序的示例Padre

所以是的。您的所有要求都是可以實現的,包括便攜性。

+1

我還沒有發現Padre是可移植的,主要是因爲Wx在某些平臺上是如此的痛苦。當然,你可以最終讓它工作,但我不認爲它是真實世界的可移植性。可能與合理有點不同。 – 2010-01-20 15:50:57

+0

是的,我在Mac上,但是我也無法讓Wx在Windows和Linux上工作。星星必須正確對齊才能解決所有問題。但是,當我試圖自己編譯東西的時候總是這樣。 Mac測試人員的問題可能是他們都不需要Padre。我對編輯完全滿意,就像我認識的大多數Mac人一樣。 – 2010-01-20 21:59:40

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構建跨平臺的二進制文件;我沒有嘗試過,但如果它按照廣告的方式工作,它似乎可以滿足您的要求。

0

我正在使用CPAN上的模塊XUL::Gui,它使用Firefox來顯示來自Perl的跨平臺GUI應用程序。它正在開發中,但卻很穩定,可能已經足夠滿足您的需求。你可以用HTML和/或XUL(Mozilla gui語言,Firefox自己寫的)來構建你的gui,然後用CSS對所有東西進行樣式化。如果您有任何功能請求,請告知我。

相關問題