Glide / docs
Build desktop apps with Go and your frontend.
01
Overview
Glide combines a Go backend with a web-based frontend so you can build native desktop apps using your preferred JS framework.
02
Requirements
- Go 1.21+
- Node.js 14+
- Air (Go hot-reload)
- One package manager: npm, yarn, pnpm, bun, or deno
03
Installation
TipOn Linux, add $(go env GOPATH)/bin to your PATH to use glide globally.
Go install
bashgo install github.com/JasnRathore/glide@latest
Ensure your Go bin directory is on PATH so the glide command is available.
powershellglide --help
Download Release Setup
Download the latest release Setup
Download latest releaseFile: GlideSetup.exe
- Run the installer and follow the prompts
Run the binary
powershellglide --help
Download binary
Download the latest release asset and add it to your PATH.
Download latest releaseFile: glide.exe
- Add the exe to your PATH
Run the binary
powershellglide --help
Build from source
bashgit clone https://github.com/JasnRathore/glide cd glide
bashgo build -o glide
04
Create a Project
bashglide init
The initializer scaffolds a Vite frontend, sets up the Go backend, and configures hot reload.
05
Development Workflow
bashglide dev
- Starts the frontend dev server.
- Runs the Go backend with hot reload via Air.
- Connects the frontend and backend bridge.
06
Go ↔ JS Bridge
javascriptimport { callWindowFunction } from './glide/glide.js' const greeting = callWindowFunction('Greet', 'World') console.log(greeting)
gofunc Greet(name string) string { return fmt.Sprintf("Hello, %s", name) } func App() *glide.App { funcs := []interface{}{Greet} app.InvokeHandler(funcs) return app }
07
Build
bashglide build
The compiled binary lands in src-glide/target and includes your frontend assets.
08
Project Structure
textyour-project/ ├── src/ # Frontend (Vite) │ └── glide/ # Glide JS/TS utilities ├── src-glide/ # Go backend │ ├── app/ │ ├── main.go │ ├── build.go │ └── .air.toml └── glide.config.json