A PRACTICAL GUIDE

From localhost to production.

Static hosting, base paths, assets and browser limits.

Static where possible

This showcase is pre-rendered into static HTML with a small native-module shell. esbuild bundles only the modules required by the playgrounds. There is no application server, analytics endpoint or account service.

Respect the deployment base path

GitHub project Pages are hosted below a repository prefix. Links, workers, styles and native asset URLs must all include that prefix. Test direct navigation to a nested component guide, not only navigation from the homepage.

Terminal
SITE_BASE=/WebComponents/ npm run build
npm run preview

Native assets and WebGPU

SkiaSharpWeb’s loader, WASM and license notices are copied from the installed package. No font binaries are copied. The playground uses a raster backend for broad sandbox compatibility. WebGPU requires a suitable browser/device and secure context.

Isolate editable code

The playground uses an iframe sandbox without same-origin access, a restricted Content Security Policy and per-run message validation. Shared source is not auto-executed. User code can still consume CPU or memory; an iframe is not a resource quota or a substitute for reviewing code.

Keep service boundaries honest

Static Pages do not host GridWeb collaboration services, databases or server-side Blazor. Those capabilities need application-owned services and their own authentication and deployment configuration.


Component APIs and compatibility boundaries are documented in their upstream repositories. Each component page links to its own source and guide.

Put it into practice
↑ ↓ to explore · Enter to openEsc to close