Build applications with Raven
Choose a guide by the kind of application you want to build. Each workload page explains the general application shape, how it is run or deployed, and which checked-in samples demonstrate it.
Available guides
Containerize an application
Publish a Raven project as an OCI container image with the .NET SDK, without a Dockerfile. Load it into Docker or Podman, save it as an archive, or push it directly to a registry.
Web APIs with ASP.NET Core
Build a Minimal API with routes, OpenAPI, async handlers, streaming responses,
records, and unions. The guide keeps application composition in Program.rvn
and places domain models and handler functions in Domain.rvn.
File-based applications
Execute a single Raven source file without a project or separate build step,
pass arguments, use a Unix shebang, and learn when to move into a .rvnproj.
IoT monitoring and Native AOT
Poll an asynchronous telemetry stream, model device states and errors, split a device boundary into its own file, and publish a native executable for an edge device.
Embedded IoT with .NET nanoFramework
Read a temperature sensor on a microcontroller, model unavailable and alarm states, drive GPIO output, and package Raven code as a nanoFramework image.
Workload guide principles
Every guide should answer the same practical questions:
- What kind of application does this workflow support?
- When should I choose it instead of another application shape?
- How is the source organized as the application grows?
- How do I run, build, publish, or deploy it?
- Which Raven and .NET facilities matter at this boundary?
- Which checked-in samples can I study and execute?
The workload area will grow from projects that are already exercised in the repository. Planned areas include data processing, libraries, background services, and mixed Raven/C# solutions.
For individual language concepts, use the language feature guides. For compiler and project commands, use the tooling documentation.