Prerequisites
For .NET backend
- .NET Standard 2.0 or higher
- .NET Framework 4.7.2 or higher
- A C# project (ASP.NET Core, console app, etc.)
For TypeScript frontend
- Node.js 12 or higher
- npm or yarn package manager
- A TypeScript or JavaScript project
.NET packages
UIMF provides two main NuGet packages for building your backend:UiMetadataFramework.Core
The core package provides the fundamental building blocks for creating forms and generating metadata. Use this package if you want to build your own custom component library.- Form metadata generation via reflection
- Attribute-based form definition (
FormAttribute,InputFieldAttribute,OutputFieldAttribute) - Extensible component binding system
- Event handler support
- Type-safe metadata structure
- Newtonsoft.Json 13.0.3
UiMetadataFramework.Basic
The basic package builds on top of Core and provides a ready-to-use component library with common input and output field types.- Pre-built input components (text, number, date, dropdown, typeahead, etc.)
- Pre-built output components (text, tables, paginated lists, etc.)
Form<TRequest, TResponse>base class for easy form implementationFormResponseandFormResponseMetadataclasses- Integration with MediatR for request handling
- UiMetadataFramework.Core
- MediatR 9.0.0
- Humanizer.Core 2.8.26
- Microsoft.CSharp 4.7.0
Most applications should install both packages.
UiMetadataFramework.Core is automatically included as a dependency of UiMetadataFramework.Basic.TypeScript package
The TypeScript package provides type definitions for working with UIMF metadata on the frontend.uimf-core
Install theuimf-core package to get TypeScript types for form metadata, input fields, output fields, and more.
- Version: 0.0.8
- Zero dependencies
- Full TypeScript support
- ES modules
Usage example
Frontend client implementations
Whileuimf-core provides the types and metadata classes, you’ll need a client implementation to actually render the forms. Here are the official implementations:
uimf-svelte
A complete web client built with Svelte:You can build your own client implementation for any frontend framework by consuming the metadata from
uimf-core and rendering the appropriate components.Verify installation
.NET verification
Create a simple form to verify your installation:TypeScript verification
Import the types to verify your installation:Troubleshooting
NuGet package version conflicts
If you encounter version conflicts with dependencies (especially MediatR or Newtonsoft.Json), you can explicitly specify versions in your.csproj file:
TypeScript module resolution
If you get module resolution errors, ensure yourtsconfig.json includes:
Next steps
Quickstart
Build your first form in under 5 minutes
Core concepts
Learn the fundamental concepts of UIMF
Creating forms
Detailed guide on building forms
API reference
Explore the complete API documentation