GraphQL è un data query language sviluppato da Facebook. Si propone come alternativa alle soluzioni REST e alle architetture Web service più diffuse. Esso permette ai client di definire la strutta dei dati richiesti, informazioni che poi verranno restituite dal server esattamente come formulato dall'utente.

Apollo Server viene implementato seguendo tre semplici principi:

  • è un prodotto creato dalla community per la community, lo sviluppo infatti è guidato dalle esigenze degli sviluppatori;
  • semplice da usare ed è semplice contribuire al suo sviluppo migliorandolo costantemente;
  • il team di sviluppo si assicura sempre che il codice di Apollo Server sia testato in modo adeguato cosi da essere pronto per gli ambienti di produzione con il massimo livello di prestazioni.

Di seguito un esempio pratico di come sia facile creare uno schema GraphQL con l'aiuto di Apollo Server:

import express from 'express';
import bodyParser from 'body-parser';
import {
  graphqlExpress,
  graphiqlExpress
} from 'apollo-server-express';

const myGraphQLSchema = // .. importazione dello schema
const PORT = 3000;

const app = express();

// bodyParser per le richieste basate su POST
app.use('/graphql', bodyParser.json(), graphqlExpress({ schema: myGraphQLSchema }));

app.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql' }));
app.listen(PORT);

Questo esempio utilizza Express ma è altrettanto semplice ottenere lo stesso risultato con Hapi, Koa, Lambda, Restify o Micro. Chi fosse interessato ad ulteriori sperimentazioni potrà reperire il codice di Apollo Server (distribuito sotto licenza MIT) su Github.

Via Devblog Apollodata

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *