Vasern : une base de données pour React native

Par:
fredericmazue

ven, 19/10/2018 - 13:28

React Native est un framework pour la création d'applications mobiles native dont la popularité connaît une croissance soutenue depuis ces 5 dernières années, mais dont les options de stockage disponibles sont assez limitées, remarque  Hieu Ngyuen, créateur de Vasern.

Je trouve que AsyncStorage et SQLite sont assez lents. En outre, la plupart des applications mobiles ont aujourd'hui besoin de synchroniser leurs données vers le cloud, ce qui signifie que, outre l'optimisation du stockage local, les développeurs doivent se préoccuper de la configuration des serveurs (authentification, sécurité, performances, évolutivité, etc.). Ou payer un service comme Firebase, Realm, souligne Hieu Ngyen pour détailler ses motivations à créer Vasern.

Les objectifs de Vasern sont axés sur la performance, la convivialité pour les développeurs et une accessibilité pour tous. Son moteur est écrit en code natif, afin de fournir des performances natives.

Vasern est open source, disponible sur GitHub. Si Vasern n'existe pour l'instant qu'en version alpha pour iOS, l'ambition du projet est que Vasern devienne une solution de stockage open source de bout en bout pour React Native.

Le morceau de code ci-dessous montre comment utiliser Vasern :

import Vasern from 'vasern';

// Define Todos application schema
const VasernDB = new Vasern({ 
 schemas: [{
    name: "Users",
    props: {
      fname: "string",
      lname: "string"
    }
  },{
    name: "Todos",
    props: {
      name: "string",
      completed: "boolean",
      assignTo: "#Users"
    }
  }]
});

// Add listener whenever Todos has a change (loaded/insert/update/delete)
VasernDB.Todos.onChange(() => {
  // Get all todo items with "completed" is "false"
  const todoList = VasernDB.Todos.filter({ completed: false });

  // Update state  this.setState({ data: todoList.data() });
})