-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Add answers for general FAQ questions #930
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
Conversation
@IvanGoncharov, I tagged this for review (finally). I'm not convinced about all of the links... but I wanted to make sure to give readers resources to learn more! Something we should also decide is whether to include the links inline (like I did in this PR) or have no links inline and put them as a list at the end. I'm also going to add a few comments throughout that I'd like your opinion on so please keep an eye out for those 💫 |
|
||
Pie gummies apple pie marzipan halvah cotton candy toffee tootsie roll oat cake. Brownie pudding pastry candy chupa chups liquorice bear claw pudding jujubes. Pie jelly liquorice dessert sweet roll bonbon. Danish macaroon cupcake jelly beans liquorice brownie dessert muffin candy canes. | ||
For more practical guides, you can visit the [How to GraphQL](https://www.howtographql.com/) fullstack tutorial website. We also have a free online course with edX, [Exploring GraphQL: A Query Language for APIs](https://www.edx.org/course/exploring-graphql-a-query-language-for-apis). | ||
|
||
## Is GraphQL frontend or backend? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IvanGoncharov Should we explain some of the benefits of GraphQL for frontend and backend devs here? I started to but then the answer became long and complex.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with your comment that you could also use GraphQL just for the backend and just for the frontend.
I believe those are actually important use cases.
The frontend even more in terms of adoption -
Most of our larger clients have difficulties (political, technical) for introducing another gateway into their existing stack.
Adding GraphQL only on the frontend actually made adoption much faster in those companies, that later on were convinced to move that layer as a gateway.
Companies like PayPal, Microsoft and many others have went through that route.
So I believe mentioning that could open easier doors for early adoption.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know you didn't ask for my review, but I love that you are woking on this and making it happen and hope that some of my comments would help and not intrude your awesome work.
|
||
Jelly-o cupcake marshmallow marshmallow. Lemon drops cake caramels donut halvah cupcake topping tootsie roll. Jelly cotton candy candy cheesecake danish [jelly-o icing bonbon](). | ||
GraphQL and REST can actually co-exist in your stack. For example, you can abstract REST APIs behind a [GraphQL server](https://www.howtographql.com/advanced/1-server/). This can be done by masking your REST endpoint into a GraphQL endpoint using [root resolvers](/learn/execution/#root-fields-resolvers). | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would also add that you could do the other way around - generate REST on top of GraphQL so you could gradually move to REST but still support consumers who needs regular REST endpoints. (reference)
I've found this to be a very compelling argument when introducing GraphQL to developers for the first time
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that I think the use case could be good to include. Would you have an idea for somewhere within the docs to link to? We're trying to keep the FAQ neutral and not link to third-party sites.
|
||
Pie gummies apple pie marzipan halvah cotton candy toffee tootsie roll oat cake. Brownie pudding pastry candy chupa chups liquorice bear claw pudding jujubes. Pie jelly liquorice dessert sweet roll bonbon. Danish macaroon cupcake jelly beans liquorice brownie dessert muffin candy canes. | ||
For more practical guides, you can visit the [How to GraphQL](https://www.howtographql.com/) fullstack tutorial website. We also have a free online course with edX, [Exploring GraphQL: A Query Language for APIs](https://www.edx.org/course/exploring-graphql-a-query-language-for-apis). | ||
|
||
## Is GraphQL frontend or backend? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with your comment that you could also use GraphQL just for the backend and just for the frontend.
I believe those are actually important use cases.
The frontend even more in terms of adoption -
Most of our larger clients have difficulties (political, technical) for introducing another gateway into their existing stack.
Adding GraphQL only on the frontend actually made adoption much faster in those companies, that later on were convinced to move that layer as a gateway.
Companies like PayPal, Microsoft and many others have went through that route.
So I believe mentioning that could open easier doors for early adoption.
Oooooh thanks for the review @Urigo! I'll go through the comments in a bit, but wanted to say thanks and the reason its open source is that people can give their input so I appreciate you taking the time 😁 |
* Aggregate data from [multiple UI clients](/learn/queries/#fragments) in [a single request](/learn/best-practices/#server-side-batching-caching ). | ||
* Create a representation of your data that feels familiar and natural ([a graph](/learn/thinking-in-graphs/#it-s-graphs-all-the-way-down-https-en-wikipedia-org-wiki-turtles-all-the-way-down)). | ||
* Ensure that all of your data is [statically typed](/learn/schema/) and these types inform [what queries the schema supports](/learn/introspection/). | ||
* Examine queries and responses through community tools like [GraphiQL](https://github.com/graphql/graphiql). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can add a point about schema evolution and that GraphQL not only has a built-in mechanism for deprecations but also greatly reduces the number of situations where you need to do breaking change.
Moreover, GraphQL actually gives you insights into what data is actually used by your clients so even in situations where you need to do breaking change you can effectively communicate it with affected clients.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried to squeeze that all into a bullet point, will be included in the next commit - curious to hear what you think!
Closing this for now, will reopen with a PR to the new |
* Initial commit following Gatsby migration and review from #930 * Update FAQ based on feedback from Andreas * Apply suggestions from Benjie's code review Co-authored-by: Benjie Gillam <[email protected]> * Update license attribution Co-authored-by: Benjie Gillam <[email protected]> * Add prereq note to learn question * Update foundation numbers * Update JS question based on Ivan's review Co-authored-by: Benjie Gillam <[email protected]>
* Initial commit of FAQ page * Add answers for initial FAQ (#943) * Initial commit following Gatsby migration and review from #930 * Update FAQ based on feedback from Andreas * Apply suggestions from Benjie's code review Co-authored-by: Benjie Gillam <[email protected]> * Update license attribution Co-authored-by: Benjie Gillam <[email protected]> * Add prereq note to learn question * Update foundation numbers * Update JS question based on Ivan's review Co-authored-by: Benjie Gillam <[email protected]> Co-authored-by: Benjie Gillam <[email protected]>
* Initial commit of FAQ page * Add answers for initial FAQ (#943) * Initial commit following Gatsby migration and review from #930 * Update FAQ based on feedback from Andreas * Apply suggestions from Benjie's code review Co-authored-by: Benjie Gillam <[email protected]> * Update license attribution Co-authored-by: Benjie Gillam <[email protected]> * Add prereq note to learn question * Update foundation numbers * Update JS question based on Ivan's review Co-authored-by: Benjie Gillam <[email protected]> Co-authored-by: Benjie Gillam <[email protected]>
💓 This PR is part of Google Season of Docs 💓
We decided on the first 10 questions for the FAQ page would be the following:
This PR includes the first attempt at answering these questions. Once approved, it'll be merged into the
faq
branch.