2012-08-31 106 views

回答

8

從技術上講,您可以發佈任何符合Google Play政策且以APK形式發佈的內容。但在perl的情況下,你必須將perl與你的應用捆綁在一起,或者期望用戶擁有它(幾乎沒有人),更不用說用戶界面了。我的回答是 - 這不是最好的想法,如果你能夠重新思考,你可能會想出一些需要較少麻煩的事情。

9

我強烈建議將Perl與SL4A一起用於原型應用程序。從那裏開始,將代碼重構爲Java並不算太多,因爲所有系統調用在兩個平臺上都是相同的。爪哇

知識是一個很好的新的字符串到你的弓,和基礎 - 主要是這一切是一類 - 可以在一個下午學習,可以在很大程度上在Perl

+5

我想使用Perl的原因既是巨大的CPAN,也是我對它更有信心。使用Java而不是Perl編寫應用程序(如果可用Perl的話)需要花費更多的時間,特別是如果我想要相同的代碼質量。現在,如果只有一種方法可以將SL4A和我的腳本捆綁到APK中... – Andreas

+0

@Andreas代碼質量 - 這是一個很好的理由。但不要忘記應用程序的整體質量。 –

+0

@Andreas,那裏有不少Java庫,但沒有CPAN發現它們有點困難,並且將庫存入您的APK文件中肯定會使您的應用程序膨脹。 (沒有免費的午餐和所有的......)我建議尋找Java的Maven項目,它爲各種目的提供了大量用於Java的OSS庫。我仍然喜歡在Android上使用CPAN。 – zostay

8

簡短的回答是被複制:無,您無法在已部署的原生Android應用程序中使用Perl。沒有切實可行的方法來做到這一點。有幾種方法可以做到,但沒有一種是可行的。

正如其他人指出的那樣,有些東西如SL4A等可以使原型開發成爲可能,甚至可以在手機上運行真正的應用程序,但將其部署到廣泛的手機中將會產生問題。

對於95%的應用程序,某種Java應用程序是最佳選擇。然而,本地Java應用程序並非您可用的唯一選擇。

其他選項包括:

  • 您可以開發是在服務器端,這是運行Perl的主要驅動的應用程序。這可以通過某種套接字連接,REST API或包裝在安裝到客戶端的瘦Java應用程序中的基於Web的移動應用程序來實現。但是,您的應用程序只能在手機或平板電腦有工作數據連接時才能使用。有很多應用程序(包括我自己的)以這種方式工作。

  • 您可以試用PhoneGap,它使用HTML5和JavaScript(如果您想擴展它以執行PhoneGap在Android上不支持的操作)。這個框架的優點是可以很輕鬆地在iPhone和其他智能手機上運行您的應用程序。如果這是一個問題,這也有它自己的支持基地和社區與Android和谷歌分開。

  • 您也可以嘗試Scala,它是構建到JVM的函數式語言(即Perlish比Java更多),並具有some tools以幫助構建Android項目。這不是成熟的,不受谷歌支持,而且更難開始,但對於那些被Java冒犯的人來說,卻不是Java。

最終,應該有人可以將應用程序部署到Perl,我很樂意看到這種情況發生。不過,我不願意帶頭那個項目。

2014年1月更新:不幸的是,我最初的答案從2012年8月開始仍然適用,儘管其他人說過。SL4A + perl安裝的解決方案更接近,但SL4A不允許您實際構建原生Android應用程序。它基本上使您能夠構建可訪問手機某些本機功能的本地託管的Web應用程序。這可能滿足一些應用程序開發人員的需求,但肯定不是所有的應用程序開發人員。我還不知道哪個項目可以讓你在Perl中構建一個原生的Android應用程序。

相關問題