Skip to content

XPlat-Apps/XPlat-Windows-APIs

Repository files navigation

XPlat Windows APIs project banner

XPlat Windows APIs

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

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

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

Build Status πŸ—οΈ

Build Status Current Preview
Packages CI NuGet NuGet
Docs Docs N/A N/A

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.ApplicationModel.DataTransfer 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.Services.Maps 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 documentation for XPlat Windows APIs!

Supported Platforms πŸ“±

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

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