Edit

Build line-of-business apps with WinUI - overview

This hub is for developers building line-of-business (LOB) apps, such as internal tools, data-entry apps, reporting dashboards, and enterprise clients, with WinUI 3 and the Windows App SDK.

WinUI 3 provides Fluent Design controls and XAML data binding. The Windows App SDK delivers WinUI 3 and also provides APIs for app lifecycle, windowing, notifications, and other Windows capabilities. Packaging and deployment are separate architectural choices.

A line-of-business dashboard on a laptop receiving information from business data, cloud services, and existing systems.

Choose an approach

Use this table as a starting point. The appropriate choice depends on your app's data volume, deployment model, security requirements, and the Windows App SDK version that you target.

Requirement Starting point
Display a collection of records Use ListView or ItemsView with a DataTemplate.
Display dense tabular data Use a columnar list for simple read-only scenarios, or evaluate a supported third-party grid when you need grid features such as column resizing, grouping, or spreadsheet-style editing.
Validate form input Choose a validation strategy that fits your architecture. WinUI 3 doesn't provide a complete built-in form-validation framework.
Authenticate users Prefer an identity library and OS broker, such as MSAL with Web Account Manager (WAM), instead of implementing an OAuth flow directly.
Store structured data locally Consider EF Core with SQLite.
Access enterprise data Prefer an authenticated HTTPS service layer. Don't embed shared database credentials in a desktop client.
Keep the UI responsive Use asynchronous APIs and avoid blocking the UI thread. Dispatch UI updates only when work completes on another thread.
Add AI features Choose an on-device Windows AI API, ONNX Runtime, or a cloud AI service based on privacy, hardware, connectivity, and model requirements.
Package and deploy Choose packaged with MSIX, packaged with external location, or unpackaged. Separately choose a framework-dependent or self-contained Windows App SDK deployment.

Build a new app

Display and edit data

Build forms with validation

The CommunityToolkit.Mvvm package remains a Microsoft-maintained option for implementing MVVM. MVVM is not required for every WinUI app, and the toolkit's ObservableValidator is one possible validation implementation rather than a WinUI platform standard.

Connect to data and services

Package and deploy

Modernize an existing app

You don't need to rewrite a working WPF or Windows Forms app to adopt every Windows App SDK capability. You can add supported non-XAML APIs incrementally where they provide value. Full WinUI 3 UI requires a WinUI 3 project or an applicable interop approach.

Migrate from WPF

Migrate from Windows Forms

Migrate from UWP

Add AI to your app

Use Add AI capabilities to a line-of-business WinUI app to compare on-device Windows AI, ONNX Runtime, and cloud AI approaches.

Design for productivity

Use Design for productivity in WinUI LOB apps for guidance about theming, materials, accessibility, responsive layouts, and navigation.