對於編寫(可能和部分)與平臺無關的桌面應用程序,Perl是一個很好的選擇嗎?我知道有一些有趣的小部件庫,如GTK2 Perl和wxWidgets,但我不熟悉Windows上的開發。Perl是編寫與平臺無關的桌面應用程序的好選擇嗎?
是否有可能用Perl和這些工具編寫一個好的應用程序,可能嵌入了所有需要避免要求用戶安裝外部(可能是非常規的許多)庫的應用程序?有這種應用程序的例子嗎?
對於編寫(可能和部分)與平臺無關的桌面應用程序,Perl是一個很好的選擇嗎?我知道有一些有趣的小部件庫,如GTK2 Perl和wxWidgets,但我不熟悉Windows上的開發。Perl是編寫與平臺無關的桌面應用程序的好選擇嗎?
是否有可能用Perl和這些工具編寫一個好的應用程序,可能嵌入了所有需要避免要求用戶安裝外部(可能是非常規的許多)庫的應用程序?有這種應用程序的例子嗎?
我的僱主使用ActiveState's PerlApp生成我們的應用程序的可執行版本,並取得了巨大成功。
在選擇我們的打包方法之前,我們測試了PAR和PerlApp。那時,PerlApp的加載速度更快。自那時以來,每種工具的幾個版本都已經出現,所以我建議在選擇工具之前先測試每種工具。
可執行包裝對我們來說非常有效。
Perl存在一些可移植性問題,但如果您注意perlport,則很容易避免大多數問題。我們最大的問題是Win32。有時候,一些簡單的事情將需要愚蠢,奇怪的解決方法或挖掘到Win32 API來進行平臺特定的破解。
我們使用了Wx和Tk guis。
Frozen Bubble是一個衆所周知的和廣泛可用的應用程序,你可以看看。
我還沒有發現Padre是可移植的,主要是因爲Wx在某些平臺上是如此的痛苦。當然,你可以最終讓它工作,但我不認爲它是真實世界的可移植性。可能與合理有點不同。 – 2010-01-20 15:50:57
是的,我在Mac上,但是我也無法讓Wx在Windows和Linux上工作。星星必須正確對齊才能解決所有問題。但是,當我試圖自己編譯東西的時候總是這樣。 Mac測試人員的問題可能是他們都不需要Padre。我對編輯完全滿意,就像我認識的大多數Mac人一樣。 – 2010-01-20 21:59:40
整理。您當然可以編寫提供可在任何平臺上工作的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構建跨平臺的二進制文件;我沒有嘗試過,但如果它按照廣告的方式工作,它似乎可以滿足您的要求。
我正在使用CPAN上的模塊XUL::Gui
,它使用Firefox來顯示來自Perl的跨平臺GUI應用程序。它正在開發中,但卻很穩定,可能已經足夠滿足您的需求。你可以用HTML和/或XUL(Mozilla gui語言,Firefox自己寫的)來構建你的gui,然後用CSS對所有東西進行樣式化。如果您有任何功能請求,請告知我。
桌面或Web應用程序?標題說一件事,身體說另一件事。 – 2010-01-20 14:51:22
對不起,標題跳動身體:我的意思是桌面 – 2010-01-20 15:38:39
你問,因爲Perl是你唯一知道的語言嗎?爲什麼語言必須是Perl?你還在考慮什麼? – 2010-01-20 16:07:20