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
