• Data Underfetching / Overfetching • Network Errors • Network Latency Dealing with REST Partially solved by serializers and views in Django REST Framework
get the data back without this field but with this extra field for that new view that I’m making?” • Logic of fetching is moved to the server • Each time the client changes any data fetching requirements the server has to be updated (even if the schema/ models remain constant) • Difficult to scale
750 stars… much like! • Used by 20+ companies in production (Affirm included) • Large community • Supports Python 2.7+ and 3.2+ • Fully compatible with Django 1.6+ Some Graphene info
} } class Query(graphene.ObjectType): me = graphene.Field(User) class User(graphene.ObjectType): name = graphene.String() talks = graphene.List(Talk) GraphQL Query Implementation
} } class Query(graphene.ObjectType): me = graphene.Field(User) class User(graphene.ObjectType): name = graphene.String() talks = graphene.List(Talk) class Talk(graphene.ObjectType): title = graphene.String() time = DateTime() GraphQL Query Implementation
documentation and UI (GraphiQL) • Quick integration in Frontend with React thanks to Relay • Seamless integration with Django • Much faster development process Why Graphene/GraphQL is better