Lorca is a compact Go library for building cross-platform desktop applications with HTML, CSS, and JavaScript interfaces. Instead of bundling a browser engine, it connects to an installed Chrome or Chromium instance through its debugging protocol. Go functions can be exposed to JavaScript, while Go code can evaluate scripts and control the web interface. Communication works asynchronously through promises and goroutines, allowing long-running backend tasks without blocking the UI. Applications can load content from a local server or a data URL and may open multiple windows. Lorca is written in pure Go without cgo and typically produces small application packages. It also supports headless testing, cross-platform packaging, custom branding, and native integrations through external libraries.
Features
- Pure Go implementation without cgo
- HTML, CSS, and JavaScript interfaces
- Bidirectional Go and JavaScript communication
- Promise and goroutine-based asynchronous operations
- Multiple windows and headless testing
- Cross-platform packaging and custom branding