是否可以使用 Python 为 iOS 和 Android 编写跨平台应用程序
5 回答
一个选项是kivy:一个很酷的跨平台 Python 框架,适用于 Android、Win7、Linux、MacOSX 和 iOS。
更新:kivy 项目每天都在增长,现在还支持 Raspberry Pi
对于 Android,Google 提供了一种称为 ASE(Android 脚本环境)的东西,它允许脚本语言(包括 Python)在 Android 上运行。更多细节在这里
对于 iOS,它可能要复杂得多(我建议检查最新版本的 iOS SDK 协议以检查法律的当前状态 - 苹果倾向于定期允许和禁止此类应用程序)。对于技术部分,您可能需要在 Python 和 Objective C 之间进行接口,以及做一些魔法来静态链接 Python 所需的所有库;完整的详细信息可在此处获得。iOS Python 开发的另一种方法是将 Python 解释器嵌入到您的应用程序中并使用它分发您的 Python 脚本(以便与 Apple 规则很好地配合)。在这种情况下,您的 Python 应用程序将是一个 Python 解释器,它与您的脚本一起打包并自动运行。
第二种选择是使用 Kivy 框架(kivy.org)——它是一个用 Python 编写触摸友好型应用程序并将它们打包用于不同平台的框架。它支持 Android 有一段时间了,最近增加了 iOS 支持
您可以尝试结合brython和cordova。Brython wiki 描述了如何使用 Brython 编写 Android 应用程序,它可能提供必要的信息来使用 Cordova 执行此操作。我还没有对此进行测试,但听起来很有希望。然而,您应该知道,由于其性质,Brython 不能支持 x86 编译的软件包,例如 OpenCV(参见例如此处)。另一方面,如果您对 JavaScript/HTML5 有所了解,您可以使用 WebView 的原生函数,例如http://www.brython.info/gallery/three.html。
正如@piertoni 所提到的,BeeWare支持使用 Python 编写原生 iOS 和 Android 应用程序。