# What's new in Xamarin.Essentials 1.1?

> During the BUILD 2018, I was announcing the arrival of Xamarin Essentials., a software library making life easier for Xamarin developers. This one just got…

- Author: Jérôme Giacomini
- Language: en
- Canonical URL: [What's new in Xamarin.Essentials 1.1?](https://jeromegiacomini.net/articles/2019/03/26/what-s-new-in-xamarin-essentials-1-1)
- Published: 2019-03-26
- Last modified: 2026-09-05
- Topics: .NET, C#, DevOps, Xamarin

During the BUILD 2018, [I was announcing the arrival of Xamarin Essentials.](https://blogs.infinitesquare.com/posts/build2018/xamarin-essentials-une-librairie-pour-les-dominer-toutes), a software library making life easier for Xamarin developers.

This one just got upgraded to version 1.1 and we're going to find out together what's new.

![](https://jeromegiacomini.net/Blog/wp-content/uploads/2019/03/Essentials.png)

## The new features

Four new features are emerging:

one to help facilitate the use of colours

a helper to facilitate the use of sizes (Point, Size, Rectangle)

– the ability to customize browser colors

the possibility of detecting an earthquake

### Color Helper

In Xamarin applications a helper was always needed to convert colors from one format to another.

To obtain a color from a hexadecimal code it is sufficient to:

```csharp

System.Drawing.Color red = ColorConverters.FromHex("#FF0000");

```


Once the colour is created, there are a number of extension methods to change it simply:

All of them

MultiplyAlpha,

WithHue,

WithAlpha,

WithSaturation,

WithLuminosity,

…

This colour may be easily converted to platform colour by the following method:

```csharp

var platformColor = red.ToPlatformColor();

```


The reverse is also possible:

```csharp

var platformColor = UIColor.Red;
var systemColor = platformColor .ToSystemColor();

```


[More info, this way.](https://docs.microsoft.com/fr-fr/xamarin/essentials/color-converters)

### Size Helper

Converting units of measurement (Point, Rectangle, Size...) into universal structures has never been easy.

With these new APIs, everything is managed for us.

**Example d’use with the structure Point:**

```csharp

var system = new System.Drawing.Point(x, y);

// Convertit vers CoreGraphics.CGPoint, Android.Graphics.Point, etWindows.Foundation.Point
var platform = system.ToPlatformSize();

// Reconvertit vers System.Drawing.Point
var system2 = platform.ToSystemSize();

```


Classes **System . Drawing . Point**, **System. Drawing. Rectangle**, **System. Drawing. Size** are managed by default.

[More info, this way.](https://docs.microsoft.com/fr-fr/xamarin/essentials/platform-extensions)

### Detecting earthquakes

The first thing to detect tremors is to subscribe to the method **ShakeDetected**.

```csharp

Accelerometer.ShakeDetected  += ShakeDetected;

```


Then we can customize the code when an earthquake is detected.

```csharp

private void Accelerometer_ShakeDetected (object sender, EventArgs e)
{
     Debug.WriteLine("Secousse détectée");
}

```


[More info, this way.](https://docs.microsoft.com/fr-fr/xamarin/essentials/detect-shake)

### Open your browser, more personalization

The first version of the Browser.OpenAsync API allowed the browser to be opened without any other burst.

With this API update, Xamarin Essentials gives us access to more personalization:

– ability to customize the color of the browser closing buttons

– the ability to view the TitleBar or not

**Open the browser with the new options:**

```csharp

await Browser.OpenAsync(uri, new BrowserLaunchOptions
                {
                    LaunchMode = BrowserLaunchMode.SystemPreferred,
                    TitleMode = BrowserTitleMode.Show,
                    PreferredToolbarColor = Color.Red,
                    PreferredControlColor = Color.Pink
                });

```


[More info, this way.](https://docs.microsoft.com/fr-fr/xamarin/essentials/open-browser)

## Fixed bug

This version also contains 6 fixed bugs, 5 of which were corrected by the community.
- [GH-714](https://github.com/xamarin/Essentials/issues/714) Fixes a bug on the launch of iOS Uri .
- [GH-698](https://github.com/xamarin/Essentials/issues/698) Fixes a bug in the connectivity display on Android
- [GH-704](https://github.com/xamarin/Essentials/issues/704) Fixes a bug on the SecureStorage iOS
- [GH-694](https://github.com/xamarin/Essentials/issues/694) VS d’Hyper V emulators are now detected as emulators
- [GH-636](https://github.com/xamarin/Essentials/issues/636) Optimization of preferences
- [GH-707](https://github.com/xamarin/Essentials/issues/707) Fixes the sending of empty mail to UWP


## Support for other platforms?

Two platforms are currently supported:
- macOS
- Tizen


[Adding the macOS backend](https://github.com/xamarin/Essentials/pull/653) is more than half of its development.

[The addition of Tizen is done in collaboration with Samsung's teams.](https://github.com/xamarin/Essentials/pull/555) This one's almost finished.

## To conclude:

The arrival of Xamarin Essentials has really made life easier for Xamarin developers, and the fact that the Xamarin teams are enriching this library day by day is good news for us.

Happy coding 🙂

## To go further:
- [Release notes for Xamarin Essentials](https://github.com/xamarin/essentials/wiki/Release-Notes)
- [Xamarin Essentials: A software library to dominate them all](https://blogs.infinitesquare.com/posts/build2018/xamarin-essentials-une-librairie-pour-les-dominer-toutes)
- [The GitHub of Xamarin Essentials](https://github.com/xamarin/Essentials)
