是否可以使用 Python 为 iOS 和 Android 编写跨平台应用程序?

Posted

技术标签:

【中文标题】是否可以使用 Python 为 iOS 和 Android 编写跨平台应用程序?【英文标题】:Is it possible to use Python to write cross-platform apps for both iOS and Android? 【发布时间】:2012-05-26 17:03:27 【问题描述】:

是否可以使用 Python 为 iosandroid 编写跨平台应用程序

【问题讨论】:

duplicate? @keyser 我不相信该问题的选定答案,我认为可以使用它并确认我问了那个问题 这有什么改变吗? 在 2018 年使用 pyside、pyqtdeploy 是否可行? 【参考方案1】:

一个选项是kivy:一个很酷的跨平台 Python 框架,适用于 Android、Win7、Linux、MacOSX 和 iOS。

更新:kivy 项目每天都在增长,现在也支持 Raspberry Pi

【讨论】:

【参考方案2】:

对于 Android,Google 提供了一种称为 ASE(Android 脚本环境)的东西,它允许脚本语言(包括 Python)在 Android 上运行。更多详情here

对于 iOS,它可能要复杂得多(我建议检查最新版本的 iOS SDK 协议以检查当前的法律状态 - 苹果倾向于定期允许和禁止此类应用程序)。对于技术部分,您可能需要在 Python 和 Objective C 之间进行接口,以及做一些魔法来静态链接 Python 所需的所有库;完整的详细信息可在here 获得。 iOS Python 开发的另一种方法是将 Python 解释器嵌入到您的应用程序中并使用它分发您的 Python 脚本(以便与 Apple 规则很好地配合)。在这种情况下,您的 Python 应用程序将是一个 Python 解释器,它与您的脚本一起打包并自动运行。

第二种选择是使用 Kivy 框架(kivy.org)——它是一个用 Python 编写触摸友好型应用程序并将它们打包用于不同平台的框架。它支持 Android 有一段时间了,最​​近增加了 iOS 支持

【讨论】:

这也正是 Kivy (kivy.org) 的目标——它是一个用 Python 编写触摸友好型应用程序并将它们打包到不同平台的框架。它支持 Android 有一段时间了,最​​近又增加了 iOS 支持 Kivy 还不支持 Python 3.3+ 到 iOS。【参考方案3】:

要编写 GUI 应用程序,您可以使用 Toga 库,然后将其与 briefcase 一起打包到 Android 和/或 iOS 应用程序(或 Windows、Linux、macOS 等)中。

注意:该项目仍处于 alpha 状态,但正在快速开发中。

【讨论】:

【参考方案4】:

您可以尝试将brython 和cordova 结合使用。 Brython wiki 描述了how to write an Android app using Brython,它可能会提供必要的信息来使用 Cordova 执行此操作。我还没有对此进行测试,但听起来很有希望。但是您应该知道,由于其性质,Brython 不能支持 x86 编译的软件包,例如 OpenCV(参见例如 here)。另一方面,如果您对 javascript / html5 有所了解,则可以使用 WebView 原生函数,例如http://www.brython.info/gallery/three.html.

【讨论】:

【参考方案5】:

正如@piertoni 提到的,BeeWare 支持使用 Python 编写原生 iOS 和 Android 应用程序。

【讨论】:

以上是关于是否可以使用 Python 为 iOS 和 Android 编写跨平台应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

[Python]计算闰年时候出现的and和or优先级的问题以及短路逻辑

[Python]计算闰年时候出现的and和or优先级的问题以及短路逻辑

python链家网高并发异步爬虫and异步存入数据

每日道代码题001- PYTHON基础复习

是否有将 py 文件转换为 apk 的模块?

Python中使用逻辑与运算符“and”判断两个比较条件是否满足时编辑器提示“Simplify chained comparison ”的解决方法