Tutorial: Build A Declarative Dynamic App
This tutorial uses dynamic_app_template, the smallest checked dynamic-app reference in the repository.
What you will build
dynamic_app_template shows the current Pharos direction for dynamic apps:
- app-owned declarative templates and assets
- a dynamic runtime surface hosted by Pharos
- framework-owned request handling and runtime behavior
- a built app artifact under
dist/apps/dynamic_app_template/
Build
pharos build app dynamic_app_template --build-dir dist --text
Expected artifact root:
dist/apps/dynamic_app_template/
Serve
pharos serve app dynamic_app_template --build-dir dist --port 8081 --text
Open:
http://127.0.0.1:8081/
What this shows
This app is intentionally small, but it demonstrates the framework split that matters in Pharos:
- the app declares templates, fixtures, and product-specific structure
- Pharos owns request-path behavior, runtime orchestration, and shared operational mechanics
- dynamic state remains behind framework-owned runtime surfaces
- the built artifact still has a stable, inspectable package shape
Inspect the packaged app
Look at:
dist/apps/dynamic_app_template/
That directory shows how a dynamic app is packaged while still depending on the shared runtime for execution.
Production-shaped follow-up
For a richer dynamic app example, use UCAL:
pharos build app ucal --build-dir dist --text
pharos serve app ucal --build-dir dist --port 8080 --text
Then open:
http://127.0.0.1:8080/ucal/