Python中开发跨平台App用什么框架比较好?

想用 python 开发 ios 和安卓 app,网上查到的有 kivy 和 BeeWare,这两个有什么优劣?或者还有其他的推荐吗?


Python中开发跨平台App用什么框架比较好?
8 回复

还是放弃这个想法吧


对于开发跨平台App,Python这边有几个主流选择,各有侧重。

1. Kivy 如果你的App需要复杂的自定义UI、多点触控或者图形渲染(比如游戏或绘图应用),Kivy是首选。它用OpenGL ES 2.0渲染,UI和逻辑用Python写,能打包到iOS、Android、Windows、macOS和Linux。代码风格比较独特,用KV语言描述界面。它适合对原生控件外观要求不高、追求灵活绘制的项目。

2. BeeWare 如果你想用纯Python写真正原生的体验,可以看看BeeWare。它的Toga工具包会调用各平台的原生UI控件,所以App在iOS上像iOS应用,在Android上像Android应用。它追求的是“一次编写,原生部署”。不过生态和成熟度相对Kivy弱一些,适合对原生外观有严格要求的应用。

3. 其他方案

  • Flutter + flet:如果你不排斥底层是Flutter(Dart),但想用Python写逻辑,flet框架是个新选择。它让你用Python控制Flutter的UI组件,性能好,UI现代。
  • Web技术套壳:用PyQt/PySide做桌面端很强,但移动端支持有限。如果想用Web技术(HTML/CSS/JS),可以用Briefcase(BeeWare的一部分)或Kivy的Web后端来打包,但这更像混合应用。

简单说:要灵活图形选Kivy,要原生外观试BeeWare,想用现代UI看flet。

因为框架都还不成熟吗?会出很多没法解决的问题?

拧螺帽用扳手,钉钉子用锤子。

pyqtdeploy …

https://kivy.org/
这个是 Python 开发移动端 app 的框架;

官网介绍如下:
Kivy - Open source Python library for rapid development of applications
that make use of innovative user interfaces, such as multi-touch apps.

Kivy runs on Linux, Windows, OS X, Android, iOS, and Raspberry Pi. You can run the same code on all supported platforms.

推荐你学一下 flutter 很好学

用过 kivy,根本无法用的级别,不可能用在实际产品上,如果只是 pc 版还可以考虑 PYQT。
移动端建议放弃,python 开发跨平台应用几乎是不可能的事,没一个成熟的方案。
如果有 web 开发基础,可以考虑 cordova,如果没有,直接学 flutter

回到顶部