Nalu.Maui is a set of libraries built to make .NET MAUI development faster, smoother and more enjoyable — polished navigation, a fully drawn application shell, high-performance lists and layout primitives that remove entire categories of boilerplate.
For comprehensive documentation, guides, API references, and samples, please visit our dedicated documentation website:
➡️ Nalu.Maui Documentation Website ⬅️
If Nalu.Maui is valuable to your work, consider sponsoring the author on GitHub ❤️
Shared elements flying between pages · per-page drawers · bottom sheets · scroll-materializing nav bar · floating tab bar with overflow — all from one sample app.
A complete replacement for MAUI Shell on iOS and Android where every piece of chrome is a MAUI view you can restyle or replace: tab bar (with overflow), nav bar, edge drawers, popups & bottom sheets, modal presentation, page transitions with shared elements, iOS edge-swipe and Android predictive back (both scrubbing the same seekable choreography), scroll-driven chrome and system-bar styling that follows your UI.
Because the Scaffold hosts Nalu navigation, every interaction — tab tap, back gesture, flyout selection — routes through the engine: guards, lifecycle and intents always run, and state restoration lands your users exactly where they left off after a restart.
- 📦 Available on NuGet.org:
dotnet add package Nalu.Maui.Scaffold.Nalu.Maui.Navigationkeeps working with MAUIShellexactly as before: the Scaffold is an additional host, not a breaking change. - 🚀 New app? Start from the template:
dotnet new install Nalu.Maui.Templates, thendotnet new maui-nalu-scaffold -n MyApp— tab bar, model-first navigation, a shared-element transition and predictive back already wired — plus agent skills (.claude/skills,AGENTS.md) so AI coding assistants know the Nalu APIs. - 📖 Docs: Overview · Structure & Tab Bar · Nav Bar · Flyouts · Popups & Sheets · Transitions · Migrating from NaluShell
Left to right: VirtualScroll flinging through a week of hourly rows and jumping back with an animated ScrollTo · SlideBox sliding between insight panels while a ToggleTemplate flips to "All caught up" as the last task completes · ExpanderViewBox rows expanding inline with smoothly animated height.
- Navigation
- A fluent, type-safe MVVM navigation service supporting relative/absolute navigation, guards, typed intents and a built-in leak detector. Page registration is source-generated (
AddPages()— trim/AOT-safe, no reflection), and opt-in navigation state restoration reopens the app exactly where it was. Works with MAUIShell,NaluShell, and the Scaffold. MVVM is optional: plain view-only pages and MVU component pages ride the same engine — MauiReactor, Comet or BlazorBindings.Maui plug in through the publicIComponentPageFactoryextension point (a small copy-paste bridge; the MauiReactor one is in the docs).
- A fluent, type-safe MVVM navigation service supporting relative/absolute navigation, guards, typed intents and a built-in leak detector. Page registration is source-generated (
- VirtualScroll
- A fast alternative to the .NET MAUI
CollectionView, built directly on nativeRecyclerView(Android) andUICollectionView(iOS) with a Java-side hot path that keeps per-frame work off the managed heap — fling through thousands of dynamically-sized rows without a stutter. Sections with headers, horizontal layout, carousel mode, pull-to-refresh, animatedScrollTo, and long-press drag reorder are all built in. - ⚖️ Dual Licensed:
- Non-Commercial: Free under the Apache 2.0-Based Non-Commercial License (personal, educational, or non-commercial open-source use).
- Commercial: Requires an active GitHub Sponsors subscription for usage rights only; no services are included.
- By installing this package, you agree to the terms in the
LICENSE.md. Commercial use includes for-profit entities, internal tools, and contract work.
- A fast alternative to the .NET MAUI
- Layouts
-
The XAML you wish was built in:
ToggleTemplateswaps content on a boolean,TemplateBoxrenders anyDataTemplatein place,SlideBoxpages between lazily-created, state-retaining slides,ExpanderViewBoxanimates expand/collapse with real measured sizes,ViewBoxis a lightweight clippingContentViewreplacement, andMagnetbrings a full constraint-based layout system.
-
- Controls
- Cross-platform controls with personality:
DurationWheel(the rotaryTimeSpan?editor shown inside the bottom sheet above) andInteractableCanvasView(aSKCanvasViewwith enhanced touch support).
- Cross-platform controls with personality:
- Core
- Common utilities, including
NSUrlBackgroundSessionHttpMessageHandlerfor robust background HTTP requests on iOS and a soft-keyboard manager.
- Common utilities, including
Every animation on this page comes from Daily Helper (Samples/Nalu.Maui.DailyHelper), the complete sample app in this repository — clone it and run it to feel everything first-hand.
We encourage you to explore the full documentation for detailed information on how to integrate and utilize these features in your projects.



