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

And*_*eas 28 perl android google-play

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

小智 26

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

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

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

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

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


Bor*_*din 9

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

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

  • 我想使用Perl的原因是巨大的CPAN,而且我对它更有信心.用Java编写应用程序而不是Perl(如果Perl可用)将花费更多的时间,特别是如果我想要相同的代码质量.现在,如果只有一种方法将SL4A和我的脚本捆绑到APK中... (5认同)

Mar*_*ski 8

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


zos*_*tay 8

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

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

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

其他选择包括:

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

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

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

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

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