| Platform | NativeWebView control |
NativeWebDialog |
WebAuthenticationBroker |
Per-instance proxy |
|---|---|---|---|---|
| Windows | Implemented | Implemented | Implemented | Implemented |
| macOS | Implemented | Implemented | Implemented | Implemented on macOS 14+ |
| Linux | Implemented | Implemented | Implemented | Implemented |
| iOS | Implemented when built with the .NET 8 Apple workload | Unsupported | Implemented when built with the .NET 8 Apple workload | Implemented on iOS 17+ when built with the .NET 8 Apple workload |
| Android | Implemented when built with the .NET 8 Android workload | Unsupported | Implemented when built with the .NET 8 Android workload | Contract-only, app-wide platform API only |
| Browser | Implemented when built for the browser target | Unsupported | Implemented when built for the browser target | Unsupported |
Use NativeWebViewPlatformImplementationStatusMatrix.Get(platform) to inspect the current repo status in code. Use NativeWebViewProxyPlatformSupportMatrix.Get(platform) for proxy-specific status.
Features continue to describe the broader platform capability contract for that engine family.NativeWebView control hosts in the default desktop build. iOS and Android runtime paths are built from their platform-targeted backend assemblies rather than the default net8.0 contract build, and the Browser runtime is built from the browser-targeted backend assembly and hosts an iframe plus popup/browser-auth integration through Avalonia Browser native control hosting.NativeWebDialog is a desktop surface in this repo. For mobile and browser auth flows, use WebAuthenticationBroker instead of expecting dialog parity.http or https callback URL.NativeWebViewProxyPlatformSupportMatrix.Get(platform) when proxy behavior matters to your deployment.