You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While it makes an excellent longer-term goal, GraphQL doesn’t need to stand above the entire data tree in an organization in order to provide value and expending large amounts of engineering effort to switch an entire stack should generally be avoided.
11
11
12
12
Unlike some technologies, which are difficult to embrace without getting buy-in from all the teams in an organization, GraphQL can be utilized by smaller units (e.g. component by component, team by team) and later integrated into the bigger picture.
13
13
14
14
Thanks to GraphQL’s ability to fetch data from any data source, it makes sense to keep existing APIs as they are and use GraphQL to “wrap” the data. This can be appreciated by organizations with existing collections of REST (or similar) APIs which power their user experiences since they can lean heavily on their existing investments. This allows small teams to immediately realize many benefits of GraphQL without waiting for deeper adoption and allows existing versions of the application, which have already been deployed and rely on the existing API, to keep functioning uninterrupted.
15
15
16
-
## Schema scope and ownership
16
+
<h2id="schema">Schema scope and ownership</h2>
17
17
18
18
APIs change as the products which use them evolve and their ideal structure is usually defined by the front-end applications which consume them. While it’s certainly possible, and sometimes desirable, to have a single GraphQL schema which blankets an entire organization’s operational concerns, trying to manage a large schema presents challenges which are avoided by separating the schema into more manageable pieces that align with individual products.
19
19
@@ -23,7 +23,7 @@ Having product teams own the GraphQL schema for their products allows the schema
23
23
24
24
Organizations looking to offer a single API endpoint can assemble the individual product schemas, managed by individual product teams into a monolithic API by “stitching” the various schemas together.
An API implemented using GraphQL allows developers to query the exact information they desire from an API and nothing more. With proper visibility into how the API performs, developers can understand the implications of adding or removing fields, especially those which might be slow (notoriously or otherwise!).
29
29
@@ -35,7 +35,7 @@ In addition to empowering front-end developers to make quick, educated decisions
35
35
36
36
This clarity allows pushing schema changes to production with the confidence of knowing that the API is performing as well as it was before, if not better!
37
37
38
-
## Write the server in JavaScript
38
+
<h2id="javascript">Write the server in JavaScript</h2>
39
39
40
40
Facebook's reference implementation has been written in JavaScript since its original release and fresh developments in the GraphQL ecosystem have frequently appeared first in JavaScript or languages which transpile to JavaScript, like TypeScript.
0 commit comments