为什么说 Python 不适合做带 UI 的程序? kivy 不是很强大吗?

2020-08-31 10:14:51 +08:00
 sudoy

听到不少的评论说 python 不适合做带 UI 的程序,可我用了 kivy 之后觉得很强大,桌面的程序界面都能实现。网页程序就更不用说了,有强大的 django 框架,如果做前后端分离还有 django restful 或者 flask 。是不是说 python 不适合做带 UI 的程序的,都没好好用过这些 UI 库?

8625 次点击
所在节点    Python
46 条回复
SWALLOWW
2020-08-31 14:20:09 +08:00
做 wpf 的在此,有活吗
steptodream
2020-08-31 14:28:18 +08:00
@shintendo 你估计连人家说的啥都没读明白 就直接回复了
aydd2004
2020-08-31 14:46:41 +08:00
用 python 写 gui 就是找不自在

不管什么平台
u823tg
2020-08-31 14:57:34 +08:00
@sudoy #13 js 和 python 差不多啊。 别去理那些历史垃圾堆里面的东西从 es6 开始。
zkliangliang
2020-08-31 15:00:18 +08:00
kivy 是不错的, 开发起来挺顺畅的,额....,就是打包嘛...
-----"污中生友, 富婆无限"
SergeGao
2020-08-31 15:02:24 +08:00
django,flask 跟 UI 库有毛线关系...如果要跑在浏览器里的话你不用 html,js 用啥...
supercaizehua
2020-08-31 15:07:40 +08:00
haha 我也喜欢 python 干一切,但很多时候你还是迫不得已去学习新的语言
smallpython
2020-08-31 15:46:00 +08:00
python 适合写 GUI, 不过通常来说有平台专用的语言就没人选他了
Mithril
2020-08-31 15:50:34 +08:00
能做一件事和能做好是有本质上的区别的。。。
g00001
2020-08-31 16:09:17 +08:00
桌面软件 Windows 一家独大,
https://github.com/aardio/wubi-lex
https://github.com/iuuniang/win2ray-2
像这类桌面软件,分分钟出界面,生成的 EXE 几百 KB,不要任何运行库,Python 做不到,C#更不行,JS 同样搞不定。
iptables
2020-08-31 16:20:19 +08:00
PyQt5 是 GPL 的,PySide2 是 LGPL 的
CallMeReznov
2020-08-31 16:20:35 +08:00
@g00001 #30 aardio 是吊,不过这类东西感觉都是灰色时代常用反而现在正常开发都用不到的
jake361
2020-08-31 16:29:41 +08:00
@laike9m Django 又不是 ui 框架... 只是一个模板而已。。
tlday
2020-08-31 16:53:22 +08:00
看到标题的第一反应是 GIL 导致高刷新 UI 的掉帧卡顿。

想了想,应该还有不支持多线程与坑爹的异步 API,基本所有在做 UI 的东西都是支持多线程( UI 主线程)或者对于异步有第一优先级的支持的。这两点支持并不好的 python 应该只能靠其他语言的 adapter 来做 UI,肯定掣肘良多。

至于你说 django 和 flask 能做 UI,本质上做 UI 的是前端"御三家",前端中的 UI 主线程实际上是由 html/css 间接控制的浏览器渲染引擎,加一个用来支持"动态特性"的 js (独立线程)。django 和 flask 在 UI 里面扮演的角色无非一个“给数据”。没有“渲染引擎”的场合,都是需要自己控制 UI 主线程的,UI 主线程中一般也要求不能做重量级操作,不然也会导致 UI 卡顿甚至卡死。
shintendo
2020-08-31 17:18:08 +08:00
@steptodream
“网页程序就更不用说了,有强大的 django 框架,如果做前后端分离还有 django restful 或者 flask 。是不是说 python 不适合做带 UI 的程序的,都没好好用过这些 UI 库”
愿意听听你的理解
chengxiao
2020-08-31 18:02:38 +08:00
pyQt 写起来还是很舒服的,当然这依赖于 QT 的强大
chenqh
2020-08-31 18:13:17 +08:00
为什么你们写界面都那么厉害,而我只能对着 pyqt 无能狂怒?想写的东西写不出来? 难道都会 C++?
supermoonie
2020-08-31 18:40:39 +08:00
可以尝试通过 pycef 加载本地页面
secondwtq
2020-08-31 20:29:10 +08:00
这个问题吧,有点像在茅台论坛里面问”为什么肯德基不好吃?百事可乐喝起来不是挺爽的吗?“
我先把手头这个板烧鸡腿堡吃完再说 ...
darknoll
2020-09-01 10:17:52 +08:00
因为 mvvm 的框架写界面更好,winform 那种真的太落后了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/702731

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX