WebExeBuilder Documentation

WebExeBuilder Application Development Guide

for Building Native Desktop Applications


Table of Contents

  1. Introduction
  2. WebExeBuilder vs Traditional Web Apps
  3. Development Philosophy

Screenshot 2026-04-07 133309

Introduction

What is WebExeBuilder?

WebExeBuilder is a powerful platform that transforms web applications (HTML/CSS/JavaScript) into native Windows desktop applications with full system access. With over 100 JavaScript commands across 16 categories, WebExeBuilder apps have capabilities far beyond traditional web apps. Unlike web apps that run in browsers with restricted permissions, WebExeBuilder apps have:

  • Full File System Access - Read, write, copy, delete files anywhere on the system
  • Directory Management - Create, list, and manipulate folders
  • Registry Access - Read and write Windows Registry values
  • Shell Integration - Execute commands, launch programs, show files in Explorer
  • Native Dialogs - Windows file open/save dialogs, folder selection
  • Window Control - Resize, minimize, maximize, fullscreen, borderless modes
  • System Integration - Notifications, system information, menu bars
  • Persistent Storage - Variables that survive app restarts
  • VCL Theming - Professional Windows UI themes

Why Use This Guide?

This guide helps you design and build WebExeBuilder applications from the ground up, leveraging native capabilities from day one instead of retrofitting existing web apps. You'll learn to:

✅ Choose the right WebExeBuilder commands for your use case ✅ Architect applications with proper data persistence ✅ Balance native features with web technologies ✅ Follow best practices for desktop application development ✅ Avoid common pitfalls when transitioning from web development


WebExeBuilder vs Traditional Web Apps

Key Differences

Feature Traditional Web App WebExeBuilder App
Storage localStorage (5-10MB limit) Full file system access (unlimited)
File Access File input dialogs only Native Windows file dialogs + direct file operations
Persistence Cookies, IndexedDB Files, Registry, Variables API
User Interface Browser chrome Custom window chrome, borderless, themed
Distribution Hosted on server Standalone .exe file
Offline Service workers required Fully offline by default
System Integration None Shell commands, notifications, menus
Security Model Sandboxed Full system access

When to Use WebExeBuilder

Ideal Use Cases:

  • Desktop tools requiring file manipulation
  • Applications needing persistent local data storage
  • Utilities that integrate with Windows Explorer
  • Apps requiring system notifications
  • Software needing custom window appearance
  • Projects requiring offline-first operation
  • Applications that launch external programs

Not Recommended For:

  • Simple information websites
  • Applications requiring mobile support
  • Cloud-first SaaS products
  • Real-time collaboration tools (unless hybrid approach)

Development Philosophy

Core Principles

  1. Native First, Web Second

    • Use WebExeBuilder APIs for storage, files, and system integration
    • Use web technologies (localStorage, IndexedDB) only for temporary/session data
    • Your UI is entirely web-based (HTML/CSS/JS) — there is no native GUI widget system
    • Native menus (web.appMenu, web.trayMenu) are the exception — those are real Windows menus
  2. Persistent by Default

    • Store user preferences in Variables API or files
    • Save application state between sessions
    • Use Registry for system-wide settings
  3. Offline-Capable

    • Design for offline-first operation
    • Bundle all assets with the application
    • Use local file storage for data
  4. Windows Integration

    • Use file open/save/folder dialogs (web.dialogs) for file picking — these are native Windows dialogs
    • All other UI (alerts, confirmations, forms, modals) is built in HTML/CSS/JS — however, there are now native message box dialogs using Namespace: web.dialogs.message
    • Integrate with Windows Explorer (show files, open folders)
    • Provide system notifications for important events
  5. Professional Appearance

    • Leverage VCL themes for polished look
    • Consider borderless windows with custom chrome
    • Use proper window states (minimize, maximize, fullscreen)

All WebExeBuilder JavaScript APIs are available under the window.web namespace. They return Promises and can be used with async/await.

// Example: Open a file dialog
async function selectFile() {
    const filePath = await web.dialogs.openFile({
        title: 'Select a file',
        fileTypes: 'Text Files|*.txt|All Files|*.*'
    });
    console.log('Selected:', filePath);
}

selectFile();

Requirements

  • WebExeBuilder application
  • Windows operating system
  • Modern JavaScript (ES6+) support