page contents

这个Python库让你用浏览器做GUI,体积小到离谱!

说实话,我一开始看到这个项目的时候,也是半信半疑。用网页做桌面应用?那不还得打包个Chromium进去,随便一个Hello World就上百兆?但等我仔细扒了扒这个叫 Python-WebUI 的东西,才发现自己完全想岔了。

attachments-2026-05-19CCSt8f6a18ef77ee844.png

说实话,我一开始看到这个项目的时候,也是半信半疑。用网页做桌面应用?那不还得打包个Chromium进去,随便一个Hello World就上百兆?但等我仔细扒了扒这个叫 Python-WebUI 的东西,才发现自己完全想岔了。

它到底是啥?

简单说,这就是一个让你用 Python 写后端、HTML/CSS/JS 写前端,然后拿你电脑上已经装好的浏览器来当界面展示的工具。你不需要嵌入任何浏览器内核,不需要打包一堆运行时,甚至不需要学那些老掉牙的GUI框架。

你写个show()方法,它就能弹出一个Chrome或者Firefox窗口,里面跑着你写的网页。而Python这边呢,负责处理逻辑、调用系统API、跟硬件打交道——各司其职,贼清爽。

以前为啥这么折腾?

我记得第一次用PyQt做小工具,光是打包出来的exe就快70MB,还时不时报dll缺失。后来换Electron?好嘛,一个空白项目直接奔着150MB去了,内存占用更是感人。

其实你想啊,现代浏览器本身就已经是一个极其完善的渲染引擎了。CSS动画、WebGL、调试工具、响应式布局……这些现成的强大功能,我们为啥要重新造轮子?传统GUI框架还在纠结按钮圆角要不要自己画,Web这边早就玩出花了。

它是怎么做到的?

WebUI的思路特别“偷懒”——它不是在程序里内嵌一个浏览器控件,而是通过本地通信协议,让Python程序去启动一个真实的浏览器进程(可以是用隐私模式的临时配置),然后两者之间通过一个极快的二进制协议传数据。

你点一下网页上的按钮,JS把消息发给本地的一个小服务器,Python收到后处理完再返回结果。整个过程轻飘飘的,不像WebView那样还得装整套SDK。

没错,Python-WebUI这个库本身只有几百KB。它就是一个轻薄的桥梁,桥的两头分别是你的Python代码和用户电脑里随便哪个浏览器。

支持的浏览器?多到你用不过来

Chrome、Edge、Firefox、Brave、Vivaldi、Chromium、Yandex……甚至Opera也在路上。连苹果的Safari都快要支持了。基本上你能想到的主流浏览器,它都照顾到了。

上手到底有多简单?

你装一下:pip install webui2

然后写几行:

from webui import webui

my_window = webui.Window()
my_window.show('<html><script src="webui.js"></script> <h1>你好,世界!</h1> </html>')
webui.wait()

就能看到一个浏览器窗口弹出来,显示"你好,世界!"。当然你也可以把本地写好的复杂前端丢进去,或者用Vue、React构建的单页应用——全都没问题。

说点实在的

这玩意儿不是要取代所有桌面开发。如果你做的是那种对离线能力要求极高、或者需要深度集成操作系统特性的工具,可能还是原生更稳。但对于绝大多数内部工具、小型桌面应用、数据可视化面板、物联网控制台来说,它真的太适合了。

你想啊,用Python写逻辑(各种库随便调),用HTML写界面(随便找个模板改吧改吧),然后一分发——用户那边只要有个浏览器就能跑。不用装运行时,不用操心依赖冲突,也不用被Electron的磁盘占用吓得劝退。

个人觉得,这才是未来轻量级桌面应用该有的样子。别总想着搬砖头盖楼,有时候有现成的墙,你开个门就行。

项目地址:https://github.com/webui-dev/python-webui

PS:这项目还支持Go、Nim、Pascal、TypeScript等语言,不限于Python。有兴趣自己去翻翻他们的GitHub吧。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

 


你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

2083 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 2228 文章
  3. Pack 2083 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章