DEV Community

akhilesh
akhilesh

Posted on

Vaelo — Microscopic, Zero-Dependency Desktop Application Framework

vaelo logo
If you love building desktop apps using web technologies
(HTML/CSS/JS) but hate the 100MB+ bloat of Electron, you are in the right place.

Meet Vaelo: a lightweight, cross-compilable native desktop application runtime utilizing a statically embedded Go backend and native system browsers in application mode.


⚡ The Stats at a Glance

Go: 1.18+ | JavaScript: ES6+ | License: MIT | OS: macOS / Windows / Linux

Feature 🎈 Vaelo ⚛️ Electron
Executable Size < 7MB (compressable to < 2MB) ~100MB+
Memory Footprint ~15MB - 30MB ~80MB - 150MB+
CGO Compilers Not Required (uses precompiled templates) Required
Browser Runtime Native Webview (WebKit / WebView2) Embedded Chromium
Backend Engine Go (Statically Compiled) Node.js

🚀 Key Features

  • Zero-CGO Cross-Compilation: Ship precompiled binaries in bin/ templates. Package macOS .app bundles from Windows, or Windows .exe files from macOS in under 1 second without compiler setups.
  • 🎈 Microscopic Binary Footprint: Statically compiled Go runtime weighing < 7MB. Combine it with the UPX compression utility to shrink your executable down to < 2MB!
  • 🖥️ Native Window Frame: Renders web assets using native platform browsers in application mode (WebKit/Cocoa on macOS, WebView2 on Windows) for native system integration.
  • 🔌 Unified OS SDK Bridge: A built-in asynchronous JavaScript API (window.Vaelo) exposing system file dialogs, clipboard operations, terminal runner, and power monitoring.
  • 🔒 Secure CORS-Free Proxy Tunnel: Route local database requests (like SQLite or NoSQL) securely through Vaelo's Go backend to prevent webview security/CORS blocks.

🛠️ How It Works (Getting Started)

You can install Vaelo via NPM and create a new desktop application in seconds:

# 1. Install the Vaelo package
npm install @loftytechlabs/vaelo

# 2. Initialize a new project boilerplate
npx vaelo init my-desktop-app

# 3. Navigate to the project folder
cd my-desktop-app

# 4. Start in Development Mode (Serves local web resources with hot reload)
npm start

# 5. Package as a Standalone Executable (Bypasses compilers using templates!)
npm run build
Enter fullscreen mode Exit fullscreen mode

🔌 Using the OS Bridge (window.Vaelo)

Vaelo automatically injects the window.Vaelo client bridge into your web application to communicate securely with the host operating system:

// 1. Get System OS Info
const osInfo = await window.Vaelo.getOS();
console.log(osInfo); // "darwin_arm64", "windows_amd64", etc.

// 2. Write Local File
await window.Vaelo.writeFile("my_file.txt", "Hello from Vaelo!");

// 3. Execute Terminal Commands
const output = await window.Vaelo.runCmd("ping -c 3 google.com");
console.log(output);
Enter fullscreen mode Exit fullscreen mode

⭐ Support & Open Source

Vaelo is open-source and released under the MIT License. I would love to hear your thoughts, feature requests, and suggestions!

👉 Check out the repo, try it out, and leave a star!

🔗 GitHub Repository: loftytechlabs/vaelo

tags: showdev, javascript, go, desktop

Top comments (0)