Skip to content
This repository has been archived by the owner on Nov 2, 2021. It is now read-only.

A Framework for creating code that performs Platform Dependent Tasks in a Generic, OS Independent manner.

License

Notifications You must be signed in to change notification settings

WilliamABradley/PlatformBindingsFramework

Repository files navigation

Platform Bindings Framework for .NET

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.

Build status

Target Branch Status Recommended Nuget packages
Pre-Release master Alpha/Planning Packages

Documentation

All documentation is accessible on GitHub.

Platform Remarks

Services

File System

Settings

Models

ViewModels

NuGet Packages

NuGet Package Description
PlatformBindings-Core Platform Bindings Framework Core Library and API Surface
PlatformBindings OS Platform Library
PlatformBindings-SMB SMB/CIFS FileContainer & FolderContainer Extension

Supported SDKs

UWP

Anniversary Update (14393) Upwards

Android

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

.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.

Xamarin.Forms

Tested against Xamarin.Forms 2.5.0.77107

Requires .NET Standard 1.4 support.

Win32/.NET Framework

Requires .NET Framework 4.6.1 and higher.

Feedback and Requests

Please use GitHub issues for bug reports and Platform/API Addition requests.

Contributing

Want to help and flesh out this Library? Submit a PR!

Here are the contribution guidelines.