Keep native code native
Use the SDK's Android, Apple, or Windows APIs behind a generic bridge. Expose a typed C# service without binding every SDK method.
Understand the architecture
Connect C# with Kotlin, Swift, and Windows APIs. Build native integrations with asynchronous calls, binary messages, event streams, and native views.
Native calls, messages, streams, and views
MAUI integration for Android, iOS, Mac Catalyst, and Windows. Install NativeChannels.Maui 0.1.0-preview.2 from NuGet.org and follow getting started. Platform verification · Roadmap
Planned next: complete Avalonia integration in 0.2, then Uno in 0.3, each across Android, iOS, Windows, desktop macOS, Linux, and browser/WebAssembly. These hosts are not available on main yet.
Register your native adapter once, then inject IChannelService into a service or view model:
using var channel = channels.GetMethodChannel("sample");
string? reply = await channel.InvokeAsync<string>("echo", "Hello from .NET");The bundled Kotlin and Swift adapters return the same string. Native code can also call a managed handler and await its result. The getting-started guide includes package setup, module registration, and the complete application service.
| Build | With | Explore |
|---|---|---|
| Native function calls with typed results | MethodChannel | Currency symbol lookup |
| Binary data transfer with acknowledgements | BasicMessageChannel | Native audio playback |
| Live observations with subscription cleanup | EventChannel | System volume monitor |
| Embedded native UI with instance isolation | PlatformChannelView | Native PDF viewer |
Each reference plugin has its own MAUI sample and local package workflow. See examples for setup, what each one teaches, and platform limitations.
Channel handles own their requests and registrations. Event enumerations own their subscriptions. Native view connections own their instances and channels. Cancellation, timeouts, errors, and UI dispatch are part of the contract.
Learn channel ownership · Configure requests · Handle failures
Android, iOS, Mac Catalyst, and Windows builds are supported through MAUI. Execution coverage and physical-device gaps are recorded in the verification matrix. Browse the guide index for the full documentation.