| Wait, people are using graphql for private, not exposed, backend apis? Who would torture themselves like that? Isn't the whole point that your frontend can make the exact queries it needs and load the exact data it needs? Namely, last I checked, client libraries for working with graphql are only good with JS. I tried working with graphql a few years ago in python and the only two client libraries absolutely sucked. Server libraries were great, but python clients sucked, badly. I ended up writing bare requests with a hardcoded heredoc for the query and endless square brackets to get the fields for the little data I needed. Maybe the situation improved dramatically in the last three years, but I can't imagine so dramatically. I wouldn't pick graphql as a private backend API in a million years. Well, maybe if ever single service was written in nodejs with no possibility of using other languages. |
As for language support, I’ve used a couple of libraries on both the client and server side for both Go and PHP, and they seem pretty good. JavaScript/TypeScript definitely seem to be the first-class citizens though.