Co je GraphQL?

GraphQL je velmi výkonný dotazovací jazyk používaný pro komunikaci dat mezi klientem, prohlížečem, serverem a umožňuje nám strukturovat aplikace založené na datech mnohem flexibilnějším a účinnějším způsobem, než by to udělal klidný přístup. Představte si tedy, že jsme pro web, který zobrazuje knihy a autory, vytvořili nějaký klidný API. Nyní, abychom získali informace o konkrétní knize a zobrazili tyto informace na webové stránce, pravděpodobně bychom udělali požadavek AJAX na koncový bod. To by přineslo zpět některé informace, jako je název, žánr, recenze atd.

Definice

GraphQL je serverová technologie s otevřeným zdrojovým kódem vyvinutá společností Facebook za účelem optimalizace volání RESTful API. Je to jazyk dotazů na data a spouštěcí modul.

Porozumění GraphQL

Schémata v GraphQL lze psát v GraphQL Schema Definition Language nebo SDL. SDL je snadno pochopitelné a snadno se učí. Schémata v To jsou silně napsané, které jsou užitečné pro vývojáře způsoby, které nebylo možné těžit z API bez schémat.

Nejen to, že GraphQL schéma je podpůrný systém GraphQL API. Schéma vysvětluje možné výstupy nebo odpovědi na zadané argumenty. Schéma GraphQL dobře definuje podporované operace i schopnosti API bez selhání.

Jak GraphQL usnadňuje práci?

Snižuje množství dat, které je přenášeno přes drát, a tím, že je o datech výběr v závislosti na potřebách klienta. Mobilní klient proto stahuje méně informací, jak je potřeba na menší obrazovce. Největší problémy s většinou API dnes spočívají v tom, že nemají silné smlouvy na to, jak by jejich operace měly vypadat. Vývojáři se ocitli v situacích, kdy se očekává, že budou pracovat se zastaralou a nedostatečnou dokumentací API, která postrádá správné způsoby, jak zjistit, jaké operace jsou API podporovány a jak je používat. GraphQL, na druhé straně, má řádnou dokumentaci.

Co můžete dělat s GraphQL?

Struktura serverů GraphQL je taková, že umožňuje deklarativně načíst data. Usnadňuje shromažďování požadovaných dat pouze s jedním požadavkem.

Představme si například situaci, kdy si osoba vyžádá podrobnosti o konkrétním zpěvákovi, jako je jméno, skladby atd. U tradičního vzoru REST by to vyžadovalo minimálně dvě žádosti do dvou koncových bodů, tj. / Umělců a / skladeb. Pokud je však použijeme, všechna data lze definovat pomocí jediného dotazu GraphQL a vyžádat si více zdrojů.

Práce s GraphQL

To usnadnilo život vývojářů frontendu. Všechny kredity jdou do klientských knihoven GraphQL, jako je Apollo nebo Urql. Vývojáři frontend získávají různé funkce, jako je ukládání do mezipaměti nebo optimistické aktualizace uživatelského rozhraní, zcela zdarma s poli, která by mohla mít celé týmy věnované práci na nich, pokud by tam GraphQL nebyla. S pomocí GraphQL je nyní možné kompletně přepracovat uživatelské rozhraní aplikace, aniž by se dotklo backendu.

Výhody

GraphQL API mají silně zadané schéma

  • Žádné overfetching a underfetching
  • Umožňuje rychlý vývoj produktu
  • Bohatý open-source ekosystém a úžasná komunita

Požadované dovednosti

Uživatel musí především ovládat minimálně jeden programovací jazyk a základní koncepce tohoto jazyka. Musíte také ovládat syntaxi jazyka Javascript a syntaxe ES6.

Rozsah

Nyní je to jen ohromný skok před návrhem REST API. GraphQL přímo modeluje všechny druhy datových přenosů, které musí klient provést, aby mohl vykonávat svou práci. Očekává se, že v průběhu příštích let dojde v tomto prostoru k výraznému zdokonalení.

Proč to potřebujeme a proč bychom měli používat GraphQL?

Pokud jste front-endový vývojář, pravděpodobně nebudete se schématem pracovat, ale bude sloužit jako důležitý dokument, který vám umožní vědět, jaké dotazy můžete dělat.

Pokud to porovnáte s jinými standardy API, jako je Swagger for REST API, musíte věřit, že kdokoli napsal dokumentaci, napsal to opravdu dobře, se všemi zdokumentovanými případy. Nástroj Swagger nevynucuje kontrolu typu pro různá pole, takže můžete mít platný soubor Swagger YAML, který je nyní také obtížně navigovatelný.

Jakékoli platné schéma GraphQL samo o sobě bude velmi užitečné pro každého, kdo ví, s jakým druhem dat se zabývá, a to i v případě, že to není řádně zdokumentováno.

Kdo je tím pravým publikem pro učení technologií GraphQL?

GraphQL je k dispozici pro velké publikum. Zahrnují straně klienta i serveru, protože poskytují velký ekosystém knihoven pro obě strany.

Jak vám tato technologie pomůže v kariérním růstu?

Bylo by opravdu vděčné pro všechny vývojáře, ať už se jedná o ty, kteří mají dobrý přehled o React, Angular nebo Android, dozvědět se o GraphQL a neustále jej používat. Existují různé komunity, které rozšiřují podporu pro začátečníky, kteří používají GraphQL, jako jsou organizace Slack channel, Apollo a GraphQL GitHub.

Nezapomeňte navštívit jejich portály, kde najdete podporu a nejnovější aktualizace.

Pestrá společnost nyní přechází na GraphQL, protože rozumí jejich budoucím vyhlídkám a významu.

Závěr

Na základě těchto diskusí můžeme dojít k závěru, že se jedná o vzrušující technologii, ale je nutné porozumět kompromisům dříve, než učiníte důležitá architektonická rozhodnutí. Rozhraní API, jako jsou API s několika entitami a vztahy mezi entitami, nejsou pro GraphQL opravdu vhodné. Ale aplikace s různými doménovými objekty, jako jsou e-commerce aplikace, kde máte mnoho entit, se pro ni mohou hodit mnohem více. Je to opravdu mocný nástroj, s mnoha důvody, proč si jej vybrat ve svých projektech, ale každopádně nemusíte zapomenout, že nejdůležitější je vybrat ten, který nástroj je pro váš projekt vhodný.

Doporučené články

Toto byl průvodce Co je GraphQL. Zde jsme diskutovali o pracovních, požadovaných dovednostech, rozsahu, kariérním růstu a výhodách GraphQL. Další informace naleznete také v dalších navrhovaných článcích -

  1. Co je MySQL?
  2. Jak nainstalovat JavaScript
  3. Co je Python
  4. Co je SQL Server?

Kategorie: