文档
文档
应用程序架构
使用 IDEPY Next 构建应用程序有多种方式:
工程化模式(推荐)
使用cli工具,创建相关的模板,并使用URL的模式引入窗口。
如主窗口引入,只需要设置URL为/windows/main/index.html
即可。
该模式下,可以最大程度发挥IDEPY Next框架功能。
纯浏览器模式
- 最简单的方式是将其指向一个 URL。这需要运行一个远程或本地的 web 服务器。
webview.create_window('Simple browser', 'https://idepy.com')
webview.start()
如果你指向本地 web 服务器,你可以手动启动一个背景线程并提供 WSGIRef 服务器实例给 URL 参数。
server = Flask(__name__, static_folder='.', template_folder='.')
webview.create_window('My first idepy-next application', server)
webview.start()
查看基于 Flask 的应用程序完整示例 Flask-based application
在使用本地 web 服务器时,应保护 API 调用免受 CSRF 攻击。参阅 安全 详细了解。
尽管 file://
协议是可能的,但其使用不鼓励,因为有多种继承限制且不支持良好。
JS API 加内部 HTTP 服务器
另一种方式是使用 JS API 桥,并通过内置 HTTP 服务器提供静止内容。JS API 桥允许在 Python 和 JavaScript 域之间无需 web 服务器进行通信。 bridge 可以通过 create_window(..., js_api=Api())
或或 window.expose
函数创建。为了提供静态内容,将入口点 URL 设置为一个本地相对路径。这会自动启动内置的 HTTP 服务器。有关在 Python 和 JavaScript 之间通信的更多细节,请参阅 域间通信。请查看 无服务器应用 以获取完整实现示例。
无需服务器
- 最终,您可以完全不使用 web 服务器通过加载 HTML 使用
webview.create_window(...html='')
或或window.load_html
。此方法有其局限性,因为加载的页面没有文件系统上下文。只能在内联加载图像和其他资产(仅限于 Base64)。
目录