Grandstack pour simplifier le développement d’apps gourmandes en données

Centrée sur JavaScript, Grandstack de Neo4j utilise un schéma strict pour l’API et permet de piloter le modèle de base de données et de traduire les requêtes GraphQL en Cypher.

L’architecture de la plateforme de développement Grandstack avec les passerelles vers Neo4j, GraphQL et React.

La ressource Grandstack développée par le concepteur de bases de données graphiques Neo4j est destinée aux applications web et mobiles full-stack impliquant une manipulation complexe de données. La pile Grand combine plusieurs technologies pouvant répondre aux besoins d’applications évolutives et adaptées à l’usage de JavaScript. La pile peut s’intégrer avec GraphQL et Neo4j afin de faciliter leur usage combiné par les développeurs. GraphQL permet de définir un schéma strict qui sera utilisé comme modèle pour une API. L’intégration avec Neo4j permet à ce schéma de piloter le modèle de base de données et de traduire les requêtes GraphQL en Cypher.

Par ailleurs, Grandstack permet une transversalité de graphe plus complexe. Les développeurs n’ont pas besoin d’implémenter des fonctions de résolveur pour le serveur GraphQL car elles sont fournies par la pile en fonction du schéma. Les fonctions de résolveur définissent la façon de récupérer des données dans une implémentation de serveur GraphQL, soit à partir d’une base de données, soit à partir d’une API. La pile elle-même est encore en développement. Par exemple, l’intégration Neo4J-GraphQL est encore en bêta, l’éditeur voulant offrir une intégration plus étroite avec la base de données. Notamment pour ce qui est de l’accès basé sur les rôles aux zones de schéma.

Tous les composants de la pile sont open source. Ils incluent :

– Le langage de requête et le runtime GraphQL pour la construction d’API, développé par Facebook.

– La librairie React JavaScript de Facebook pour créer des interfaces utilisateurs.

– La suite d’outils Apollo pour construire des workflows GraphQL.

– La base de données graphique Neo4j, qui permet la modélisation des données en temps réel via le langage Cypher.

Dans les premiers temps au moins, JavaScript sera indispensable dans Grand, car il est utilisé par React, les outils Apollo et l’intégration Neo4J-GraphQL. Node. js, pour le JavaScript côté serveur, est également utilisé comme plate-forme cible.

Un atelier pour découvrir la stack Grand

Pour montrer le fonctionnement de Grandstack, Neo4j a mis en place un atelier en ligne utilisant la pile qui explique comment construire une application web conseillant sur les films à voir. « L’application peut être développée facilement avec Grandstack : il suffit aux développeurs d’annoter les champs GraphQL avec une requête Cypher indiquant comment générer une recommandation », a expliqué Will Lyon, ingénieur logiciel de Neo4j, à l’origine des intégrations GraphQL et Neo4j de la pile.

Les ressources du projet sont disponibles sur Grandstack.io. Les développeurs peuvent accéder aux projets composant la pile sur les sites Web du projet ou sur GitHub via les liens suivants : GraphQL ; React ; Apollo ; Neo4j.

chevron_left
chevron_right