我知道我可以在Android上运行Perl,但我想写一个可以在Google Play上发布供任何人下载和运行的应用程序。Perl仍然是一个可行的选择吗?
我知道我可以在Android上运行Perl,但我想写一个可以在Google Play上发布供任何人下载和运行的应用程序。Perl仍然是一个可行的选择吗?
http://code.google.com/p/perl-android-apk/
它通过SL4A提供Android API访问 - 请参阅其中一位作者的以下页面:
http://www.github.com/damonkohler/sl4a
所以,如果Perl是您喜欢使用的语言,它是一个可行的选择。
从技术角度来看,只要符合Google Play政策并以APK形式分发,您就可以发布任何内容。但是对于Perl而言,您要么需要将其与应用程序捆绑在一起,要么期望用户拥有它(几乎没有人),更不用说用户界面了。我的回答是 - 这不是最好的想法,如果您能重新考虑,可能会想出需要更少麻烦的解决方案。
您可以开发一个主要由服务器端驱动的应用程序,该应用程序运行Perl。这可以通过某种类型的套接字连接、REST API或包装在薄Java应用程序中的基于Web的移动应用程序来实现,但是您的应用程序只能在手机或平板电脑有工作数据连接时才能工作。有许多应用程序(包括我的)都是以这种方式工作的。
您可以尝试使用PhoneGap,它使用HTML5和JavaScript(如果您想将其扩展到Android上PhoneGap不支持的功能,则还可以使用Java)。这个框架还有一个优点,就是可以非常轻松地在iPhone和其他智能手机上运行您的应用程序。这也有自己的支持基础和社区,与Android和Google分开,如果这是一个问题的话。
您还可以尝试Scala,这是一种函数式语言(即比Java更像Perl),构建到JVM并具有一些工具来帮助构建Android项目。这不太成熟,不受Google支持,起步较难,但对那些反感Java的人来说不是Java。
最终,应该有人能够将应用程序部署到Perl上,我希望看到这种情况发生。然而,我不愿意领导那个项目。
2014年1月更新:遗憾的是,尽管其他人说过什么,但我的原始答案(来自2012年8月)仍然适用。SL4A + perl已经接近解决方案,但SL4A不允许您实际构建本地Android应用程序。它基本上为您提供了构建本地托管Web应用程序并访问一些手机本机功能的能力。这可能满足某些需求,但肯定不是所有应用程序开发者的需求。我仍然不知道有哪个项目能让您在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