P42.Uno.Xamarin.Essentials
4.7.37
See the version list below for details.
dotnet add package P42.Uno.Xamarin.Essentials --version 4.7.37
NuGet\Install-Package P42.Uno.Xamarin.Essentials -Version 4.7.37
<PackageReference Include="P42.Uno.Xamarin.Essentials" Version="4.7.37" />
paket add P42.Uno.Xamarin.Essentials --version 4.7.37
#r "nuget: P42.Uno.Xamarin.Essentials, 4.7.37"
// Install P42.Uno.Xamarin.Essentials as a Cake Addin #addin nuget:?package=P42.Uno.Xamarin.Essentials&version=4.7.37 // Install P42.Uno.Xamarin.Essentials as a Cake Tool #tool nuget:?package=P42.Uno.Xamarin.Essentials&version=4.7.37
P42.Uno.Xamarin.Essentials
A Uno flavor of Xamarin.Essentials to help developers transition to Uno
Xamarin.Essentials gives developers essential cross-platform APIs for their mobile applications. But it and Xamarin.Forms is going away. That gives developers a chance to reflect upon what Cross Platform XAML framework would be best for their applications - and, if you're actually willing to consider that question, the answer is going to be UNO.
The library is a port of Xamarin.Essentials for use with the Uno Platform. It is intended as a bridge for developers as not all the features and functions of Xamarin.Essentials has implementations in WinUI.
Xamarin.Essentials
iOS, Android, and UWP offer unique operating system and platform APIs that developers have access to, all in C# leveraging Xamarin. It is great that developers have 100% API access in C# with Xamarin, but these APIs are different per platform. This means developers have to learn three different APIs to access platform-specific features. With Xamarin.Essentials, developers have a single cross-platform API that works with any iOS, Android, or UWP application that can be accessed from shared code no matter how the user interface is created.
Questions
Get your technical questions answered by experts on Microsoft Q&A.
Contribution Discussion
Contributing to Xamarin.Essentials? Join our Discord server and chat with the team
Build Status
Build Server | Type | Platform | Status |
---|---|---|---|
Azure DevOps | Build | Windows |
Installation
Xamarin.Essentials is available via NuGet & is included in every template:
- NuGet Official Releases:
- Nightly / CI Releases: https://aka.ms/xamarin-essentials-ci/index.json
Please read our Getting Started with Xamarin.Essentials guide for full setup instructions.
Documentation
Browse our full documentation for Xamarin.Essentials, including feature guides, on how to use each feature.
Supported Platforms
Platform support & feature support can be found on our documentation
Contributing
Please read through our Contribution Guide. We are not accepting new PRs for full features, however any issue that is marked as up for grabs
are open for community contributions. We encourage creating new issues for bugs found during usage that the team will triage. Additionally, we are open for code refactoring suggestions in PRs.
Building Xamarin.Essentials
Xamarin.Essentials is built with the new SDK-style projects with multi-targeting enabled. This means that all code for iOS, Android, and UWP exist inside of the Xamarin.Essentials project.
Visual Studio
A minimum version of Visual Studio 2019 16.3 or Visual Studio for Mac 2019 8.3 are required to build and compile Xamarin.Essentials.
Workloads needed:
- Xamarin
- .NET Core
- UWP
You will need the following SDKs
- Android 10.0, 9.0, 8.1, 8.0, 7.1, 7.0, & 6.0 SDK Installed
- UWP 10.0.16299 SDK Installed
Your can run the included android-setup.ps1
script in Administrator Mode and it will automatically setup your Android environment.
FAQ
Here are some frequently asked questions about Xamarin.Essentials, but be sure to read our full FAQ on our Wiki.
License
Please see the License.
Stats
<img src="https://repobeats.axiom.co/api/embed/f917a77cbbdeee19b87fa1f2f932895d1df18b31.svg" />
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-android33.0 is compatible. net7.0-ios was computed. net7.0-ios16.1 is compatible. net7.0-maccatalyst was computed. net7.0-maccatalyst16.1 is compatible. net7.0-macos was computed. net7.0-macos13.0 is compatible. net7.0-tvos was computed. net7.0-windows was computed. net7.0-windows10.0.18362 is compatible. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- Newtonsoft.Json (>= 13.0.2)
- Uno.WinUI (>= 4.7.37)
-
net7.0-android33.0
- Newtonsoft.Json (>= 13.0.2)
- Uno.WinUI (>= 4.7.37)
- Xamarin.AndroidX.Browser (>= 1.3.0.5 && < 1.4.0.3)
-
net7.0-ios16.1
- Newtonsoft.Json (>= 13.0.2)
- Uno.WinUI (>= 4.7.37)
-
net7.0-maccatalyst16.1
- Newtonsoft.Json (>= 13.0.2)
- Uno.WinUI (>= 4.7.37)
-
net7.0-macos13.0
- Newtonsoft.Json (>= 13.0.2)
- Uno.WinUI (>= 4.7.37)
-
net7.0-windows10.0.18362
- Microsoft.WindowsAppSDK (>= 1.1.3)
- Newtonsoft.Json (>= 13.0.2)
- PInvoke.User32 (>= 0.7.104)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on P42.Uno.Xamarin.Essentials:
Package | Downloads |
---|---|
P42.ZXing.Net.Mobile
Xamarin.Essentials with limited Uno Platform support |
|
P42.VirtualKeyboard
VirtualKeyboard Responder |
|
P42.Microsoft.Datasync.Client
A client package for communicating with a Microsoft Datasync service. Formally known as Azure Mobile Apps |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
5.0.118 | 331 | 2/21/2024 |
5.0.64 | 360 | 12/30/2023 |
5.0.48 | 268 | 12/6/2023 |
4.9.45 | 412 | 9/8/2023 |
4.9.26 | 407 | 7/26/2023 |
4.9.17 | 384 | 6/30/2023 |
4.8.24 | 381 | 5/17/2023 |
4.8.15 | 437 | 4/25/2023 |
4.7.44 | 403 | 3/28/2023 |
4.7.37 | 425 | 2/8/2023 |
4.6.39 | 488 | 1/16/2023 |
4.6.39-winui.0.4 | 122 | 1/13/2023 |
4.6.19-winui.0.4 | 100 | 11/15/2022 |
4.5.9-winui.0.4 | 150 | 9/27/2022 |
4.5.9-winui.0.1 | 135 | 9/21/2022 |
0.1.2 | 758 | 7/12/2022 |
0.1.0 | 745 | 4/20/2022 |
Refactor WASM into separate project