Second, I don't think it's very comparable. The big drawback of "RESTful APIs" is that you cannot combine things. You call an endpoint and you add some query parameters, that's pretty much it.
In Graphql, you can combine and even nest queries. You simply cannot (or don't want to) generate all combinations in advance, so you'll decide adhoc in your code. Therefore you need a library that can do these combinations adhoc for you in a typesafe way.
Thanks for sharing feTS. It looks pretty awesome and I will be checking it out.
Okay, so write fragments. However, without a framework like Relay (and soon Apollo), you still receive, at runtime, the entire network response. ie there is no masking at the fragment level. This means that there still is an implicit dependency between components, and removing fields is still dangerous.
That’s why you need Relay.
I make that case here - https://youtu.be/lhVGdErZuN4?si=tOJNWl-j-Uj28RUs
GraphQL really shines with data intensive applications where you need pagination, filtering, sorting, projections etc.