Xamarin.Essentials Gets 'Detect Shake,' Other New Features
Several new features have just been added to Xamarin.Essentials, which provides cross-platform APIs for a variety of device-specific features and functionality in iOS, Android and Universal Windows Platform (UWP) apps.
The idea of Microsoft's open source Xamarin.Essentials is to give developers a single cross-platform API that works with any of those apps that can be leveraged from shared code regardless of how an app's UI was created. This helps relieve developers from the burdensome process of wrestling with three different native API schemes. Instead, they can use one cross-platform API to provide functionality such as Accelerometer, Geolocation, Vibrate and many more.
In announcing Xamarin.Essentials 1.1.0 yesterday (March 18), the Xamarin team's James Montemagno said new features and functionality were driven by developer feedback, pull requests and bug fixes.
"This includes the ability to detect shake movement of the device, customization when opening the browser, ability to check for mock location, and several platform helpers," he said.
Here's how Montemagno described new features:
- Detect shake: Sometimes you need to detect shake movement of a device that your app is running on to open a feedback form or put the app into edit mode. Xamarin.Essentials' built-in Accelerometer API gives you everything you need to calculate this cross-platform. Having to figure out all of the math and queue systems could be a bit much. So we figured why not just create a unique ShakeDetected event that you can register for. You will still have to start the Accelerometer, but now you have the option to get all changes or just when a shake is detected.
- Browser Customization: When you need to launch a Web site the best approach is to use the built-in Open Browser from Xamarin.Essentials. It will automatically handle opening the system optimized browser with SFSafariViewController and Chrome Custom Tabs. In the new release of Xamarin.Essentials you now have more control over the look. You can also get the feel of the browser including the title visibility and the colors of the toolbar and controls.
- Platform Helpers: The core goal of Xamarin.Essentials is to simplify cross-platform app development. Most of the APIs that are part of the library up until now have abstracted common platform features into a single API. Xamarin.Essentials 1.0 launched with a plethora of built-in unit converters such as converting Miles to kilometers or Celsius to Fahrenheit. With this release, we are pleased to introduce several key helper utilities for converting between .NET and platform structures such as Color, Rect, Size, and Point.
More details about Xamarin.Essentials is available in the documentation site.
David Ramel is the editor of Visual Studio Magazine.