有两种使用 pywebview
构建应用程序的方法:
- 通过运行本地Web服务器
- 无服务器(Serverless),带有
pywebview
的 JS API 或window.expose
并提供本地文件。
本地Web服务器
运行本地Web服务器是构建本地应用程序的传统方法。这样,所有内容都从本地Web服务器提供,并且 pywebview
指向服务器提供的 URL。在此模型中,服务器负责提供静态内容和处理API调用。使用Web服务器构建应用程序时,应保护 API 调用免受 CSRF 攻击。有关更多信息,请参见 security。
可以看一个例子:Flask-based application
优点:
- 能够将现有的Web应用程序打包为本地应用程序。
- 使用外部浏览器更容易调试。
缺点
- 必须依靠第三方服务器软件进行客户端-服务器通信。
- 必须考虑安全因素
Serverless
构建应用程序的另一种方法是使用 pywebview
提供的 JS API 或 windows.expose
并在本地提供静态文件。
pywebview
提供了一个简单的内置Web服务器,足以用于提供本地文件。要使用本地Web服务器,请将 url
设置为本地文件,然后使用 webview.start(http_server=True)
启动应用程序。请注意,内置的 HTTP 服务器仅提供本地文件,不提供任何 API 调用。有关如何在 Python 和 Javascript 之间传递数据的详细信息,请参阅 interdomain communication。
可以参考一个例子:serverless application
优点:
- 没有外部依赖
- 更直接的架构
- 没有CSRF攻击的风险
缺点:
- 必须使用提供的调试工具在应用程序内部进行调试
-
EdgeHTML
无法提供本地文件。
网友评论