Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

About GraphQL support #73

Closed
woeye opened this issue Oct 17, 2018 · 2 comments
Closed

About GraphQL support #73

woeye opened this issue Oct 17, 2018 · 2 comments
Labels
question Further information is requested

Comments

@woeye
Copy link

woeye commented Oct 17, 2018

Greetings!

First let me thank you for this awesome little framework. Such a nice API!

Today I've learned that responder now supports GraphQL by using Graphene. Which is very nice.

However, after using Graphene in a rather big project I am no longer a big fan of it. While it was awesome when we started out it but as the project grew it no longer worked for us:

  • There's a huge performance problem when returning bigger datasets
  • Its currently build on graphql-core which is not very pythonic - far from it. The code looks like a 1:1 translation from JavaScript (like implementing the Promise interface in Python)
  • When working with other implementations (like Apollo Server) it makes it very difficult to switch mentally between those implementations because Graphene shields you in different ways. This is fine until you read general tutorials about the concepts of GraphQL and then wonder how to implement this with Graphene
  • The documentation of Graphene is often very basic and complex problems are hard to figure out
  • The error handling of Graphene (or graphql-core) is often not very helpful or cryptic when things go wrong.

After facing heavy performance problems in our project we looked for alternatives. This was when we learned about graphlql-core-next which is a rewrite of graphql-core in a pythonic way and makes heavy use of async.io.

We archieved much better results in our first initial tests. The downside is that this library lacks proper integration in a web framework.

Personally I feel that responder would be the perfect missing link for graphql-core-next and I wonder how difficult it would be to implement some kind of integration.

@kennethreitz
Copy link
Owner

we might want to move this into a plugin

@kennethreitz kennethreitz added the question Further information is requested label Oct 18, 2018
@kennethreitz
Copy link
Owner

moved to responder.ext.GraphQLView

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants