我可以在Perl中开发Android应用程序吗?

我知道我可以在Android上运行 Perl,但我希望编写一个可以在Google Play上发布的应用程序,供任何人下载和运行。 Perl仍然是一个可行的选择吗?

此Google项目将Perl脚本和Perl打包成一个独立的APK,无需任何进一步下载,可以上传到Google Play:

http://code.google.com/p/perl-android-apk/

它通过SL4A提供Android API访问 – 其中一位作者参见以下页面:

http://www.github.com/damonkohler/sl4a

所以是的,Perl是一个可行的选择,如果它是你的首选语言。

我强烈推荐Perl for Android和SL4A用于原型设计应用程序。 从那里开始,将代码重构为Java并没有太大的飞跃,因为所有系统调用在两个平台上都是相同的。

Java的知识是一个很好的新的字符串,基本的 – 主要是一切都是一个类 – 可以在下午学习,并可以在Perl中大量复制

从技术上讲,您可以发布符合Google Play政策的任何内容,并以APK格式发布。 但是对于perl,你要么必须将perl与你的应用程序捆绑在一起,要么期望用户拥有它(几乎没有人),更不用说UI了。 我的回答是 – 这不是最好的主意,如果你能重新考虑它,你可能会想出一些需要减少麻烦的东西。

简短的回答是:不,您不能在已部署的原生Android应用中使用Perl。 没有实际的方法可以做到这一点。 有办法做到这一点,但没有一个是可行的。

正如其他人所指出的,有一些像SL4A这样的东西可以使原型设计成为可能,你甚至可以在你的手机上运行一个真正的应用程序,但是将它部署到广泛的手机将是有问题的。

对于95%的应用程序,某种Java应用程序是最佳选择。 但是,本机Java应用程序并不是您可以使用的唯一选择。

其他选择包括:

  • 您可以开发一个主要在服务器端驱动的应用程序,它运行Perl。 这可以通过某种套接字连接,REST API或基于Web的移动应用程序包装在安装到客户端的瘦Java应用程序中。 但是,您的应用程序仅在手机或平板电脑具有有效数据连接时才能使用。 有很多应用程序(包括我自己的)以这种方式工作。

  • 你可以试试PhoneGap ,它使用HTML5和JavaScript(如果你想扩展它以实现PhoneGap在Android上不支持的东西)。 该框架还具有以下优势:可以轻松地在iPhone和其他智能手机上运行您的应用程序。 如果这是一个问题,它也有它自己的支持基础和社区分开Android和谷歌。

  • 您还可以尝试Scala ,它是一种function语言(即,比Java更多的Perlish),它构建到JVM并且有一些工具来帮助构建Android项目。 这不是那么成熟,不受谷歌支持,而且难以启动,但对于那些被Java冒犯的人来说却不是Java。

最终,有人可能会将应用程序部署到Perl,我很乐意看到这种情况发生。 不过,我不愿意带头开展那个项目。

2014年1月更新:遗憾的是,尽管其他人已经说过,我2012年8月的原始答案仍然适用。 SL4A + perl安装解决方案更接近,但SL4A不允许您实际构建原生Android应用程序。 它基本上使您能够构建本地托管的Web应用程序,该应用程序可以访问某些手机的本机function。 这可能满足一些应用程序开发人员的需求,但肯定不是。 我仍然不知道一个允许你在Perl中构建原生Android应用程序的项目。

谷歌声称Perl受“Android脚本编写层”(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