What is UI Metadata Framework?
UI Metadata Framework (UIMF) is a client-server communication protocol that enables you to generate dynamic user interfaces from backend metadata. Instead of manually creating frontend forms for every API endpoint, UIMF uses .NET reflection to automatically generate metadata describing your forms, which frontend clients can use to dynamically render the UI.Quickstart
Build your first form in under 5 minutes
Core concepts
Learn the fundamental concepts of UIMF
API reference
Explore the complete API documentation
The problem UIMF solves
Traditional full-stack development requires you to:- Define your API endpoint on the backend
- Manually create a corresponding form component on the frontend
- Keep both in sync as requirements change
- Repeat for every single endpoint
How UIMF works
With UIMF, you define your forms once on the backend using attributes, and the framework automatically generates metadata that describes:- Input fields and their types
- Output fields and their formatting
- Validation rules
- Labels and descriptions
- Custom properties
UIMF uses a protocol-based approach, meaning you can implement the frontend in any framework. The official uimf-svelte client demonstrates this with Svelte.
Example
Here’s a simple form that adds two numbers:Key features
Automatic metadata generation
Use .NET reflection to generate form metadata from your C# classes automatically
Type-safe forms
Leverage C# type system for compile-time validation of your form definitions
Extensible components
Create custom input and output components with their own metadata
Framework agnostic
The protocol works with any frontend framework that can consume JSON metadata
Built-in validation
Define validation rules using attributes that are enforced on the client
Dynamic behavior
Support for event handlers, custom properties, and conditional field visibility
Architecture
UIMF consists of two main packages:- UiMetadataFramework.Core - Core concepts and building blocks for creating your own UIMF backend
- UiMetadataFramework.Basic - Example component library with common input/output components
Frontend implementations
While UIMF is framework-agnostic, here are the official frontend implementations:- uimf-svelte - Web client built with Svelte
Next steps
Get started
Follow the quickstart to build your first form
Installation
Install UIMF packages in your project
Learn core concepts
Understand forms, fields, and metadata binding
View examples
Explore detailed guides and examples