Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Poznaj GraphQL w (trochę więcej niż) 30 minut :)

Poznaj GraphQL w (trochę więcej niż) 30 minut :)

Zastanawiasz się może...?

🤔 Co to właściwie ten GraphQL? 
🤔 Jakie problemy rozwiązuje?
🤔 Kto go używa i dlaczego?
🤔 Czy warto użyć go w swoim projekcie?
🤔 Jak się go dobrze nauczyć?

Zapraszam Cię na prezentację na żywo.

Już za chwilę będziesz wszystko wiedzieć.

✅ Poznasz żargon GraphQL - dowiesz się, m.in. co to są schematy, mutacje, unie, fragmenty i subskrypcje.
✅ Odkryjesz narzędzia ułatwiające pracę z GraphQL.
✅ Dowiesz się w jakich projektach najlepiej go użyć
✅ Powiem Ci jak przekonać szefostwo i zespół do użycia nowej technologii

Michał Taszycki

February 01, 2021
Tweet

More Decks by Michał Taszycki

Other Decks in Programming

Transcript

  1. KIM JESTEM? ▸ Michał Taszycki (@mehowte) ▸ 16 lat doświadczenia

    w programowaniu ▸ Twórca programów szkoleniowych ▸ GraphQL Mastery ▸ Kurs Reacta ▸ Organizator Festiwalu React.js i GraphQL
  2. 1. Co to jest GraphQL? 2. Schema 3. Query 4.

    Mutation 5. Dokument 6. Serwer 7. Klient 8. Resolver 9. Root Value 10. Overfetching 11. Underfetching 12. Schema stitching 13. Federacja 14. Subskrypcje ŻARGON GRAPHQL
  3. 1. Graph Query Language - język zapytań i definiowania schematu

    2. Standard GraphQL - Ścisła specyfikacja języka i implementacji klienta i serwera CO TO JEST GRAPHQL?
  4. 1. Implementacja w dowolnym języku 1. JS/TS - Apollo Server

    2. Python - Graphene 3. Rust - Juniper 4. Elixir - Absinthe 2. Z zewnątrz wygląda tak samo SERWER GRAPHQL
  5. 1. Zwykle komunikuje się po HTTP 1. POST example.com/graphql 2.

    Może też być częścią lokalnej aplikacji (Gatsby.js) SERWER GRAPHQL
  6. 1. Coś co potrafi komunikować się z serwerem 2. Np

    CURL :) 3. Zwykle są do tego specjalne biblioteki (dla ułatwienia) KLIENT GRAPHQL
  7. 1. Funkcja na serwerze dostarczająca dane dla jakiegoś typu 2.

    Serwery mają domyślne resolvery dla typów wbudowanych 3. Niezbędne przy danych rekurencyjnych RESOLVER
  8. 1. Coś co możemy przekazać do głównego resolvera 2. rzadko

    używane 3. przydatne do prototypowania (pokażę na DEMO) ROOT VALUE
  9. 1. Ściąganie mniejszej ilości danych niż potrzebujemy 2. Konieczność kolejnych

    zapytań 3. Powód dlaczego GraphQL > REST ;) UNDERFETCHING
  10. 1. Mechanizm dzielenia jednego serwera GraphQL na mikroserwisy 2. Oparty

    na… sklejaniu schematów 3. wychodzi z obiegu :) SCHEMA STICHING
  11. 1. Nawiązanie stałego połączenia klienta z serwerem 2. Klient robi

    zapytanie subskrypcyjne i czeka 3. Serwer wysyła dane 4. Klient obsługuje nowe dany gdy tylko się pojawią 5. Często oparte na websocketach SUBSCRIPTION
  12. 1. Co to jest GraphQL? 2. Schema 3. Query 4.

    Mutation 5. Dokument 6. Serwer 7. Klient 8. Resolver 9. Root Value 10. Overfetching 11. Underfetching 12. Schema stitching 13. Federacja 14. Subskrypcje ŻARGON GRAPHQL
  13. DLACZEGO GRAPHQL? 1. Wewnętrzne API (mobilne i webowe apki chcą

    innych danych) 2. Prototypowanie i startupy (w GraphQL łatwiej wprowadzać zmiany)
  14. DLACZEGO GRAPHQL? 1. Wewnętrzne API (mobilne i webowe apki chcą

    innych danych) 2. Prototypowanie i startupy (w GraphQL łatwiej wprowadzać zmiany) 3. Aplikacja to nie tylko CRUD (w GraphQL łatwiej modelować zdarzenia biznesowe)
  15. DLACZEGO GRAPHQL? 1. Wewnętrzne API (mobilne i webowe apki chcą

    innych danych) 2. Prototypowanie i startupy (w GraphQL łatwiej wprowadzać zmiany) 3. Aplikacja to nie tylko CRUD (w GraphQL łatwiej modelować zdarzenia biznesowe) 4. Integracja danych z różnych źródeł (1 serwer proxy w GraphQL)