Skip to content
JDesk
Getting started

Introduction

What JDesk is, why it exists, and how it compares to Tauri and Electron.

JDesk builds cross-platform desktop apps from a Java 25 core and a web frontend, rendered in the operating system's own WebView — WebView2 on Windows, WKWebView on macOS, WebKitGTK on Linux. A small, native app with no bundled browser and no Rust.

The mental model#

A JDesk app has three parts:

  • A Java core — your commands, events, and application logic, on the JVM with virtual threads.
  • A web frontend — HTML/CSS/JS built with any stack (React, Vue, Svelte, or none), running in the system WebView.
  • A platform adapter — a per-OS module that creates the native window and WebView through Java's Foreign Function & Memory API.

The frontend calls Java by invoking commands; Java pushes data back by emitting events.

Why JDesk exists#

  • No bundled Chromium — use the WebView already on the machine, so apps stay small.
  • No Rust — small binaries come from a trimmed JVM runtime image via jlink.
  • No Node at runtime — the frontend is static files served over jdesk://app/.
  • Type-safe IPC — commands are discovered at compile time and generate a typed TypeScript client.
  • Secure by default — every command requires an explicit capability grant.