Home β€Ί Integrations & Platform Patterns β€Ί Headless & hybrid patterns

Headless & hybrid patterns

Purpose: Serve non-AEM frontends (apps, SPAs, kiosks) from AEM content with sensible API and caching shapes.

Who this page is for

AudienceWhy it matters to you
All engineersMulti-channel delivery decisions

The spectrum

Full head            Hybrid                    Headless
(HTL pages)   (HTL pages + JSON for apps)   (AEM = content API only)
     ◀──────────── most sites land here ────────────▢
PatternMechanismPHI example
Component JSONSling Model Exporter .model.jsonPlan card data for the mobile app
Page model<page>.model.json (SPA pattern)Full plan page in the app webview
CF via Assets HTTP API/api/assets/… JSON of fragmentsPlan data records for the comparison service
CF via GraphQL (where the 6.5 headless add-on is in place)Persisted queries per modelSame, with client-shaped queries
Custom aggregate servletresourceType servlet"Everything for the plans screen" endpoint

API discipline (because now you have an API)

Hybrid rendering rule of thumb

Render with HTL anything that must be SEO-visible, fast-first-paint, and authored as pages. Consume JSON from the same models for the app. One model, two channels keeps web and app consistent by construction β€” the main reason to prefer exporter-based JSON over parallel custom servlets.

Quick navigation