加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 应用 > 正文

pywebview:使用python构建桌面客户端应用

发布时间:2023-02-17 14:01:27 所属栏目:应用 来源:
导读:  前言

  我编写了一些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。
 

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!