# 应用程序架构

有两种方法可以使用 pywebview:

  • 通过使用JS API桥,并通过内置的HTTP服务器提供静态内容。JS API桥接可以通过create_window(..., js_api=Api())或者 window.expose 函数导出。 要提供静态内容,请将入口点url设置为本地相对路径。这将自动启动内置的HTTP服务器。有关Python和Javascript之间的通信,请参阅 interdomain communication。参考这个例子 serverless application (opens new window) 获取完整的实现方式

您还可以使用webview.create_window(...html='') 或者 window.load_html直接加载HTML,而无需HTTP服务器。不过,这种方法也有局限性,因为加载页面的上下文中不存在文件系统。图像和其他资源只能使用Base64内联加载。

  • 通过运行单独的本地web服务器。这样,静态资产和REST端点就可以从同一服务器上提供服务。使用本地web服务器时,应保护API调用免受CSRF攻击。请参阅 安全了解详情。 查阅例子 Flask-based application (opens new window)