Desktop & Web App UI Framework (Powered by EF Core)
- 4 minutes to read
Line-of-business (LOB) applications that require CRUD, data reporting, scheduling, analytics, validation, auditing, role-based authorization, authentication, localization, and other features are very similar in nature. A typical Office-inspired LOB application allows the user to view, navigate, edit, and export relational data based on user permissions. The DevExpress Cross-Platform .NET App UI (XAF) is an application framework that empowers you to develop such applications with ease.
XAF allows you to focus on business logic. The framework automatically generates the UI for desktop (Windows Forms) or the web (ASP.NET Core Blazor). XAF integrates reporting, data analytics, security, and many other modules. All of this functionality is available to you as part of our Universal Subscription or our Free 30-Day Trial.
#XAF Benefits for WPF Developers
#Similar Architecture by Nature
XAF and WPF have much in common. These UI frameworks have a similar architecture (MVC in XAF is not much different from MVVM in WPF.) and were designed to enhance Windows Forms and Web Forms application development. This is the reason why many of our users are switching from WPF to XAF.
While the XAF UI is built on top of WinForms and Blazor, it incorporates many essential concepts that WPF developers love:
- XAF’s View Items, Property and List Editors, Action Containers are similar to WPF Control Templates. XAF also has Templates for entire data forms and user controls.
- XAF’s XAFML markup (edited in the Visual Model Editor) is similar to XAML language for a declarative UI programming.
- XAF’s Controllers used to customize appearance settings of UI elements and logic are similar to WPF Behaviors.
- XAF’s Business Objects much like Models (M) in WPF are used to generate the UI (XAF also has a similar metaphor for Commands).
- XAF has flexible data binding engine with attributes and criteria language. Typical scenarios include data filtering in the lookup editor and data grid, data validation, appearance customization, etc.
#Modernized and Secure Data Access
The Solution Wizard scaffolds the XAF WinForms/Blazor UI and Web API backend service with CRUD and additional functionality powered by EF Core: Storage, ORM, and Business Model Design.
XAF offers two Security Tiers for data access and authorization:
- 2-Tier (direct database connections)
- Middle Tier (database connections through a secure API service)
Middle Tier is critical within certain environments/business applications (those that cannot maintain direct database connections to better meet enterprise security standards). With XAF’s Middle Tier application server, EF Core developers can retain standard DbContext
and initiate remote connections to a data store from any .NET client (like XAF WinForms or non-XAF WinForms applications). Read the following topic for additional information: Connect to an EF Core Middle Tier Security Application from Non-XAF Applications.
XAF also offers multiple authentication strategies out of the box. Built-in support includes: OAuth2, JWT, and OpenID. You can also implement a custom authentication strategy as needed.
#Modularity
The DevExpress Application Framework includes over 20 ready-to-use packages (Modules), including analytics, reporting, scheduling, security, multi-tenancy (SaaS), and more. Modular architecture allows you to integrate UI theme support, error and audit event logging, data filtering and validation, data printing and doc export, and file and document management.
XAF natively supports Dependency Injection (DI), including third-party Inversion of Control (IoC) Service Containers like Autofac or DryIoC. You can replace or extend prebuilt XAF services, modules, UI forms and individual components, styles, and default behaviors as needs dictate.
#Integration
If you work in Visual Studio 2022+ for Windows, the Solution Wizard allows you to speed up application development. Application startup templates are built atop a battle-tested architecture with a modular and layered design, secure database connections and API services, configurable authentication and authorization settings, account management, and e2e tests. Pre-built modules are distributed through NuGet and can be plugged in using Fluent API.
#A Step to Modern Web and Mobile Companion Apps
XAF allows you to quickly build an ASP.NET Core Blazor UI based on your ORM data model and built-in XAF modules. Even if you do not plan on migrating from WinForms to XAF’s UI, you can easily reuse your existing EF Core classes and database, and auto-generate a modern Blazor web browser application in minutes.
XAF also ships with a Backend Web API Service that allows you to access CRUD and other functionality from various types of clients including web, mobile, and desktop applications.
#Examples
- Role-based Access Control, Permission Management, and OData / Web / REST API Services for Entity Framework and XPO ORM (WinForms Demo)
- JavaScript with DevExtreme and ASP.NET Core Web API/OData App
- JavaScript with Svelte and ASP.NET Core Web API/OData App
- Blazor WebAssembly App
- .NET MAUI (iOS/Android) App