Почему вы должны проверить GraphQL для своего следующего приложения

При создании современных приложений я буду говорить за себя, говоря, что моя основная стратегия при создании серверной части и API заключается в использовании REST. Но действительно ли REST API лучше всего подходят для всех проектов? REST или Representational State Transfer — чрезвычайно популярный способ создания API, но если вы действительно вникнете в то, как он работает, вы обнаружите много ненужной громоздкости и неэффективности.

Хотя и REST, и GraphQL отправляют данные по HTTP, при запросе и отправке данных с помощью REST нам часто приходится передавать больше данных, чем нам действительно нужно. Это связано с тем, как запросы к конечным точкам работают в REST. Когда запрос поступает к определенной конечной точке, он отправляет обратно все данные этой конечной точки, даже если вам действительно нужны только несколько конкретных вещей, например, просто имя пользователя, а не вся информация о его учетной записи.

С GraphQL мы можем быть более конкретными, чем с REST. Фактически, с помощью языка запросов GraphQL мы можем настраивать наши запросы для получения именно той информации, которая нам нужна, ни больше, ни меньше. С GraphQL мы можем даже описать, что мы хотели бы получить в качестве ответа на запрос, комбинируя различные сущности и атрибуты наших данных, чтобы избежать необходимости вызывать наш API более одного раза для достижения разных конечных точек для получения нужных нам данных.

Хорошие новости продолжаются с GraphQL, потому что его можно интегрировать в большинство основных технологических стеков. GraphQL работает с JavaScript, C#/.Net, PHP, Python, Ruby и другими. GraphQL также можно сочетать с некоторыми замечательными пользовательскими инструментами, которые еще больше упростят его использование. Одним из таких инструментов является интерактивная интегрированная среда разработки Graphiql в браузере. Другой — Quicktype, который можно использовать для создания типов для запросов GraphQL в TypeScript, Swift, Golang, C#, C++ и других.

Хотя REST всегда будет доминирующим игроком в мире HTTP-запросов, само собой разумеется, что GraphQL — это мощный инструмент и язык запросов API. Ознакомьтесь с ним и узнайте, как он может помочь вам повысить эффективность API вашего следующего приложения.