В этой репке мои статьи и презентации про GraphQL
PS. Куча орфографических и грамматических ошибок — это норма для меня. Я вас предупредил, так что крепитесь. Но вы всегда можете помочь мне и исправить ошибку, нажав кнопочку "Редактировать" и отправить Пулл Реквест. Спасибо.
Статьи
GraphQL
- GraphQL-типы
- GraphQL-схема
- Способы построения GraphQL-схем
- GraphQL-сервер
- Аутентификация и Авторизация
- Работа с файлами
- i18n — интернационализация в GraphQL
- Как работать с ошибками в GraphQL?
- DataLoader - правильно решаем проблему N+1 запросов
- PRO: Дизайн GraphQL-схем — делаем АПИ удобным, избегаем боль и страдания
🌶 🌶 🌶 - GraphQL на фронтенде
Другое
Предстоящие выступления (в планах)
- 10-11 апреля 2020, Санкт-Петербург, HolyJS (на этапе переговоров)
- 7-8 апреля 2020, Санкт-Петербург, Workshop по GraphQL (на этапе переговоров)
- 3-4 апреля 2020, Киев, JSFest (
🛫 подтверждено) - 29 февраля 2020, Москва, Я
❤️ Фронтенд (🛫 подтверждено)
Прошедшие мероприятия за 2019-18 года
- 7 декабря 2019, Краснодар, GDG Krasnodar DevFest 2019
- 8-9 ноября 2019, Москва, HolyJS
- 5-6 октября 2019, Харьков, KharkivJS
- 24 августа, Санкт-Петербург, TechTrain
- 29 июня 2019, Алматы, AlmatyJS
- 15 июня 2019, Нур-Султан, AstanaJS
- 28 мая 2019, Москва, Сколково, BackendConf (РИТ++)
- 27 мая 2019, Москва, Сколково, FrontendConf (РИТ++)
- 24 мая 2019, Санкт-Петербург, HolyJS
- 12 мая 2019, Киев, Запись стрима на YouTube: Рассвет GraphQL, Zlit Tech, InLight Studio
- 11 мая 2019, Киев, Workshop Apollo-client с фрагментами и статическим анализом, Wix Office (фото
- 23 марта 2019, Минск, воркшоп (фото, repo)
- 16 февраля 2019, Нижний Новгород, Mera.ru
- 26 января 2019, Санкт-Петербург, GraphQL workshop – сервер, клиент и статические анализ (repo)
- 24 января 2019, Санкт-Петербург, Wrike
- 27 ноября 2018, Москва, Moscow GraphQL Meetup
- 24 ноября 2018, Москва, HolyJS 2018
Видео моих выступлений
GraphQL и как его боготворит академическая среда (HolyJS Moscow 2019)
в академической среде стали появляться «серые» научные работы, которые уж больно круто описывают возможности GraphQL: "We'll show that GraphQL can reduce the size of the JSON documents returned by REST APIs in 94% (in number of fields) and in 99% (in number of bytes), both median results". GraphQL конечно хорош, но не настолько. Ссылка на презентацию.
Продолжительность 11 минут.
GraphQL-фрагменты на клиенте: История появления, ошибки использования (HolyJS Moscow 2019)
В докладе будут разобраны следующие подходы: JSON Models (тяжелый ручной труд), Type Models (похоже на генерацию моделей из Swagger), Response Models (подход ApolloClient), Fragment Models (подход Relay). Спикер также поделится частыми ошибками фронтендеров, которые совершаются при работе с GraphQL-фрагментами. Ссылка на презентацию. Feedback (chart, отзывы).
Продолжительность 60 минут.
GraphQL: фрагментная модель на клиенте (KharkivJSx10)
В языке GraphQL запросов присутствуют фрагменты, но далеко не все понимают зачем именно они нужны. Фейсбук работает с GraphQL на клиентах с так называемой фрагментной моделью, которая помогает масштабироваться и предотвращать ошибки ещё на этапе разработки. Что это за зверь, будем разбираться вместе. Ссылка на презентацию.
Продолжительность 57 минут.
Формируем картину GraphQL-мира (TechTrain 2019)
Доклад нацелен на новичков и скептиков, как бэкендеров, так и фронтендеров. Описываю и показываю, что такое GraphQL простыми словами. Рассказываю из каких частей состоит GraphQL-сервер. За что он отвечает, а что придется реализовывать бэкендеру самостоятельно. Показываю несколько способов как можно запросить данные с GraphQL-сервера. Рассказываю зачем нужны навёрнутые GraphQL-клиенты. Как они позволяют без ошибок формировать GraphQL-запросы на этапе разработки. Как позволяют слать запросы на сервер, кешировать ответы и работать с данными. Ссылка на презентацию.
Продолжительность 45 минут.
Дизайн GraphQL-схем — строим схемы правильно (версия 2) (Backend Conf 2019, РИТ++)
GraphQL-схема может обернуться головой болью и кучей дополнительного кода для разработчиков. Поэтому, чем удобнее схема, тем быстрее, легче и с меньшим количеством ошибок будут разработаны ваши клиентские приложения. Данные правила позволяют выработать конвенцию для ваших бэкенд разработчиков. Ссылка на презентацию.
Продолжительность 49 минут.
ApolloClient или Relay с фрагментами, «волосатый» GraphQL (HolyJS Piter 2019)
Сравниваю архитектуру ApolloClient и Relay. Разбираю фрагментный подход, при котором запросы собираются снизу вверх. Объясняю что хороший GraphQL – это «волосатый» GraphQL у которого много связей. А если мало связей, то это уже RestQL и с ним практически невозможно использовать фрагментный подход. Ссылка на презентацию.
Фидбэк по выступлению: chart, отзывы.
Продолжительность 58 минут.
5 подходов построения GraphQL-схем (Kyiv 2019, Zlit Tech)
Разберем, что такое GraphQL-сервер и из каких частей он состоит. Подробно остановимся на описании GraphQL-схемы. Рассмотрим 5 подходов построения схем с помощью: graphql, graphql-tools, graphql-compose, type-graphql, nexus. Сравним подходы между собой, поймем сильные и слабые стороны каждого из них. Cтатья и код позволяют выработать конвенцию для ваших бэкенд разработчиков. Ссылка на презентацию.
Продолжительность 49 минут.
Дизайн и паттерны проектирования GraphQL-схем (Piter GraphQL Meetup 2019, Wrike)
Рассказываю о правилах которые необходимо использовать при построении GraphQL-схем. Объясняю ситуации в которых они позволяют избежать переделку схем в будущем. Данные правила позволяют выработать конвенцию для ваших бэкенд разработчиков. Ссылка на презентацию.
Продолжительность 52 минуты.
Строим GraphQL-сервер (HolyJS Moscow 2018)
Рассказываю о том из каких пакетов состоит GraphQL-сервер, какие способы построения схемы в NodeJS существуют в 2018 году. Детально разбираю как организовать Авторизации и как правильно использовать DataLoader (чтоб решить N+1 Problem). Доклад был хорошо оценен (chart, отзывы), т.к. в нем затронуты и раскрыты самые основные проблемы GraphQL. Ссылка на презентацию.
Как работать с ошибками в GraphQL (GraphQL Moscow Meetup at Rambler 2018)
Рассказываю подробно о том как в GraphQL работать с ошибками. И как можно накрутить Union-типы для того чтобы возвращать пользовательские ошибки. Видео начинается с 28 минуты.
Как работать с интернационализацией (i18n) в GraphQL (GraphQL Moscow Meetup at Rambler 2018)
Рассказываю о том как максимально удобно для фронтендеров прикрутить интернационализацию в вашем GraphQL апи. Доклад начинается с 1:59:00.
GraphQL — заключаем выгодный контракт между сервером и клиентом (HolyJS Moscow 2017)
Введение в GraphQL. Разбираем статический анализ с GraphQL на клиентской стороне, проблемы GraphQL.
React, Relay и GraphQL — вполне себе нормальный компонентный подход (FrontTalks, Yekaterinburg 2016)
Введение в GraphQL, в компонентный подход и Relay.
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки (FrontendFellows, Almaty 2016)
Мой самый первый доклад. Рекомендую пропустить первые 10 минут бла-бла-бла.
Переводы
GraphQL: The Documentary (Русская версия)
В рамках HolyJS 2019 Moscow участвовал в переводе фильма.
Ли Байрон, Дэн Шафер и Ник Шрок (создатели GraphQL) и другие известные участники сообщества #GraphQL, "GraphQL: The Documentary" рассказывает историю возникновения GraphQL, его влияния на всю индустрию веб-разработки и на таких технологических гигантов как Facebook, Twitter, Airbnb и Github.