A Xamarin HttpClient handler that uses native platform networking libraries (iOS NSURLSession, Android OkHttp3, UWP) for better performance and security.
ModernHttpClient is a Xamarin library that provides a custom HttpClient handler using native platform networking implementations instead of the managed .NET stack. It solves performance and compatibility issues in Xamarin mobile applications by leveraging iOS NSURLSession, Android OkHttp3, and UWP native handlers while adding advanced security features like certificate pinning and TLS enforcement.
Xamarin developers building iOS, Android, and UWP applications who need better networking performance, enhanced security features, or platform-specific networking capabilities.
Developers choose ModernHttpClient because it provides significantly faster networking through native implementations, adds critical security features like certificate pinning that aren't available in standard HttpClient, and ensures better compatibility with platform-specific networking requirements.
ModernHttpClient
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses iOS NSURLSession, Android OkHttp3, and UWP native handlers instead of managed .NET HttpClient, resulting in faster network calls and better platform integration, as highlighted in the README's emphasis on leveraging native stacks.
Supports certificate pinning with multiple modes, mutual TLS authentication, and enforces TLS 1.2+, providing enhanced security that isn't available in standard HttpClient, with detailed configuration examples in the README.
Integrates native networking capabilities like cookie handling via NativeCookieHandler and proxy support with platform-specific error messages, ensuring consistent behavior across iOS, Android, and UWP, as shown in usage snippets.
Includes dangerous modes for self-signed certificates and cleartext traffic configuration, facilitating development and testing scenarios without compromising production security, as documented in the 'Dangerous Zone' section.
Configuring advanced features like certificate pinning requires obtaining server public keys through external tools like OkHttp3, and enabling TLS on pre-Lollipop Android needs additional code, making onboarding cumbersome.
Built specifically for Xamarin, which Microsoft is replacing with .NET MAUI, raising concerns about long-term maintenance and compatibility with newer .NET versions and frameworks.
The README mixes detailed usage instructions with extensive release notes, making it hard to navigate for specific tasks without sifting through verbose content, which can slow down development.