10 лет работы, три редакции, полгода подготовки — и мой magnum opus «The API» вышел на русском языке в издательстве БХВ (за что им огромное человеческое спасибо).

«В книге подробно рассказано, как написать качественный API и интегрировать его в имеющуюся систему.  Рассмотрено, как готовить спецификации API, работать с запросами, обслуживать мобильные и серверные API для взаимодействия с базами данных и обмена сообщениями, реализовывать нетривиальную бизнес-логику и подбирать подходящую схему API даже для самых сложных и нечетких задач. Описано, как обеспечивать слабую связность между компонентами, организовывать операции CRUD, осуществлять синхронный и асинхронный обмен данными, в частности, выполнять операции push и poll. Рассказано, как реализовать аутентификацию и идентификацию пользователей. Весь материал базируется на парадигме HTTP REST и позволяет развивать ее в соответствии с современными реалиями и меняющимися требованиями.»

Если вы всегда хотели подержать {?} в руках — ни в чём себе не отказывайте:

сайт издательства

ozon

Яндекс.Маркет

linuxcenter

(надеюсь, придёт к вам в лучшем виде, нежели Юрию с Озона)

(англоязычный hardcover есть на амазоне, на всякий случай)

В общем, поздравьте меня ;)

Содержание предыдущих серий:

Введение

О структуре этой книги
Определение API
Критерии качества API
Выбор подхода к разработке API
Подход API-first
Обратная совместимость
О версионировании
Условные обозначения и терминология

Часть I. Проектирование API

Глава 1. Пирамида контекстов API. Определение области применения
Глава 2. Разделение уровней абстракции
Глава 3. Разграничение областей ответственности
Глава 4. Описание конечных интерфейсов

Часть II. Паттерны дизайна API

Глава 5. О паттернах проектирования в контексте API
Глава 6. Аутентификация партнёров и авторизация вызовов API
Глава 7. Стратегии синхронизации
Глава 8. Слабая консистентность
Глава 9. Асинхронность и управление временем
Глава 10. Списки и организация доступа к ним
Глава 11. Двунаправленные потоки данных. Push и poll-модели
Глава 12. Асинхронная обработка событий. Атомарность массовых изменений
Глава 13. Частичные обновления
Глава 14. Деградация и предсказуемость

Часть III. Обратная совместимость

Глава 15. Постановка проблемы обратной совместимости
Глава 16. О ватерлинии айсберга
Глава 17. Расширение через абстрагирование
Глава 18. Сильная связность и сопутствующие проблемы
Глава 19. Слабая связность
Глава 20. «Блокнот душевного покоя»

Часть IV. HTTP API и архитектурные принципы REST

Глава 21. О концепции HTTP API. Парадигмы разработки клиент-серверного взаимодействия
Глава 22. Преимущества и недостатки HTTP API в сравнении с альтернативными технологиями
Глава 23. Составляющие HTTP запросов и их семантика
Глава 24. Организация HTTP API согласно принципам REST
Глава 25. Разработка номенклатуры URL ресурсов. CRUD-операции
Глава 26. Работа с ошибками в HTTP API
Глава 27. Заключительные положения и общие рекомендации

Часть V. SDK- и UI-библиотеки

Глава 28. Терминология. Обзор технологий разработки SDK
Глава 29. SDK: проблемы и решения
Глава 30. Проблемы встраивания UI-компонентов
Глава 31. Декомпозиция UI-компонентов
Глава 32. MV*-фреймворки
Глава 33. Backend-Driven UI
Глава 34. Разделяемые ресурсы и асинхронные блокировки
Глава 35. Заключение к части V

Часть VI. API как продукт

Глава 36. Продукт API. Бизнес-модели API
Глава 37. Формирование продуктового видения
Глава 38. Взаимодействие с разработчиками и бизнес-аудиторией
Глава 39. Линейка сервисов API
Глава 40. Ключевые показатели эффективности API
Глава 41. Идентификация пользователей и борьба с фродом
Глава 42. Технические способы борьбы с несанкционированным доступом к API
Глава 43. Поддержка пользователей API
Глава 44. Управление ожиданиями

NB: длинную историю создания книги можно проследить по моим постам.

Комментарии (4)


  1. Sannis
    23.06.2025 13:05

    Правильно ли я понимаю что речь в книге идёт в основном о REST API? Не думали расширить, включив gRPC, GraphQL и более современные технологии?


    1. forgotten Автор
      23.06.2025 13:05

      Нет, совершенно не о REST API, хотя ему (а также сравнению с gRPC и GraphQL) посвящен отдельный раздел. Напротив, я старался сделать книгу максимально абстрагированной от конкретных технологий.


  1. igrishaev
    23.06.2025 13:05

    Вы написали книгу, это огромный труд. Но почему бы не потратить лишний день на анонс? Написать, что внутри, какие разделы, привести оглавление, фрагмент пары глав? Ходить по вашим прошлым публикациям вряд ли кто-то будет.


    1. forgotten Автор
      23.06.2025 13:05

      Спасибо за совет, добавил!