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
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.
Base
Capire GraphQL, scrivere query e leggere uno schema
Intermedio
Mutation, tipi avanzati, paginazione e il primo server
Avanzato
Resolver avanzati, sicurezza e client in produzione
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
- Crea la cartella, esegui npm init -y, aggiungi "type": "module" e installa graphql, graphql-yoga e dataloader.
- Scrivi lo schema: Categoria (enum), Fornitore, Prodotto con relazione al fornitore e Query con filtro e paginazione.
- Aggiungi i tipi input e le mutation aggiungiProdotto e cambiaPrezzo.
- Scrivi i resolver, con un massimo di 50 per il parametro primi.
- Aggiungi un DataLoader per i fornitori, creato nel contesto a ogni richiesta.
- Proteggi le mutation: leggi l'intestazione authorization e rifiuta con un GraphQLError se la chiave non è corretta.
- 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.
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.