webxdc.app

A browser-based runtime for webxdc apps.

webxdc.app loads .xdc archives in an iframe using Service Workers and exposes the webxdc JavaScript API via postMessage. Each instance runs on a unique *.webxdc.app subdomain for origin isolation.

How it works

  1. A parent page embeds an iframe pointing to a *.webxdc.app subdomain.
  2. The iframe signals readiness; the parent sends the .xdc file bytes and user identity via postMessage.
  3. A Service Worker unzips the archive and serves its files from memory.
  4. The webxdc app's HTML is merged into the live document.
  5. window.webxdc API calls are proxied back to the parent via JSON-RPC.

The parent page is responsible for the actual implementation of the webxdc API methods — storage, networking, delivery to other peers. webxdc.app handles sandboxed execution and the communication bridge.