Owear.

Build your desktop apps with your own tools — and with everything you want.

$ npm i -g @owear/cli

Available on Linux and Windows

Native for real

Your own kernel and the system WebView. No bundled Chromium.

Small binaries

The base kernel is around 2 MB. Less weight, faster startup.

TypeScript end to end

A typed SDK in the main process and in the renderer.

Installers and updates

Real installers and auto-update with delta, signing and rollback.

Native code when you need it

Add C++ modules to your app and call them from TypeScript.

Open source

Apache-2.0, developed in the open on GitHub.

From zero to app

Four commands, that's it.

ow create scaffolds a project with the UI ready, ow dev brings up the kernel + Vite with hot-reload, and ow build produces your binary, your installer or your update channel.

  • Hot-reload for the renderer and the main process
  • Native modules are discovered on startup
  • The renderer is standard web: use your own stack
bash — my-app
# create + run
$ ow create my-app
✓ project created in ./my-app

$ cd my-app && ow dev
  kernel   owear 0.1.4 (linux/x64)
  vite     ready in 320 ms
  window   http://localhost:5173

# package
$ ow build app
  release/my-app   1.9 MB
✓ done
Included

Desktop is hard. It's already done.

Owear takes care of the boring parts so you can focus on your app.

The system's own interface

Native windows, menus, tray, dialogs and notifications. Control the whole app lifecycle from the main process.

Automatic updates

Publish a signed channel and your app updates itself: it downloads only what changed and rolls back if something breaks.

Real installers

One installer binary with shortcuts, icon and its own uninstaller. No extra toolchains or dependencies.

Your native code, inside

When JavaScript isn't enough, add C++ to your app (.owm) and call it from the renderer like any other function.

No lock-in

Use the tools you already know.

The renderer is standard web: bring your own stack and build.

Vite React Vue Svelte Solid Astro Preact TypeScript Tailwind CSS esbuild
Why Owear

Versus shipping a browser.

Same web, a different strategy: use the system instead of bundling it whole.

OwearElectron
Base binary ~2 MB ~120 MB
WebView The system's Bundled Chromium
Native code .owm modules (C++) N-API addons
Installers Built into the CLI electron-builder
Updates Delta + signing + rollback electron-updater
Benchmarks

Medido, no prometido.

La misma app (mismo HTML/JS) sobre cada framework, en Linux con Xvfb y GPU software: warmup + 3 repeticiones intercaladas, arranque por marcador (5 ms) y memoria en PSS (proporcional, sin contar páginas compartidas varias veces).

70%
Score neto de Owear vs Electron

Media geométrica de 11 zonas. Base Electron = 100%; menos es mejor.

Owear Electron Tauri Neutralino
Arranque (ms)1,4381,0281,001958
RAM idle (MB, PSS)105248120129
RAM pico (MB, PSS)334408255308
Tamaño (MB)1.826211.63.0
IPC secuencial (ops/s)1,4963,1921,12723
IPC concurrente (ops/s)4,21110,4492,886876
Payload 1 MB (ms)2811.527111
Fichero 5 MB (MB/s)8311993116
Descarga 5 MB (ms)793068284
Eventos nat→render (ev/s)250,00034,9901,37110,438
JS loop 20M (ms)27322424
Arranque (ms)
RAM idle PSS (MB)
RAM pico PSS (MB)
Tamaño (MB)
IPC secuencial (ops/s)
Eventos nativo a renderer (ev/s)

Medianas de 3 corridas (más warmup). Electron embebe Chromium; Owear/Tauri/Neutralino usan la WebView del sistema. Neutralino mide su IPC vía extensión propia. Metodología y caveats: benchmarks/README.md.

Get started

Your first app in a minute.

01

Install the CLI

$ npm i -g @owear/cli
02

Create a project

$ ow create my-app
03

Develop

$ cd my-app && ow dev
04

Build

$ ow build app

Requires: Node ≥ 20 and, on Linux, the WebKitGTK toolchain (see the documentation).

Build native desktop.

Open source, Apache-2.0. Get started in a minute.