我知道我可以在Android上運行Perl Perl,但我正在尋找可以在Google Play上發佈的應用程序,供任何人下載和運行。 Perl仍然是一個可行的選擇?我可以在Perl中開發Android應用程序嗎?
回答
這谷歌項目包Perl腳本和Perl成爲一個獨立的APK,不需要任何進一步的下載,也可以上傳到谷歌播放:
http://code.google.com/p/perl-android-apk/
它提供了通過Android的SL4A API訪問 - 由作者之一看到如下頁面:
http://www.github.com/damonkohler/sl4a
所以,是的,Perl是一種可行的選擇,如果這是你一起工作的首選語言。
從技術上講,您可以發佈任何符合Google Play政策且以APK形式發佈的內容。但在perl的情況下,你必須將perl與你的應用捆綁在一起,或者期望用戶擁有它(幾乎沒有人),更不用說用戶界面了。我的回答是 - 這不是最好的想法,如果你能夠重新思考,你可能會想出一些需要較少麻煩的事情。
我強烈建議將Perl與SL4A一起用於原型應用程序。從那裏開始,將代碼重構爲Java並不算太多,因爲所有系統調用在兩個平臺上都是相同的。爪哇
知識是一個很好的新的字符串到你的弓,和基礎 - 主要是這一切是一類 - 可以在一個下午學習,可以在很大程度上在Perl
簡短的回答是被複制:無,您無法在已部署的原生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應用程序。
Google聲稱Perl支持「Android的Scripting Layer」(SL4A)。
在這裏看到:http://code.google.com/p/android-scripting/
和Perl的APK:http://code.google.com/p/android-scripting/downloads/detail?name=perl_for_android_r1.apk
我知道我可以在Android上運行Perl。但我期待開發一款可以整齊捆綁在Google Play APK上的應用程序。 – Andreas
- 1. 我可以在Sony Xperia Play上開發Android應用程序嗎?
- 2. 我可以使用cakePHP開發Android,Iphone,Windows應用程序嗎?
- 3. Android - Android 1.6中開發的應用程序可以在Android 2.0中運行嗎?
- 4. 我可以在Android上打開一個應用程序嗎?
- 5. 可以使用gwt開發android應用程序嗎?
- 6. 可以使用Netbeans開發Android 3.x應用程序嗎?
- 7. 我可以在Android上開發Android應用嗎?
- 8. 我可以使用Guzzle自行開發應用程序嗎?
- 9. 我可以使用C#開發DirectX應用程序嗎?
- 10. 我可以使用java開發iPhone應用程序嗎?
- 11. Xamarin - 我可以在Windows 7和Visual Studio 2013上開發Android應用程序嗎?
- 12. 我可以在Android 1.5中運行Android 2.0應用程序嗎?
- 13. Android開發應用程序在應用程序中不可見
- 14. php5:我們可以開發桌面應用程序嗎
- 15. 我可以先開發mac/iphone/ipad應用程序嗎?
- 16. 我可以爲IIS和Azure開發應用程序嗎?
- 17. 我可以使用CLI爲Android應用程序開發
- 18. 我可以在通用Android應用程序中使用WearableListView嗎?
- 19. 在hackintosh上開發iOS應用程序 - 我可以在Apple的應用程序商店中發佈嗎?
- 20. 我可以使用Intellij J IDEA進行android應用程序開發嗎?
- 21. 我可以使用任何Android手機進行應用程序開發嗎?
- 22. 我們可以使用Android YouTube API來開發Google TV應用程序嗎?
- 23. 我可以使用Eclipse IDE for Java EE開發android應用程序嗎?
- 24. 我有可能在WindowsOS(Win7)中開發iphone應用程序嗎?
- 25. 我可以在Android應用程序中使用FFmpeg的庫嗎?
- 26. 我可以在Android應用程序中使用WebSocket連接嗎?
- 27. 我可以在android應用程序中使用dll文件嗎?
- 28. 我可以在Android應用程序中使用Net Dll嗎?
- 29. 我們可以在android應用程序中使用UIAutomator嗎?
- 30. 我可以使用Xamarin在c#中開發Windows和Mac應用程序嗎?
我想使用Perl的原因既是巨大的CPAN,也是我對它更有信心。使用Java而不是Perl編寫應用程序(如果可用Perl的話)需要花費更多的時間,特別是如果我想要相同的代碼質量。現在,如果只有一種方法可以將SL4A和我的腳本捆綁到APK中... – Andreas
@Andreas代碼質量 - 這是一個很好的理由。但不要忘記應用程序的整體質量。 –
@Andreas,那裏有不少Java庫,但沒有CPAN發現它們有點困難,並且將庫存入您的APK文件中肯定會使您的應用程序膨脹。 (沒有免費的午餐和所有的......)我建議尋找Java的Maven項目,它爲各種目的提供了大量用於Java的OSS庫。我仍然喜歡在Android上使用CPAN。 – zostay