A Framework for creating code that performs Platform Dependent Tasks in a Generic, OS Independent manner.
Since this Framework is still in Early Alpha/Planning stages, the Documentation and API surface is subject to change, with breaking changes on new Releases until it is Production ready.
Be sure to perform null checks when interacting with the Framework, such as AppServices.Current.UI?.NavigationManager?.CanGoBack
, as well as check if a Platform Supports a certain feature, such as UI Access in Background Tasks, using the File/FolderPicker or File/Folder Open Functions.
Not all Platforms have the same level of implementation, UWP is currently fully implemented, and a lot of the APIs are based off of UWP APIs. Android is somewhat implemented, while Xamarin.Forms is mostly unimplemented.
Target | Branch | Status | Recommended Nuget packages |
---|---|---|---|
Pre-Release | master | Alpha/Planning | Packages |
All documentation is accessible on GitHub.
- UIBindings
- IOBindings
- NetworkUtilities
- InteractionManager
- ICredentialManager
- INavigationManager
- IOAuthBroker
NuGet Package | Description |
---|---|
PlatformBindings-Core | Platform Bindings Framework Core Library and API Surface |
PlatformBindings | OS Platform Library |
PlatformBindings-SMB | SMB/CIFS FileContainer & FolderContainer Extension |
Anniversary Update (14393) Upwards
Android API 21* Upwards
*PlatformBindings-Android utilises Android.Support.V7.AppCompat
, however, to enable usage of AppCompat Activity and UI Elements, use PlatformBindingsCompatActivity
and AndroidAppServices.UseAppCompatUI
.
.NET Core 2.0 Upwards
Although the Core and Console Libraries are .NET Standard 1.4 Compliant, there is an issue in .NET Core that returns the wrong Directory for the Executing Assembly Directory, so .NET Core 2.0 is required.
Tested against Xamarin.Forms 2.5.0.77107
Requires .NET Standard 1.4 support.
Requires .NET Framework 4.6.1 and higher.
Please use GitHub issues for bug reports and Platform/API Addition requests.
Want to help and flesh out this Library? Submit a PR!
Here are the contribution guidelines.