Skip to content

ziews/ziew

Repository files navigation

Ziew

Ziew

Desktop apps in kilobytes, not megabytes.

Native performance. Native size.
Desktop apps, minus the bloat.

license binary size built with Zig platforms

WebsiteDocsPluginsInstallation


Early Alpha — APIs will change. Not production-ready.

The Post-Electron Era

Framework Hello World Size
Electron ~150 MB
Tauri ~3-5 MB
Ziew 220 KB

That's 680x smaller than Electron.

Why Ziew

  • Tiny binaries — 220KB hello world, real apps under 2MB
  • Native webviews — Uses system WebView (WebKit, Edge WebView2)
  • No bundled browser — Unlike Electron's 150MB Chromium
  • Plugin system — SQLite, notifications, hotkeys, gamepad, AI, and more
  • Local AI — Optional llama.cpp + Piper TTS
  • Cross-compilationziew ship --target=windows builds for any platform
  • Simple toolchain — Zig is ~40MB, not hundreds

How It Works

Use built-in JavaScript APIs — no backend code needed.

// File system
const files = await ziew.fs.readDir('./docs');
const data = await ziew.fs.readFile('./config.json');

// Native dialogs
const path = await ziew.dialog.open({ filters: ['*.txt'] });

// System notifications (with notify plugin)
await ziew.notify.send('Done!', 'Your export is ready.');

// Local AI (with ai plugin)
for await (const token of ziew.ai.stream(prompt)) {
  output.textContent += token;
}

Plugins

Enable native capabilities via ziew.zon config. Only enabled plugins add to binary size.

# Add plugins to your project
ziew plugin add sqlite notify hotkeys

# Build (reads from ziew.zon)
ziew build
Plugin Description
sqlite Embedded SQLite database
notify System notifications
keychain Secure credential storage
hotkeys Global keyboard shortcuts
gamepad Game controller input
serial Serial port communication
ai Local LLM (llama.cpp)
piper Text-to-speech
lua LuaJIT scripting
steamworks Steam integration

See ziew.sh/plugins for full documentation.

Platform Support

Platform Webview Status Dependencies
Linux WebKit2GTK ✅ Ready apt install libgtk-3-dev libwebkit2gtk-4.1-dev
macOS WebKit ✅ Ready None (built-in)
Windows Edge WebView2 ✅ Ready None (built-in on Win 10/11)

Installation

# macOS / Linux
curl -fsSL https://ziew.sh/install | sh

# Windows (PowerShell)
irm https://ziew.sh/install.ps1 | iex

Manual Build

Linux prerequisites:

sudo apt install libgtk-3-dev libwebkit2gtk-4.1-dev

# For plugins (optional)
sudo apt install libsqlite3-dev    # sqlite
sudo apt install libnotify-dev     # notify
sudo apt install libsecret-1-dev   # keychain
sudo apt install libx11-dev        # hotkeys

Build:

git clone https://github.com/ziews/ziew.git
cd ziew
zig build -Doptimize=ReleaseSmall
./zig-out/bin/hello

Quick Start

ziew init myapp
cd myapp
ziew dev

With Templates

# 2D game with Phaser
ziew init mygame --template=phaser

# 2D game with Kaplay
ziew init mygame --template=kaplay

# 3D app with Three.js
ziew init myapp --template=three

# With CSS framework
ziew init myapp --style=pico

Ship Everywhere

One command to build for all platforms:

$ ziew ship

Building for all platforms...

✓ myapp-windows-x64.exe    320 KB
✓ myapp-macos-x64          380 KB
✓ myapp-macos-arm64        360 KB
✓ myapp-linux-x64          340 KB

Total: 1.4 MB (all platforms combined)

Links

License

MIT

About

Lightning-fast desktop apps in kilobytes, not megabytes.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published