Deployment Scenarios¶
VDP defines what a view descriptor says and how it reaches a client (Specification Section 4). It deliberately does not define where template source text comes from: a template URL is an identifier first — a stable name and cache key — and a fetchable location only secondarily (Section 6.3).
The four deployments below are all fully conforming, and each pairs freely
with any transport — Link header, inline _view/_views, View-Template,
or well-known discovery. Dashed elements are outside the protocol: VDP names
templates; it never dictates where they live.
Templates bundled with the app¶
Mobile and desktop apps ship their templates inside the application package. The descriptor's template URLs act as lookup keys into that bundle, so rendering needs no template network traffic at all, and template updates ship with the app. Templates inside the app's own trust boundary are exempt from the Section 10 network rules.
A BFF resolves server-side¶
The backend-for-frontend is the VDP client (Section 7.5): it calls the API, resolves the descriptor against its local template store — or fetches and caches — and returns finished HTML. The browser never sees VDP.
Templates shipped with the page¶
The initial HTML delivers the templates themselves — for example as
<template> elements. A small client script matches each descriptor's
template URLs against that in-page registry, so later API responses can
re-template parts of the page without any further template requests.
Templates fetched remotely¶
The fully networked deployment: the client fetches each template URL over
HTTPS from a template server or CDN, caching per ordinary HTTP semantics
(Section 5.2). Everything in
Section 10 applies — the
allowlist source chain, HTTPS, and integrity verification. This is the
deployment the Go demo
implements end to end.
These sources also compose: a client MAY consult several in order — an app bundle first, say, with a remote fetch for templates the bundle lacks. In every case the absolute template URL (Section 5.4) is the template's identity.