Introduzione a GraphQL
Questa è la parte 1 della serie per GraphQL e Adobe Commerce. GraphQL è rapidamente diventato lo standard di settore per la potenza delle applicazioni lato client che comunicano con un back-end. È un argomento sempre più rilevante per gli sviluppatori di Adobe Commerce, in quanto la piattaforma continua a espandere le proprie funzionalità nel regno delle implementazioni headless.
Se hai poca esperienza con GraphQL, questa sezione ti indirizza ai concetti e all’utilizzo di base.
Video e tutorial correlati su GraphQL in questa serie
Cos’è GraphQL?
GraphQL è una specifica per un linguaggio di query API univoco e per il runtime che fornisce dati in risposta a tale linguaggio di query.
Le API web tradizionali come REST sono state utili per diversi sistemi che trasmettono dati avanti e indietro, ma hanno fornito prestazioni inferiori al picco per esperienze di collegamento alle app moderne come i Progressive Web Application. In applicazioni come questa, i livelli front-end e back-end dell'applicazione same comunicano tramite API Web. L’approccio regolamentato di schemi come REST spesso non fornisce la flessibilità appropriata in questo contesto, dove molti tipi di dati devono essere recuperati rapidamente.
GraphQL consente a un client di descrivere in modo esplicito esattamente i dati necessari. Invece di richiedere più richieste di rete per recuperare più tipi di dati, una singola richiesta può eseguire query per molti tipi. Inoltre, le risposte sono mantenute snelle includendo (in un formato che rispecchia intuitivamente la query) solo i tipi e i campi richiesti.
Il runtime che implementa le specifiche GraphQL può essere creato in qualsiasi linguaggio. Adobe Commerce e Magento Open Source utilizzano
graphql-php implementazione PHP e crea i propri livelli sopra di esso.
Utilizzo di un client GraphQL
Per testare esempi di codice e tutorial è necessario un client GraphQL con interfaccia grafica. Sono disponibili diverse opzioni:
- Altair è un client eccellente e completo di tutte le funzionalità creato appositamente per GraphQL. L’Adobe utilizza Altair nei video con procedura guidata.
- Se non desideri installare l’applicazione desktop, esistono anche estensioni Altair che vengono eseguite direttamente nel
Browser Chrome, Firefox o Edge. - GraphiQL è un'implementazione dell'IDE di GraphQL di GraphQL Foundation. Non si tratta di uno strumento installabile, ma di un pacchetto che puoi utilizzare per creare l’interfaccia da solo.
- Se hai già familiarità con Postman, dispone di un supporto decente per le query GraphQL, anche se non è completamente disponibile come un client GraphQL dedicato.
Nel client GraphQL, devi inviare le richieste al percorso URL /graphql
nell'istanza Adobe Commerce o Magento Open Source. Se preferisci utilizzare un'istanza esistente per i test, puoi utilizzare la demo del tema Venia (l'implementazione di PWA Studi): https://venia.magento.com/graphql