En 2017, les smartphones sont presque tous équipés de connexion internet, ce qui a permis de rendre les applications mobiles dépendantes de webservices.
À quoi sert donc un webservice dans une application mobile ?
Les webservices ou services web sont principalement utilisés pour communiquer entre deux machines, exemple client-serveur. Pour mieux comprendre, le client est notre application et le serveur est notre back-office. Prenons une application qui liste les articles d’un site wordpress. Grâce aux services web, si j’ajoute un nouvel article dans mon site, il sera automatiquement ajouté à mon application Android iOS.
API REST
Les API REST sont les plus connues et courantes des web-services que l’on peut retrouver dans une application mobile. La communication est basée sur des requêtes client et serveur. L’application lance une requête HTTP, et le back-office renvoie une réponse. Il existe plusieurs méthodes de requêtes comme GET, PUT, POST, DELETE.
Exemple d’URI d’API REST
1 | https://restcountries.eu/rest/v2/region/Europe |
Webservices dans une application mobile, JSON ou XML
Dans les API REST souvent pour l’intégration des réponses, on utilise généralement le format JSON (JavaScript Object Notation), plus léger et moins verbeux que le XML (eXtensible Markup Language). On peut bien sûr utiliser l’un ou l’autre malgré tout.
Comme énoncé précédemment, Le jSON est plus rapide d’exécution, mais il est surtout plus simple à parcourir et à lire. La syntaxe comprends les éléments suivants :
- Un objet, qui contient d’autres objets ou des variables qui se distinguent par une accolade de début et de fin
- Un tableau, représenté par des crochets
- Une variable scalaire : Number, String, Boolean.
- Les valeurs littérales : null, true, false, chaîne de caractères, et les valeurs numériques.
Exemple de retour jSON
{
name: “France”,
topLevelDomain: [
“.fr”
],
alpha2Code: “FR”,
alpha3Code: “FRA”,
callingCodes: [
“33”
],
capital: “Paris”,
altSpellings: [
“FR”,
“French Republic”,
“République française”
],
region: “Europe”,
subregion: “Western Europe”,
population: 66710000,
latlng: [
46,
2
],
demonym: “French”,
area: 640679,
gini: 32.7,