GraphQL est un langage très puissant simplifiant les échanges de données entre une application et un serveur distant. Je l’ai utilisé avec React Native pour récupérer les données à afficher sur une vue. Cependant GraphQL permet aussi d’envoyer des données vers un serveur, on parle alors de Mutations.

La problématique

La qualité de réseau et l’accès à internet ne sont pas toujours assurés sur un appareil mobile puisque l’utilisateur se déplace. Ainsi, il y a plus de chance que la synchronisation avec le serveur échoue. Cela peut poser des problème, en particulier si l’utilisateur essaie d’envoyer des données vers le serveur (mutation). Nous voulons donc mettre en place un système qui renvoie les mutations tant qu’elles n’ont pas été délivrées au serveur. Nous allons faire en sorte que ce système fonctionne que l’application soit ouverte ou en arrière-plan.

Lire la suite