Xamarin Essentials : Une librairie pour les dominer toutes
Durant la BUILD les équipes de Xamarin ont annoncé la sortie de la version preview de Xamarin Essentials. Cette librairie va centraliser toutes les API multiplateformes essentielles pour les applications mobiles.
Avant Xamarin Essentials, il fallait rechercher parmi la longue liste de plugins déjà existants et, parfois, choisir entre deux plugins offrant les mêmes fonctionnalités. Avec Essentials plus besoin de se prendre la tête : tout est fourni.
La première version supporte :
- Accéléromètre : vous permet de surveiller les capteurs accéléromètres du périphérique qui indique l’accélération de l’appareil dans un espace tridimensionnel.
- App Information : fournit des informations sur l’application comme le nom du package, numéro de version, numéro de build.
- Battery : permet d’avoir des informations sur la batterie du matériel (s’il est en charge, le % pourcentage restant …)
- Clipboard : permet d’accéder au presse papier du matériel
- Compass : permet d’accéder à la position géographique de l’utilisateur
- Connectivity : permet de récupérer les infos de connectivité (suis-je en 4G ou Wifi ? )
- Data Transfer : permet d’accéder aux API de partage de données : partager un texte, un mail…
- Device Information : permet de récupérer toutes les informations sur le matériel : le modèle, le nom, la version, la plateforme…
- File System Helpers : permet d’accéder au système de fichier : créer un fichier /dossier, supprimer un dossier…
- Email : permet d’ouvrir l’application de messagerie par défaut
- Flashlight : permet d’activer/désactiver la lampe torche
- Geocoding : pemet de faire des opérations de géocodage
- Geolocation : permet de récupérer la position géographique du téléphone
- Gyroscope : permet de surveiller les capteurs gyroscopiques du périphérique
- Magnetometer : permet de surveiller les capteurs du magnétomètre
- Open Browser : permet d’ouvrir des liens dans le navigateur par défaut du téléphone
- Phone Dialer : permet à une application de lancer un appel téléphonique
- Preferences : permet de stocker des préférences utilisateur dans un magasin clé/valeur
- Screen Lock : permet de verrouiller l’écran
- Secure Storage : permet de stocker en toute sécurité des paires clé/valeur simple. C’est très utile par exemple pour conserver un token d’API.
- SMS : permet à une application ouvrir l’application de SMS par défaut
- Text-to-Speech : permet d’utiliser le synthétiseur vocal
- Version Tracking : permet de savoir si l’application est lancée pour la première fois, ou si c’est la première fois pour la version courante …
- Vibrate : permet de lancer des vibrations.
Les plateformes supportées sont :
- iOS (10+)
- Android (4.4+)
- UWP (Fall Creators Update+)
A noter qu’ils travaillent aussi à supporter Tizen.
Comment utiliser Xamarin.Essentials ?
Il suffit d’installer le nuget suivant : Xamarin.Essentials.
A noter qu’a l’heure où j’écris ces lignes Xamarin n’a pas encore release une version stable, nous sommes à la version 0.6.
Récupérer l’état de la batterie
Récupérer le niveau de batterie :
1
|
var niveau = Battery.ChargeLevel; // chiffre compris entre 0.0 et 1.0. Retourne – 1 si inconnu |
Récupérer l’état de la batterie :
1
2
|
var etat = Battery.State;</pre> <pre> |
Attention sur Android il faudra ajouter la directive suivante pour que cela fonctionne.
1
|
[assembly: UsesPermission(Android.Manifest.Permission.Battery)] |
Lire et écrire dans les préférences
Récupérer une valeur dans les préférences :
1
|
var myValue = Preferences.Get( "ma_clef" , "valeur_par_defaut" ); |
Définir une valeur :
1
|
Preferences.Set( "ma_clef " , "ma_valeur" ); |
Supprimer une clef :
1
|
Preferences.Remove( "ma_clef" ); |
Supprimer toutes les préférences :
1
|
Preferences.Clear(); |
Stocker une de façon sécurisée
Enregistrer la valeur dans le magasin sécurisé :
1
|
await SecureStorage.SetAsync( "oauth_token" , "secret-oauth-token-value" ); |
Récupérer la valeur dans le magasin sécurisé :
1
|
var oauthToken = await SecureStorage.GetAsync( "oauth_token" ); |
Pour conclure :
Les équipes de Xamarin essayent vraiment de simplifier la vie des développeurs multiplateformes. Leur initiative pour réunir tous ces plugins en une seule dll est une très bonne initiative.
Pour aller plus loin :
- Le site github du projet : https://github.com/xamarin/Essentials
- Développez vos applications multiplateformes pour iOS, Android et Windows
Commentaires