Back to docs

Performance

Performance isn't an afterthought in GJS Builder; it falls out of the architecture.

Zero front-end runtime

Pages are pre-compiled to HTML + CSS at save time. The public side ships no builder JavaScript — nothing to download, parse or execute. See Rendering modes.

One CSS block

Each page emits a single inline <style> block with exactly the CSS it needs. No sprawling stylesheet, no unused rules from a monolithic framework.

A small core

The plugin core is deliberately thin. Everything else is an extension loaded only when installed and enabled — you pay for what you use, not for a feature you'll never touch.

Lazy, marketplace-driven loading

Extension bundles are enqueued only on the editor screen, and only for enabled extensions. The catalog is cached (12h) with a stale-cache offline fallback, so the admin stays responsive.

Engine served locally

The GrapesJS engine is served from your own server rather than a CDN at runtime — predictable, private, and cache-friendly. Pick and download a curated core version in Settings.

Build-time vs request-time

Work that can happen once (compiling a page, verifying a bundle) happens at build/save time — not on every request. The front end just serves the result.

Checklist

  • No front-end platform JS
  • One inline CSS block per page
  • Extensions loaded lazily and only when enabled
  • Engine served locally, versioned
  • Catalog cached with offline fallback