Desktop App Arch: FastAPI + Web + pywebview
A creative architecture for building desktop applications with shorter delivery time for a certain class of desktop tools.
Recently got a new way to build desktop applications. This is not a typical Qt desktop application. The core idea is:
- BE: local
FastAPIbackend service - FE: Web pages with HTML, CSS, and JavaScript
- Shell: open it inside
pywebviewto make it a desktop app.
The interesting part is that this is still a real installable desktop application, not “just a website in a browser”. In practice, the release pipeline can use:
GitHub Actionsbuilds the app.PyInstallerproduces the executable.Inno Setupcreates the corresponding installer.