GraphQL — это язык запросов для API. Язык, разработанный инженерами Facebook, также является средой выполнения для выполнения запросов с вашими существующими данными. Запрос GraphQL возвращает предсказуемые результаты, предоставляя приложению, а не серверу, ответственность за управление данными.
GraphQL оптимизирует запросы API, возвращая все данные в одном запросе. Для получения того же результата в REST API необходимо отправлять запросы на несколько URL-адресов конечных точек. Это полезно, поскольку приложение, созданное с помощью GraphQL, является быстрым, стабильным и масштабируемым.
Table of Contents
ToggleGraphQL позволяет приложению извлекать несколько источников данных в одном запросе. В REST API каждый слой данных извлекается из другой конечной точки URL. Множественные запросы к серверу означают, что существует вероятность большего количества ошибок и более низкой производительности.
Давайте быстро рассмотрим. REST является стандартом для потока данных в Интернете. Representational State Transfer (REST) делит API на конечные точки (/api/products). Используя этот URL, мы можем получить информацию обо всех перечисленных продуктах.
Однако для получения данных по отдельному продукту отправляется еще один запрос на (/api/products/:id). Мы можем начать видеть это при множественных запросах, что открывает потенциальные возможности для ошибок при передаче данных. GraphQL решает эту проблему, получая все необходимые данные в одном запросе.
GraphQL выполняет запросы данных из API поверх вашего существующего внутреннего кода. В реальном мире с API может быть сложно работать. Иногда запрос на выборку возвращает слишком много информации, что может замедлить производительность приложения.
GraphQL помогает избежать этих проблем с производительностью несколькими ключевыми способами.
GraphQL обеспечивает гибкость запросов API. Это современная технология, которая легко встраивается в ваш существующий язык бэкенда по вашему выбору. Чтобы иметь больше контроля над запросами для вашего приложения, GraphQL — это хорошая инвестиция в обучение.
При двух часах ежедневных усилий изучение и уверенное использование GraphQL займет семь недель. Помните, что это новый язык, и изучение его интеграции требует времени. После освоения основ вы сможете реализовывать быстрые, стабильные и предсказуемые запросы.
Текущий стандарт взаимодействия с API — через различные конечные точки URL. GraphQL стремится улучшить метод REST запроса данных. Поскольку он интегрируется с текущим языком бэкенда по вашему выбору, наличие опыта программирования является обязательным.
Вот несколько шагов, которые следует учитывать при принятии решения о том, будет ли изучение GraphQL для вас ценной инвестицией.
Наличие практических знаний этих основ является ключом к пониманию того, как работает GraphQL. Теперь о том, где изучать язык.
Существует множество ресурсов, с которых можно начать изучать GraphQL. Из онлайн-курсов, электронных книг и учебных пособий вы можете найти то, что лучше всего подходит вашему стилю обучения.
Изучение GraphQL: языка запросов для API
Это курс, который рекомендуют разработчики GraphQL. Инвестируя пару часов в день, вы освоите GraphQL за семь недель. Вы узнаете о преимуществах использования GraphQL с вашим текущим языком бэкенда, а также о таких сложных темах, как безопасность сервера.
Этот курс, рассчитанный на 13 часов, проведет вас через создание одностраничного приложения с React и GraphQL. Охватывая основы для реальной реализации, вы станете свободно работать в экосистеме GraphQL. Требуются предварительные знания React.
Этот курс короче других вариантов. За один час и 20 минут вы поймете, когда следует внедрять GraphQL, его основные принципы и как его использовать. Этот курс был разработан, чтобы предоставить общий обзор GraphQL и понять, подходит ли он для вашего приложения.
Автор Робин Вирух написал эту книгу, создавая несколько приложений с использованием GraphQL для клиентов. Она не претендует на роль исчерпывающего справочника, а скорее руководства по прагматичной реализации GraphQL в стеке React/Node. За $29.99 вы можете начать свой путь к GraphQL.
Sebastion Grebe проведет вас от настройки до развертывания с использованием стека GraphQL, React, Apollo, Node и Express. В книге даже рассматривается написание тестов. К концу книги вы создадите масштабируемое приложение и разместите его на Heroku. По цене $22.39 вы получите представление о некоторых приемах и обходных путях, используемых опытными разработчиками.
Цель этого руководства — упростить процесс изучения GraphQL. Авторы Алекс Бэнкс и Ив Порчелло рассматривают основы теории графов для улучшения понимания структуры данных графа. Охват этих основ гарантирует, что вы будете знать, что происходит в запросе GraphQL.
Документация по GraphQL включает в себя целый раздел руководства, чтобы познакомить вас с GraphQL. После изучения основных концепций этого языка запросов, есть раздел, полный передовых практик. Это полезно для написания обычных запросов GraphQL.
Этот бесплатный и открытый исходный код учебника предполагает, что у вас нет никаких предварительных знаний о GraphQL. Он предназначен для того, чтобы провести вас от нулевого опыта к производству, и вы освоите основы примерно за час. Есть расширенный раздел, который охватывает такие концепции, как безопасность, клиентская сторона и реализация на стороне сервера.
Эти пошаговые руководства охватывают основы, включая создание сервера и создание интерфейса на GraphQL. В нем даже есть руководство по созданию того же сервера на Ruby, Python и JavaScript. Это ценно, поскольку GraphQL был создан для реализации на этих языках.
GraphQL — это ценная инвестиция в обучение для вашего будущего. Это альтернатива конвенции REST, и изучение этого способа запроса API — это то, куда, похоже, направляются многие разработчики. Количество ресурсов, доступных для изучения GraphQL, подразумевает, что он будет в моде еще некоторое время.
Изучив метод использования API GraphQL, вы получите больше возможностей для работы при проектировании вашего следующего приложения. Возможность выбора, когда внедрять GraphQL или придерживаться соглашения REST, может открыть возможности в вашей карьере программиста.