Skip to content

Latest commit

 

History

History
231 lines (143 loc) · 25.4 KB

README.md

File metadata and controls

231 lines (143 loc) · 25.4 KB

В этой репке мои статьи и презентации про GraphQL

PS. Куча орфографических и грамматических ошибок — это норма для меня. Я вас предупредил, так что крепитесь. Но вы можете помочь исправить ошибку – нажмите кнопочку "Редактировать" и отправьте Пулл Реквест с правками. Спасибо.

Статьи

GraphQL

Другое

Предстоящие выступления (в планах)

  • 18 апреля 2022, Online, HolyJS

Прошедшие мероприятия

Видео моих выступлений

В каких проектах стоит использовать GraphQL, а в каких нет?, 12 июля 2021, Podlodka Frontend Crew, сезон #2

GraphQL это инструмент, а не серебряная пуля. И каждый инструмент удобен под свою категорию задач.

GraphQL нужен, если:

  • модели постоянно развиваются и количество полей растет;
  • есть взаимодействие между бэкендом и фронтендом, у которого предполагается стейт-менеджер;
  • нужна статическая типизация на фронтенде согласно серверной схеме данных;
  • если много разных entity (models), между ними много связей и клиенту нужны их агрегации (а-ля LEFT JOIN) и желательно за один http-запрос.

GraphQL не нужен, если:

  • ведется работа с файлами или другими бинарными данными;
  • аутентификация, oidc и/или oauth2;
  • CRDT и многопользовательское редактирование;
  • есть активное межсерверное взаимодействие, требовательное к скорости, памяти и/или трафику.

Продолжительность 92 минуты.

В каких проектах стоит использовать GraphQL, а в каких нет?

Круглый стол: Особенности протоколов, 4 апреля 2021, Podlodka Backend Crew, сезон #1

Обсуждаем применимость протоколов JSON-RPC, GraphQL, gRPC. Их сильные и слабые стороны.

Продолжительность 87 минут.

Круглый стол: Особенности протоколов

Революция в микрофронтендах, module federation, Webpack 5, HolyJS 2020, Online

Рассказываю про module federation в Webpack 5, про новую технологию для индустрии микрофронтендов. Она позволяет заимпортировать в свое приложение любой внешний модуль/компонент из где-то на другом сервере задеплоенного отдельно собранного webpack'ом приложения. Простыми словами для бизнеса – разные команды разрабатывают куски приложений и их деплоят по отдельности, а конечная сборка приложения происходит в браузере пользователя. Ссылка на презентацию.

Продолжительность 73 минуты.

Революция в микрофронтендах, module federation, Webpack 5

Оборачиваем существующее REST API в GraphQL (методология за 1000000 рублей), HolyJS 2020, Online

А реально обернуть REST API в GraphQL? И как сделать R&D для этой технологии? Обычно обкатку технологии принято делать на TodoMVC – я так и поступил. Разобрал в докладе Entity, реляций между типами (провел аналогию с LEFT JOIN), решил проблемы N+1, QueryCost и Аутентификации. И посчитал, сколько времени уйдет на разработку такой GraphQL-прокси. Ссылка на презентацию.

Продолжительность 74 минуты.

Оборачиваем существующее REST API в GraphQL (методология за 1000000 рублей)

ApolloClient 3 — прощаемся с Redux, REST API и Relay (Я 💛 Фронтенд 2020, Moscow 2020)

В докладе речь идет о текущих болячках REST API и Redux; как с GraphQL совершенно на новый уровень поднимается Developer Experience у разработчиков; что нового и хорошего появилось в ApolloClient 3. Ссылка на презентацию.

Продолжительность 49 минут.

ApolloClient 3 — прощаемся с Redux, REST API и Relay (Я 💛 Фронтенд 2020, Moscow 2020)

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)

GraphQL-фрагменты на клиенте: История появления, ошибки использования (HolyJS Moscow 2019)

В докладе будут разобраны следующие подходы: JSON Models (тяжелый ручной труд), Type Models (похоже на генерацию моделей из Swagger), Response Models (подход ApolloClient), Fragment Models (подход Relay). Спикер также поделится частыми ошибками фронтендеров, которые совершаются при работе с GraphQL-фрагментами. Ссылка на презентацию. Feedback (chart, отзывы).

Продолжительность 60 минут.

GraphQL-фрагменты на клиенте: История появления, ошибки использования (HolyJS Moscow 2019)

GraphQL: фрагментная модель на клиенте (KharkivJSx10)

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

Продолжительность 57 минут.

GraphQL: фрагментная модель на клиенте (KharkivJSx10)

Формируем картину GraphQL-мира (TechTrain 2019)

Доклад нацелен на новичков и скептиков, как бэкендеров, так и фронтендеров. Описываю и показываю, что такое GraphQL простыми словами. Рассказываю из каких частей состоит GraphQL-сервер. За что он отвечает, а что придется реализовывать бэкендеру самостоятельно. Показываю несколько способов как можно запросить данные с GraphQL-сервера. Рассказываю зачем нужны навёрнутые GraphQL-клиенты. Как они позволяют без ошибок формировать GraphQL-запросы на этапе разработки. Как позволяют слать запросы на сервер, кешировать ответы и работать с данными. Ссылка на презентацию.

Продолжительность 45 минут.

Формируем картину GraphQL-мира (TechTrain 2019)

Дизайн GraphQL-схем — строим схемы правильно (версия 2) (Backend Conf 2019, РИТ++)

GraphQL-схема может обернуться головой болью и кучей дополнительного кода для разработчиков. Поэтому, чем удобнее схема, тем быстрее, легче и с меньшим количеством ошибок будут разработаны ваши клиентские приложения. Данные правила позволяют выработать конвенцию для ваших бэкенд разработчиков. Ссылка на презентацию.

Продолжительность 49 минут.

Дизайн GraphQL-схем — строим схемы правильно (версия 2) (Backend Conf 2019, РИТ++)

ApolloClient или Relay с фрагментами, «волосатый» GraphQL (HolyJS Piter 2019)

Сравниваю архитектуру ApolloClient и Relay. Разбираю фрагментный подход, при котором запросы собираются снизу вверх. Объясняю что хороший GraphQL – это «волосатый» GraphQL у которого много связей. А если мало связей, то это уже RestQL и с ним практически невозможно использовать фрагментный подход. Ссылка на презентацию.

Фидбэк по выступлению: chart, отзывы.

Продолжительность 58 минут.

ApolloClient или Relay с фрагментами, «волосатый» GraphQL (HolyJS Piter 2019)

5 подходов построения GraphQL-схем (Kyiv 2019, Zlit Tech)

Разберем, что такое GraphQL-сервер и из каких частей он состоит. Подробно остановимся на описании GraphQL-схемы. Рассмотрим 5 подходов построения схем с помощью: graphql, graphql-tools, graphql-compose, type-graphql, nexus. Сравним подходы между собой, поймем сильные и слабые стороны каждого из них. Cтатья и код позволяют выработать конвенцию для ваших бэкенд разработчиков. Ссылка на презентацию.

Продолжительность 49 минут.

5 подходов построения GraphQL-схем (Kyiv 2019, Zlit Tech)

Дизайн и паттерны проектирования GraphQL-схем (Piter GraphQL Meetup 2019, Wrike)

Рассказываю о правилах которые необходимо использовать при построении GraphQL-схем. Объясняю ситуации в которых они позволяют избежать переделку схем в будущем. Данные правила позволяют выработать конвенцию для ваших бэкенд разработчиков. Ссылка на презентацию.

Продолжительность 52 минуты.

Дизайн и паттерны проектирования GraphQL-схем (Piter GraphQL Meetup 2019, Wrike)

Строим GraphQL-сервер (HolyJS Moscow 2018)

Рассказываю о том из каких пакетов состоит GraphQL-сервер, какие способы построения схемы в NodeJS существуют в 2018 году. Детально разбираю как организовать Авторизации и как правильно использовать DataLoader (чтоб решить N+1 Problem). Доклад был хорошо оценен (chart, отзывы), т.к. в нем затронуты и раскрыты самые основные проблемы GraphQL. Ссылка на презентацию.

Строим GraphQL-сервер (HolyJS Moscow 2018)

Как работать с ошибками в GraphQL (GraphQL Moscow Meetup at Rambler 2018)

Рассказываю подробно о том как в GraphQL работать с ошибками. И как можно накрутить Union-типы для того чтобы возвращать пользовательские ошибки. Видео начинается с 28 минуты.

Как работать с ошибками в GraphQL (GraphQL Moscow Meetup at Rambler 2018)

Как работать с интернационализацией (i18n) в GraphQL (GraphQL Moscow Meetup at Rambler 2018)

Рассказываю о том как максимально удобно для фронтендеров прикрутить интернационализацию в вашем GraphQL апи. Доклад начинается с 1:59:00.

Как максимально удобно для фронтендеров прикрутить интернационализацию в вашем GraphQL апи

GraphQL — заключаем выгодный контракт между сервером и клиентом (HolyJS Moscow 2017)

Введение в GraphQL. Разбираем статический анализ с GraphQL на клиентской стороне, проблемы GraphQL.

GraphQL — заключаем выгодный контракт между сервером и клиентом

React, Relay и GraphQL — вполне себе нормальный компонентный подход (FrontTalks, Yekaterinburg 2016)

Введение в GraphQL, в компонентный подход и Relay.

React, Relay и GraphQL — вполне себе нормальный компонентный подход (FrontTalks, Yekaterinburg 2016)

Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки (FrontendFellows, Almaty 2016)

Мой самый первый доклад. Рекомендую пропустить первые 10 минут бла-бла-бла.

Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки (FrontendFellows, Almaty 2016)

Переводы

GraphQL: The Documentary (Русская версия)

В рамках HolyJS 2019 Moscow участвовал в переводе фильма.

Ли Байрон, Дэн Шафер и Ник Шрок (создатели GraphQL) и другие известные участники сообщества #GraphQL, "GraphQL: The Documentary" рассказывает историю возникновения GraphQL, его влияния на всю индустрию веб-разработки и на таких технологических гигантов как Facebook, Twitter, Airbnb и Github.

GraphQL: The Documentary (Русская версия)