Pagina-ontwikkelaarsdocumentatie
Pagina-ontwikkelaarsdocumentatie
Pagina's zijn de assemblage-eenheid op het hoogste niveau in FaceFlow.
Voor technische gebruikers is een Pagina geen templatebestand. Het is een gestructureerd runtime-record dat een Layout, geordende secties, gedeelde assets en optionele zakelijke systemen bindt in één publiceerbare ervaring.
Kernverantwoordelijkheid
De Pagina-laag is verantwoordelijk voor:
- het selecteren van de Layout-shell
- het opslaan van geordende sectiesamenstellingen
- het binden van door auteurs ingevulde veldwaarden aan herbruikbare Component-contracten
- het coördineren van ingebedde systemen zoals Formulieren, Reviews en Lijsten
- het ondersteunen van gereguleerde bewerk-, preview- en publicatiestromen
Pagina's moeten orkestreren. Ze mogen niet de plek worden waar lay-outlogica, beslissingen over component-schema's en incidentele zakelijke regels allemaal samenkomen.
Paginamodel
Een typische Pagina combineert:
- één Layout
- een geordende lijst van component-instanties
- optionele paginaruimtelijke herbruikbare secties
- optionele ingebedde Formulier- of Review-ervaringen
- optioneel dynamisch lijstgedrag
Conceptueel:
{
"layout": "default-site",
"components": [
{
"component": "hero-banner",
"scope": "page",
"fields": {
"heading": "Build faster with FaceFlow",
"subheading": "Reusable sections for scalable websites"
}
},
{
"component": "testimonial-strip",
"scope": "layout"
}
]
}De exacte opslagimplementatie is intern. Wat telt voor technische gebruikers is het contract: Pagina's assembleren herbruikbare objecten in plaats van directe controle te hebben over ruwe template-code.
Renderpad
Tijdens runtime volgt het renderen van een Pagina typisch de volgende flow:
- de gevraagde Pagina oplossen
- de toegewezen Layout laden
- gedeelde site-, layout- en paginaruimtelijke secties oplossen
- geordende Componenten renderen met hun veldwaarden
- ingebedde dynamische systemen renderen zoals Lijsten, Formulieren of Reviews
- de uiteindelijke samengestelde output retourneren
Een vereenvoudigde structuur ziet er zo uit:
<body>
{header}
{siteComponents}
<main>
{content}
</main>
{footer}
</body>De Pagina is eigenaar van de orkestratie van {content}. De Layout is eigenaar van de omliggende shell.
Assemblagevoorbeeld
Een meer expliciete Pagina-assemblage kan als volgt worden nagedacht:
{
"layout": "service-site-shell",
"components": [
{
"component": "hero-banner",
"scope": "page",
"fields": {
"heading": "Enterprise Security",
"summary": "Structured trust content for SaaS websites",
"ctaUrl": "/contact/"
}
},
{
"component": "lead-form",
"scope": "page",
"fields": {
"contactForm": "contact-sales"
}
}
]
}Dit voorbeeld is nuttig omdat het laat zien dat de Pagina de compositie en instance-waarden bezit, terwijl Layout- en Component-contracten gescheiden blijven.
Relatie tot Layouts en Components
Houd deze grenzen strikt:
- Layout definieert de paginashshell
- Component definieert een herbruikbaar sectiecontract
- Pagina assembleert een reeks Components tot een eindervaring
Als een Pagina structurele shelllogica begint te dragen, is de Layout te zwak.
Als een Pagina sectieregels begint te dupliceren die bij een Component zouden moeten horen, gaat hergebruik verloren.
Veelvoorkomend Paginasamenstellingsvoorbeeld
default-site layout
-> hero-banner component
-> feature-grid component
-> lead-form component
-> faq-accordion componentDie samenstelling moet begrijpelijk blijven zonder custom code te lezen. Als dat niet kan, drijft de architectuur meestal af.
Dynamische en Interactieve Inhoud
Pagina's bevatten vaak meer dan statische secties. Veelvoorkomende gevallen zijn:
- een lead-capture Component die een Formulier embedt
- een trust-sectie die een Review-model embedt
- een bronnenarchief dat wordt aangestuurd door een Lijst
- pagina-bewuste Variabelen die in meerdere secties worden hergebruikt
Voorbeeld:
<section class="section-contact">
<div data-form-embed="enterprise-demo-request"></div>
</section>
<section class="section-proof">
<div data-review-embed="customer-success-reviews"></div>
</section>Dit is waarom bij het ontwerp van Pagina's de volledige runtime-pad in overweging moet worden genomen, en niet alleen de visuele compositie.
Integratiegrenzen
Bij technische review, houd deze grenzen stabiel:
- Pagina kiest welke herbruikbare systemen deelnemen aan de ervaring
- Component definieert hoe een herbruikbare sectie rendert
- Formulier- en Review-modellen bezitten het submit-gedrag
- Lijstdefinities bezitten dynamisch archiefgedrag
Als een Pagina te veel implementatiedetails begint te dragen, drijft het objectmodel af.
Paginatypen en veranderaanpak
Niet elke Pagina zou op dezelfde manier behandeld moeten worden.
- campagnepagina's optimaliseren voor snelheid en gecontroleerde variatie
- evergreen servicepagina's optimaliseren voor hergebruik en langetermijnonderhoud
- lijstgestuurde pagina's optimaliseren voor dynamische contentgroei
- trust- of conversiepagina's coördineren vaak meerdere systemen tegelijk
Technische teams moeten voor elk type de juiste omliggende assets kiezen in plaats van elke Pagina in hetzelfde patroon te dwingen.
Versiebeheer, Lokalisatie en Portabiliteit
Pagina's zijn vaak de eenheid waarmee teams:
- lokaliseren naar meerdere talen
- herstellen na een ongewenste wijziging
- verplaatsen tussen omgevingen
- reviewen vóór publicatie
Behandel de Pagina als een operationeel asset, niet alleen als een visueel outputdoel.
Gerelateerde feature-referenties:
Technische Review Checklist
- gebruikt de Pagina de juiste Layout voor zijn paginafamilie?
- zijn Components geordend en gescopeerd met opzet?
- zijn Formulieren, Reviews of Lijsten ingebed via herbruikbare contracten in plaats van hard-coded markup?
- vertrouwt de Pagina op Variabelen of gedeelde secties waar hergebruik wordt verwacht?
- zou een toekomstige redacteur de Paginastructuur begrijpen zonder uitzonderingen te reverse-engineeren?
Anti-patronen
Vermijd deze patronen:
- pagina-specifieke shell-markup die in de Layout zou moeten horen
- vrij vormige sectiemarkup die op veel Pagina's wordt herhaald
- zakelijke logica verborgen in alleen-pagina-inhoud
- het mixen van niet-gerelateerde doelstellingen in één Pagina alleen omdat deze al live is
- het forceren van een dynamisch archief in een handmatig onderhouden Pagina-samenstelling
Voorbeeld Bouwpatroon
Voor een typische service landingspagina:
Layout: service-site-shell
Page:
- hero-banner
- benefits-grid
- customer-logos
- review-strip
- demo-request-formDat patroon blijft onderhoudbaar omdat elke zorg een duidelijke plaats heeft.