pywebview:使用python构建桌面客户端应用
发布时间:2023-02-17 14:01:27 所属栏目:应用 来源:
导读: 前言
我编写了一些python程序,但我并不满足与只用命令行运行,我希望能构建一个具有界面的桌面客户端应用,来运行我python程序的各种功能。
作为一个前端工程师,我最熟悉的当然就是Electron,
我编写了一些python程序,但我并不满足与只用命令行运行,我希望能构建一个具有界面的桌面客户端应用,来运行我python程序的各种功能。
作为一个前端工程师,我最熟悉的当然就是Electron,
前言 我编写了一些python程序,但我并不满足与只用命令行运行,我希望能构建一个具有界面的桌面客户端应用,来运行我python程序的各种功能。 作为一个前端工程师,我最熟悉的当然就是Electron,这是构建桌面应用最强大的利器。但Electron与python语言平台基本毫无关系,而且也比较重,Electron内置了V8引擎和Chrome内核,如果我只专注于编写python程序,这些也用不太上。 所以,再三考虑之后,我转战了pywebview。 pywebview 官方文档: 这是一个可以使用前端技术编写GUI的python开源框架,它核心解决了两个问题: 提供跨平台的webview展示能力,这就可以轻松在程序中展示前端网页程序。可以集成python的HTTP server,比如Flask。 以上两项能力,就将一个客户端的开发逻辑,转为了我们最熟悉的Web前后端分离开发逻辑。整个框架的API不多,属于轻量化的,只是搭建了一个桥梁,具体功能,用户可以以普通的Web开发方式实现。 实战思路 由于代码较多,我就不展示了,具体参考官方文档吧,这里总结下思路。 服务端 我们可以创建一个Flask服务器,即做接口服务,有又作为前端静态文件的转发服务。至于前端代码的构建。 前端 用前端的工具链构建就可以,比如React+Webpack。 打包与构建 程序成功运行之后,还需要考虑打包的成可执行文件的问题。这里用到了pyinstaller和NSIS,pyinstaller负责打包成exe,NSIS负责构建安装包。这个过程比较难,尝试了很久,如果通关了,就可以把程序做成windows安装包了。 兼容性 构建完成后,去win7系统上运行,遇到了兼容性的问题。 python版本需要降到3.8应用程序编写,pyinstaller打包完的程序才能执行。前端页面需要兼容IE 11,win7系统的webview引擎默认是IE 11。 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐