Vai al contenuto

Videocorso GraphQL CGFA

Chiedere ai server solo i dati che servono: schema, query, mutation e un server completo con Node.js

  • Partenza: Base
  • 11 ore con gli esercizi
  • 10 lezioni in 3 livelli
  • 2 lezioni gratis

A chi serve

Sviluppatori web e di app che conoscono già le basi di JavaScript e di cosa sia un'API, e vogliono costruire o usare API moderne

Cosa serve per iniziare

  • Basi di JavaScript (variabili, funzioni, oggetti, array)
  • Sapere a grandi linee cosa sono un server e un'API
  • Node.js installato per la parte sul server (versione LTS da nodejs.org)

Cosa installare

Node.js (versione LTS)Si scarica gratis da nodejs.org; serve per creare il server GraphQL e include il comando npm
GraphiQL / GraphQL YogaGraphiQL è l'editor per scrivere e provare le query nel browser; il server di esempio del corso (GraphQL Yoga) lo mostra da solo visitando /graphql
Visual Studio CodeEditor gratuito da code.visualstudio.com; l'estensione "GraphQL: Language Feature Support" colora e controlla schema e query

A cosa ti serve

  • Sviluppatore back-end e full-stack di API moderne
  • Sviluppatore front-end e mobile che usa API GraphQL (Shopify, GitHub e molte aziende le offrono)
  • Integrazione tra servizi e gestionali in azienda
  • Architetto di API per prodotti con tanti client (sito, app, gestionale)

Programma del corso

10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.

Progetto finale: L'API del catalogo della bottega

Costruisci un server GraphQL completo per una bottega partenopea: schema con prodotti, categorie e fornitori, query con filtro e paginazione, mutation protette da una chiave, DataLoader per i fornitori e un piccolo client in JavaScript che mostra l'elenco.

I passi

  1. Crea la cartella, esegui npm init -y, aggiungi "type": "module" e installa graphql, graphql-yoga e dataloader.
  2. Scrivi lo schema: Categoria (enum), Fornitore, Prodotto con relazione al fornitore e Query con filtro e paginazione.
  3. Aggiungi i tipi input e le mutation aggiungiProdotto e cambiaPrezzo.
  4. Scrivi i resolver, con un massimo di 50 per il parametro primi.
  5. Aggiungi un DataLoader per i fornitori, creato nel contesto a ogni richiesta.
  6. Proteggi le mutation: leggi l'intestazione authorization e rifiuta con un GraphQLError se la chiave non è corretta.
  7. Prova tutto in GraphiQL su localhost:4000/graphql, poi scrivi client.js con fetch che mostra nome e prezzo dei prodotti.

Esame e attestato

Alla fine del corso fai l'esame: 15 domande, serve il 75% di risposte giuste. Superato l'esame ottieni l'attestato stampabile con nome, ore, punteggio e un codice di controllo che chiunque può verificare.

Vai all'esame

Glossario di GraphQL

GraphQL
Un linguaggio per chiedere ai server esattamente i dati che servono, con un solo indirizzo.
Schema
L'elenco dei tipi e dei campi disponibili: il contratto tra client e server.
SDL
Il linguaggio con cui si scrive lo schema, con type, enum, input e interface.
Query
Una richiesta di lettura dei dati.
Mutation
Una richiesta che crea, cambia o cancella dei dati.
Campo
Una singola informazione che si può chiedere, come nome o prezzo.
Resolver
La funzione che sa come trovare il valore di un campo.
Variabile
Un valore mandato a parte rispetto al testo della query, con il dollaro davanti.
Fragment
Un gruppo di campi con un nome, riutilizzabile in più query.
Scalare
Un tipo semplice di base: Int, Float, String, Boolean o ID.
Subscription
Un'operazione che manda al client eventi in tempo reale.
DataLoader
Un aiuto che raggruppa tante richieste simili in una sola per evitare il problema N+1.

Le prime 2 lezioni sono gratis

Per il corso completo, scuole e aziende: chiedi le condizioni.