Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Apollo Server: il GraphQL Server per NodeJS

Apollo Server: il GraphQL Server per NodeJS
Link copiato negli appunti

Apollo Server è un GraphQL Server open source che nel giro di circa un anno di sviluppo è riuscito a crearsi una community estesa ed attiva in grado di migliorare costantemente il progetto. In questi mesi il team ha tagliato il traguardo dei 4 mila download, non pochi considerando la natura dell'applicazione, e questa soluzione viene utilizzata in fase di produzione da numerose aziende. Per festeggiare questi risultati è stata rilasciata di recente una nuova versione stabile, Apollo Server 1.0.

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

Ti consigliamo anche