Xamarin.Essentials Mobile-Centric APIs Add macOS Desktop Support

Xamarin.Essentials provides -- as the name suggests -- essential APIs that mostly focus on mobile applications, originally targeting iOS, Android and Universal Windows Platform (UWP).

Those dozens of essential APIs have provided functionality for everything from accelerometer to vibrate for the above, along with additional targets added later including Tizen, tvOS and watchOS.

"Xamarin.Essentials provides a single cross-platform API that works with any Xamarin.Forms, Android, iOS, or UWP application that can be accessed from shared code no matter how the user interface is created," the documentation reads.

In the latest preview, version 1.6, macOS has been added to that list.

"Since the first release of Xamarin.Essentials the team and community have been continuously working to add more platforms to fit developer's needs," said James Montemagno, principal lead program manager, .NET Community, in an Oct .7 blog post. "After adding tvOS, watchOS, and Tizen support the next natural step was first class support for macOS to compliment the UWP desktop support. I am pleased to announce most APIs are now supported for macOS 10.12.6 (Sierra) and higher!"

Also announced were new APIs:

  • MediaPicker: lets a user pick or take a photo or video on the device
    Media Picker in Animated Action
    [Click on image for larger, animated GIF view.] Media Picker in Animated Action (source: Microsoft).
  • File Picker: lets a user pick a single or multiple files from the device
  • App Actions: lets you create and respond to app shortcuts from the app icon
  • Contacts: lets a user pick a contact and retrieve information about it

"This means that Xamarin.Essentials now offers over 50 native integrations with support for 7 different operating systems," Montemagno said. "All from a single library that is optimized for performance, linker safe, and production ready."

All the supported platforms, including details about which APIs work with each, can be seen here.

The project's GitHub site is here.

Documentation is here.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


Subscribe on YouTube