Mika A.

Blog Simple :)

Étiquette : react-native

Mutations GraphQL en arrière-plan sur React Native

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

React Native Android – Générer versionCode et versionName depuis package.json

En travaillant sur un nouveau projet React Native, j’ai essayé d’améliorer la configuration pour faciliter au tant que possible les mises à jour.

Rappel

Je vais commencer par rappeler rapidement le fonctionnement des mise à jours d’applications, particulièrement pour Android sur le Play Store. Quand on veut soumettre une nouvelle version d’une application sur Play Store, il est demandé de télécharger un fichier APK avec un versionCode (nombre entier) supérieur à celui du dernier APK envoyé.

Par exemple, la toute première version de l’application publiée sur Play Store peut porter le versionCode 1. Une nouvelle mise à jour doit avoir versionCode 2 ou plus et ainsi de suite à chaque mise à jour.

De manière générale, le versionCode peut être déclaré dans AndroidManifest.xml ou dans la configuration de Gradle (build.gradle) comme on peut le voir ci-dessous:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.myproject"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode generatedVersionCode
        versionName generatedVersionName
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }
// ...
}

Lire la suite

Fièrement propulsé par WordPress & Thème par Anders Norén