В прошлом материале, мы рассмотрели неудобные моменты в системе типов GraphQL.
А теперь мы попробуем победить некоторые из них. Всех заинтересованных, прошу под кат.
Рубрика «graphql» - 4
[Что не так с GraphQL]… И как с этим бороться
2019-01-11 в 5:31, admin, рубрики: api, graphql, graphql query, graphql-client, graphql-server, Разработка веб-сайтов, разработка мобильных приложенийЧто не так с GraphQL
2019-01-08 в 15:53, admin, рубрики: graphql, graphql-client, graphql-server, Разработка веб-сайтов, разработка мобильных приложенийВ последнее время GraphQL набирает всё большую популярность. Изящный синтаксис запросов, типизация и подписки.
Кажется: "вот оно — мы нашли идеальный язык обмена данными!"...
Я разрабатываю с использованием этого языка уже больше года, и скажу вам: всё далеко не так гладко. В GraphQL есть как просто неудобные моменты, так и действительно фундаментальные проблемы в самом дизайне языка.
С другой стороны, большая часть таких "дизайнерских ходов" была сделана не просто так — это было обусловлено теми или иными соображениями. По факту, GraphQL — не всем подойдет, и может оказаться совсем не тем инструментом, который вам нужен. Но обо всём по порядку.
GraphQL — API по-новому
2018-11-29 в 8:13, admin, рубрики: graphql, java, joker, Блог компании JUG.ru Group, Владимир Цукур, конференции, ПрограммированиеЧто такое язык запросов GraphQL? Какие преимущества дает эта технология и с какими проблемами столкнутся разработчики при ее использовании? Как эффективно использовать GraphQL? Обо всем этом под катом.
В основе статьи — доклад вводного уровня Владимира Цукура (volodymyrtsukur) с конференции Joker 2017.
Читать полностью »
Linux Foundation учредил фонды для GraphQL и Ceph — зачем они нужны и чего от них ждать
2018-11-24 в 14:41, admin, рубрики: ceph, graphql, linux foundation, Блог компании ИТ-ГРАД, ИТ-ГРАД, Разработка под LinuxНекоммерческий консорциум The Linux Foundation объявил о формировании сразу двух новых фондов: GraphQL Foundation и Ceph Foundation. Далее — подробнее о каждом из них.
Анонс Moscow GraphQL Meetup
2018-11-21 в 9:56, admin, рубрики: api, graphql, javascript, meetup, moscow graphql, php, rambler group, конференция, я пиарюсь
27 ноября 2018г. на Мансарде Rambler&Co состоится первый Moscow GraphQL Meetup. Приглашаем всех разработчиков пообщаться о технологии и обменяться опытом.
Читать полностью »
Бэкенд для фронтенда, или Как в Яндекс.Маркете создают API без костылей
2018-11-01 в 7:29, admin, рубрики: api, BFF, graphql, node.js, rest, swagger, Блог компании Яндекс, документация, Проектирование и рефакторинг, Разработка веб-сайтовПочему некоторыми API удобнее пользоваться, чем другими? Что мы как фронтендеры можем сделать на своей стороне, чтобы работать с API приемлемого качества? Сегодня я расскажу читателям Хабра как о технических вариантах, так и об организационных мерах, которые помогут фронтендерам и бэкендерам найти общий язык и наладить эффективную работу.
Этой осенью Яндекс.Маркету исполняется 18 лет. Все это время развивается партнерский интерфейс Маркета. Если кратко, то это админка, с помощью которой магазины могут загружать каталоги, работать с ассортиментом, следить за статистикой, отвечать на отзывы и т.д. Специфика проекта такова, что приходится очень много взаимодействовать с различными бэкендами. При этом данные не всегда можно получить в одном месте, из одного конкретного бэкенда.
Hasura. Архитектура высокопроизводительного GraphQL to SQL сервера
2018-10-29 в 14:06, admin, рубрики: graphql, hasura, postgresql, sql, базы данных, высокая производительность, перевод, Программирование, Разработка веб-сайтовПривет! Представляю вашему вниманию перевод статьи «Architecture of a high performance GraphQL to SQL engine».
Это перевод статьи про то, как устроен изнутри и какие оптимизации и архитектурные решения несет в себе Hasura — высокопроизводительный легковесный GraphQL сервер, выступающий прослойкой между вашим веб-приложением и базой данных PostgreSQL.
Он позволяет генерировать GraphQL схему на основе существующей базы данных или создать новую. Поддерживает GraphQL Subscriptions из коробки на основе Postgres-триггеров, динамический контроль прав доступа, автоматическую генерацию join’ов, решает проблему N+1 запросов (batching) и многое другое.

Работа с даными при построениии API на основе GraphQL
2018-10-23 в 10:04, admin, рубрики: api, graphql, graphql query, graphql-server, graphqlresolveinfo, javascript, node.js, TypeScriptПреамбула
В первую очередь, данная статья расcчитана та тех читателей, которые уже знакомы с GraphQL и больше повествует о тонкостях и нюансах работы с ним. Тем не менее, я надеюсь, что она пригодится и новичкам.
GraphQL замечательный инструмент. Думаю, о его преимуществах уже знают и понимают многие. Тем не менее, есть некоторые нюансы, которые следует знать, когда вы строите свои API на основе GraphQL.
Например, GraphQL позволяет возвращать потребителю (пользователю или программе) запросившем данные только ту их часть, в которой этот потребитель заинтересован. Тем не менее, при построении сервера довольно легко совершить оплошность, которая приводит к тому, что внутри сервера (который может быть, в том числе, — распределенным) данные будут курсировать полными "пачками". В первую очередь это связано с тем, что "из коробки" сам GraphQL не предоставляет удобных инструментов для разбора входящего запроса, а те интерфейсы, которые в нем заложены недостаточно документированы.
Строим простой GraphQL API сервер на express и nodeJS
2018-09-24 в 7:28, admin, рубрики: express, graphql, javascript, node.js, nodejsПредлагаю к прочтению свободный перевод небольшой статьи по практическому применению GraphQL. Оригинал доступен по ссылке (En).
Пару слов о GraphQL
GraphQL это язык запросов для API, который предлагает декларативный подход к получению данных. Он позволяет клиентам запрашивать только нужные данные с веб-сервера и ничего лишнего. Разработанный еще в 2012 году Facebook’ом, которым по-прежнему и поддерживается, GraphQL стал использоваться многими другими крупными и не очень компаниями. Среди прочих Yelp, Shopify и Github.
При использовании REST APIs обычно запросы отправляются по нескольким адресам, для получения всех необходимых данных в приложении. GraphQL API же позволяет тебе отправлять все запрос по адресу с указанием, какие именно данные ты бы хотел получить этим запросом. Поэтому, к слову, GraphQL отлично подходит при использовании в условиях медленного мобильного соединения.
Версии API могут быть головной болью для команд разработчиков. С GraphQL вы можете с этим не беспокоиться. GraphQL позволяет тебе добавить новые поля и типы (это будет обсуждаться позже) в твой GraphQL API, не затрагивая существующие запросы, старые и неиспользуемые же поля могут быть скрытыми от клиентов API. Используя единую эволюционирующую версию, GraphQL API предоставляет вашему приложению постоянный доступ к новым реализациям API и обеспечивают чистую и легко поддерживаемую базу кода.
Читать полностью »