/XPlat-Windows-APIs

Bringing Windows UWP style APIs cross-platform with .NET!

Primary LanguageC#MIT LicenseMIT

XPlat Windows APIs

XPlat Windows APIs

XPlat Windows APIs are designed to make it easier for developers adjusted to developing with the Windows UWP APIs to take those skills cross-platform with their applications.

As each application platform offers their own unique platform-specific APIs, XPlat attempts to bring all of those APIs under one umbrella using a Windows UWP like API, allowing a developer to learn a single API which works with any application built with UWP or Xamarin for Android and iOS.

For a UWP developer, this is appealing as it allows you to easily migrate your existing UWP code to Xamarin shared code with minimal changes through the use of XPlat Windows APIs which mimic the Windows UWP alternatives.

Build status

Packages Status Current Preview
NuGet Build status Nuget Nuget

Installation

XPlat Windows APIs are available via NuGet. Each available package is detailed below.

We have purposefully split the XPlat Windows APIs to allow you to pick and choose the specific components that your app needs to prevent bloat!

Package Current Preview
XPlat.ApplicationModel Nuget Nuget
XPlat.Core Nuget Nuget
XPlat.Device.Display Nuget Nuget
XPlat.Device.Geolocation Nuget Nuget
XPlat.Device.Launcher Nuget Nuget
XPlat.Device.Power Nuget Nuget
XPlat.Device.Profile Nuget Nuget
XPlat.Foundation Nuget Nuget
XPlat.Media.Capture Nuget Nuget
XPlat.Storage Nuget Nuget
XPlat.Storage.Pickers Nuget Nuget
XPlat.UI Nuget Nuget
XPlat.UI.Controls Nuget Nuget
XPlat.UI.Core Nuget Nuget
XPlat.UI.Popups Nuget Nuget

Take a look at our 'Getting started with XPlat Windows APIs guide' for help getting up and running!

Made with XPlat

Got a great project you've built with XPlat? We'd love for you to share your awesome creations with the community!

Add your projects to the Made with XPlat collection!

Documentation

If you want to deep dive into the APIs with details on how to use the features, you can browse the GitBooks documentation for XPlat Windows APIs!

Supported platforms

XPlat Windows APIs is currently being developed for the following platforms:

  • Windows UWP
  • iOS
  • Android

Contributing

Looking to help build our XPlat Windows APIs? Take a look through our contribution guidelines.

We actively encourage you to jump in and help with any issues!

Building XPlat Windows APIs

XPlat Windows APIs have been built using .NET Standard, taking advantage of the new SDK-style projects and multi-targeting enabled with the help of MSBuild.Sdk.Extras.

You can build the solution using Visual Studio with the following workloads installed:

  • .NET desktop development
  • Universal Windows Platform development
  • Mobile Development with .NET
  • .NET Core cross-platform development

License

XPlat Windows APIs are made available under the terms and conditions of the MIT license.