GraphQL Korea Meetup (06/13/2020)

1. Relay with Python

Presenter: Jaehyun!!! γ…Ž_γ…Ž

"Unexpected efficiency from predictable consistency"

Graphene

  • When defined in ORM way, it converts to GraphQL Schema

  • Objectifies GraphQL and makes it well!

Relay

Graphene supports Relay

Relay

: JavaScript framework for building GraphQL-based data-driven React applications

  • Node

    • Interface provided by graphene.relay

    • Has only one ID! field

  • Connection

    • Enhanced version of list that provides slicing and pagination

      • Each point distributed in the Graph is called Node, meaning one entity that constitutes the data structure,

      • The line connecting related Nodes is called Edge

        • In GraphQL, the address of each Node is called Cursor,

          • Connection is a pagination design pattern based on Cursor

    • ex)

      • relay.Connection

      • relay.ConnectionField

  • Mutations

    • Mutations that perform data modification work can be easily managed in Graphene through subclass relay.ClientIDMutation

Graphene-Django

Docsarrow-up-right

  • Helps to easily apply GraphQL in Django

2. How to handle GraphQL as a language

Presenter: Hyesung Kim

"Today, GraphQL is not only implementing APIs but also acting as a powerful "modeling language". I introduce how to handle GraphQL language with JavaScript and various cases of extending it."

Document

  • Top-level node of GraphQL AST

  • Contains various Definitions underneath

Definition

  • Executable Definition

    • Query / Mutation / Fragment etc.

  • Other Definition

    • That part familiar to Client developers.. γ…Ž

SDL (Schema Definition Language)

Powerful general-purpose modeling language

  • Directed cyclic graph

  • Type system-based validation

  • Polymorphism support through Interface / Union

  • Extensibility

  • Macro

Schema vs ExecutableSchema

  • Adds runtime through several preprocessing tasks

    • Resolvers

    • Directives

      • Directives that can provide additional information to GraphQL Document processors

        • Standard (@deprecated, @include, @skip)

        • Schema Directive

          • ex) @deprecated

        • Operational Directive

          • ex) @include, @skip

+

Impressions

  • I became more interested in GraphQL!!!!!!

  • I should study it more deeply, it's so interesting!

Last updated