Adopting GraphQL can result in a significant increase in feature velocity and shortened product development cycles. This has led to it being used in production systems by everyone from fortune 500 companies such as Intuit, Walmart and The New York Times to global startups including Airbnb, Docker and Github.
However, like with any shiny new piece of tech, it’s how you use it that counts. The key to reaping GraphQL’s benefits lie in thoughtful implementation. If you’re about to introduce GraphQL into your current stack, here are a few points to keep in mind:
- The learning curve when it comes to Implementing a GraphQL server from scratch is hard. But the ever-improving availability of community tooling is making the work easier.
- It is very important to figure out where a GraphQL server fits into your current backend architecture.
- You need to carefully think through your GraphQL server’s performance. Again, community tooling can help.
- Securing GraphQL APIs and queries is inherently different compared to REST APIs, especially with data access control lists (ACL).
- Support for specialized data, such as real-time data or data types such as geo-location, needs to be explicitly added.
We explored these points in more detail over at ProgrammableWeb.