是否可以使用 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 为 ios 和 android 编写跨平台应用程序
【问题讨论】:
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”判断两个比较条件是否满足时编辑器提示“Simplify chained comparison ”的解决方法