System Design Space

    Глава 129

    Обновлено: 9 февраля 2026 г. в 20:31

    GraphQL: The Documentary

    Прогресс части0/17

    Как язык запросов от Facebook изменил подход к API: история создания, open source и экосистема Apollo.

    GraphQL: The Documentary

    История GraphQL: от внутреннего решения Facebook до open source стандарта индустрии

    Год:2019
    Производство:Honeypot

    Рождение в Facebook

    2012: мобильное приложение требует нового подхода

    Источник

    Telegram: book_cube

    Оригинальный пост с обзором документального фильма

    Читать пост

    В 2012 году команда Facebook столкнулась с серьёзной проблемой. Мобильное приложение для iOS работало ужасно медленно. Ли Байрон (Lee Byron), Дэн Шейфер (Dan Schafer) и Ник Шрок (Nick Schrock) начали работу над внутренним проектом под названием "SuperGraph".

    Проблема REST для мобильных приложений

    • Over-fetching: REST возвращал гораздо больше данных, чем нужно мобильному клиенту
    • Under-fetching: для одного экрана требовалось несколько запросов к разным endpoints
    • Versioning hell: разные версии API для разных клиентов

    Революционная идея

    Клиент сам определяет, какие данные ему нужны

    Связанная тема

    Web API Design

    Принципы проектирования современных API

    Читать обзор

    GraphQL перевернул традиционный подход к API: вместо множества жёстких endpoints — один endpoint с гибким языком запросов. Клиент описывает структуру нужных данных, а сервер возвращает ровно то, что запрошено.

    REST подход

    GET /users/123

    GET /users/123/posts

    GET /users/123/friends

    // 3 запроса, лишние данные

    GraphQL подход

    query {

    user(id: 123) {

    name, posts { title }

    }

    }

    // 1 запрос, точные данные

    Выход в Open Source

    2015: GraphQL становится достоянием сообщества

    Книга

    Learning GraphQL

    Практическое руководство от Eve Porcello и Alex Banks

    Читать обзор

    После трёх лет внутреннего использования Facebook принял решение открыть GraphQL миру. Это было непростое решение — технология давала Facebook конкурентное преимущество. Но команда верила, что открытый стандарт принесёт больше пользы всей индустрии.

    Ключевые этапы

    2012
    Начало разработки SuperGraph в Facebook
    2015
    Публичный релиз спецификации GraphQL
    2016
    GitHub переходит на GraphQL API v4
    2018
    Создание GraphQL Foundation под Linux Foundation
    2019
    Apollo Federation и supergraph-подход для enterprise-архитектур
    2020-2023
    Быстрый рост production-экосистемы: Code Generator, Hasura, Relay Modern
    2024
    GraphQL over HTTP: стандартизация транспортного уровня

    Экосистема и влияние

    Apollo, Relay, Hasura и другие

    Практика

    API Gateway

    Паттерны проектирования API в микросервисной архитектуре

    Читать разбор

    Вокруг GraphQL сформировалась богатая экосистема. Apollo стал де-факто стандартом для клиентских приложений, предлагая кэширование, state management и developer tools. Hasura позволил автоматически генерировать GraphQL API поверх PostgreSQL.

    Apollo

    Full-stack платформа для GraphQL

    Relay

    GraphQL клиент от Facebook

    Hasura

    Instant GraphQL APIs

    Компании, использующие GraphQL

    FacebookGitHubTwitterShopifyAirbnbNetflixPayPalThe New York Times