Skip to content
@nu-ext

NuExt

Pragmatic .NET building blocks for real apps — correctness → predictability → performance.

NuExt

NuExt stands for New Extensions: pragmatic .NET building blocks for real applications, focused on correctness, predictability, performance, and explicit design.

NuExt provides a lightweight, compile-time-assisted stack for building predictable desktop and hybrid .NET applications without a heavyweight application framework.

Why NuExt?

  • Deterministic synchronous and asynchronous command execution.
  • Explicit application, service, view, window, and document lifecycles.
  • Compile-time generation of observable properties, commands, validation, and structured localization.
  • Practical WPF infrastructure without convention-heavy or reflection-driven runtime machinery.
  • Modular packages that can be adopted independently.
  • Broad compatibility with modern .NET, .NET Standard, and .NET Framework where applicable.

NuExt favors generated or explicit code over runtime discovery, hidden subscriptions, and convention-based behavior.

Start here

For WPF and desktop MVVM applications, start with:

Additional packages provide reusable WPF behaviors, presentation utilities, MahApps.Metro integration, foundational .NET utilities, and lightweight data-access infrastructure.

Ecosystem

The graph below shows direct dependencies between NuExt modules:

NuExt.System
└─ NuExt.System.Data
   └─ NuExt.System.Data.SQLite


NuExt.System ─────────────────────┐
NuExt.Minimal.Mvvm ───────────────┤
NuExt.Minimal.Behaviors.Wpf ──────┼─ NuExt.Minimal.Mvvm.Wpf
NuExt.Presentation.Wpf ───────────┘              │
                                                 └─ NuExt.Minimal.Mvvm.MahApps.Metro

NuExt.Minimal.Mvvm.SourceGenerator is an independent compile-time package with no NuExt package dependencies.

Projects

Foundation

  • NuExt.System — foundational utilities for asynchronous programming, threading, lifetime management, collections, I/O, diagnostics, and BCL compatibility.

MVVM and desktop applications

  • NuExt.Minimal.Mvvm — framework-neutral MVVM core with deterministic commands, asynchronous lifecycle management, validation infrastructure, and hierarchical service resolution.
  • NuExt.Minimal.Mvvm.SourceGenerator — compile-time generation of observable properties, commands, validation infrastructure, and structured JSON localization.
  • NuExt.Minimal.Mvvm.Wpf — WPF infrastructure for views, dialogs, documents, windows, dispatchers, application services, and deterministic cleanup.
  • NuExt.Minimal.Mvvm.MahApps.Metro — MahApps.Metro integration for dialogs and tabbed documents.

WPF infrastructure

Data access

Design principles

NuExt follows several consistent principles across its packages:

  1. Correctness before convenience
    APIs define explicit lifecycle, ownership, synchronization, and error-handling behavior.

  2. Predictable runtime behavior
    Commands, services, validation, view resolution, and cleanup avoid hidden control flow.

  3. Compile-time assistance
    Source generation removes boilerplate without shifting behavior into reflection-heavy runtime machinery.

  4. Performance by design
    Hot paths avoid unnecessary allocations, repeated reflection, and mutable shared state.

  5. Modular adoption
    Packages remain focused and can be used independently without adopting the entire ecosystem.

Packages

NuExt packages are available from the NuExt profile on NuGet.

Each repository contains package-specific documentation, supported target frameworks, usage examples, and release information.

Pinned Loading

  1. NuExt.Minimal.Mvvm NuExt.Minimal.Mvvm Public

    High-performance, dependency-free MVVM core for .NET: deterministic commands, robust async lifecycle, and a clear minimal API with a lightweight service provider.

    C# 6

  2. NuExt.System NuExt.System Public

    Cross-platform application foundation for high-performance .NET desktop and hybrid frameworks.

    C# 6

  3. NuExt.Minimal.Behaviors.Wpf NuExt.Minimal.Behaviors.Wpf Public

    Minimal WPF attached behaviors for MVVM with clear, testable interactivity, direct event-to-command and key-to-command routing, and reusable behavior templates.

    C# 2

  4. NuExt.System.Data NuExt.System.Data Public

    Lightweight ADO.NET extensions, ownership-aware DAL infrastructure, database contexts, and provider-independent migrations with validated history for .NET.

    C# 1

  5. NuExt.Minimal.Mvvm.Wpf NuExt.Minimal.Mvvm.Wpf Public

    Make WPF feel modern: deterministic async UX, document services, explicit ViewLocator, and dispatcher‑safe design for multi‑threaded UI — keep your code small and clear — no bloat.

    C# 1

  6. NuExt.System.Data.SQLite NuExt.System.Data.SQLite Public

    A lightweight SQLite data access foundation for .NET with synchronized database access, explicit transactions, reusable DAL infrastructure, and validated migrations.

    C# 3

Repositories

Showing 10 of 13 repositories

Top languages

Loading…

Most used topics

Loading…