Это обзор книги Фила Стерджена « Создание API-интерфейсов, которые вы не будете ненавидеть» .
Создание API, которые вы не будете ненавидеть
Немного острый заголовок, не так ли? Это имеет смысл, хотя. Потенциал разработчика, ненавидящего все, что он построил, имея достаточно времени, чтобы работать над ним, огромен. Это своего рода обратная парабола — ваш энтузиазм будет расти в течение определенного периода времени, а затем пропорционально падает, пока вы не опуститесь ниже начальной точки удовольствия. Если вы преодолеете эту депрессию, изучите новые техники , а затем примените их к своей работе, вы получите своего рода синусоидальную волну, в которой ваш энтузиазм снова возрастает, пока не начнет падать, и так далее, и так далее.
Эта книга пытается помочь вам продлиться как можно дольше по параболе — ее цель — научить вас некоторым методам разработки API, которые делают ваши API проще, надежнее и более «людьми, которых нет» -дружелюбный.
Стиль письма и аудитория
Фил остается верным самому себе в рукописи, заполненной юмористическими замечаниями, язвительными комментариями и практическими примерами. Главы хорошо структурированы и плавно представлены с перерывами в содержании только в нужных местах, никогда не делая книгу перегруженной или расстраивающей.
Я бы сказал, что аудитория книги — это разработчики среднего и высшего уровня, которые хотят улучшить свой существующий дизайн или просто получить совет о том, как приступить к правильной разработке API, прежде чем превратить его в беспорядок, которого они уже ожидают. быть. Если вы младший, у вас будет мало пользы от этой книги, но, возможно, ее покупка и хранение на полке Leanpub не будут плохой идеей, если у вас есть еще пара отметок в вашем PHP-клубе.
Единственным недостатком является то, что Фил не может записать, чтобы спасти свою жизнь. И не просто опечатки, а случайная апострофическая бойня :
но также и лёгкая грамматика, а порой и молочная фраза. В типичной манере Leanpub, здесь необходимость профессионального редактора становится очевидной. Независимые авторы, я абсолютно уверен, что вы знаете кого-то, кто хоть немного изучал английский (и был относительно хорош) — попросите их прочитать вашу работу и исправить ее во время написания, это поможет нагрузкам. Если вы не можете никого найти, заплатите кому-нибудь! Черт возьми, я сделаю это бесплатно, просто пришли мне свои книги.
Это единственное замечание, которое я испытываю к книге.
Технический аспект и содержание
Технически эта книга превосходит практически все уровни.
Содержимое вечно зеленое и должно оставаться актуальным какое-то время, лишь с редкими ссылками на нерелевантные операционные системы и их менеджеры пакетов (OS X, Homebrew). Эти части были бы лучше, если бы во вступлении к книге их заменяли обычные настройки Vagrant, такие как Homestead или Homestead Improved , с демонстрацией всех дальнейших примеров. Такой подход сделал бы части кода более доступными для всех читателей, даже поддерживая их URL-адреса согласованными, избавляя от необходимости упоминать домашние каталоги, примеры доменов и т. Д. Это незначительное потенциальное обновление с относительно небольшим положительным эффектом потока чтения, но все же потенциальное обновление.
Как человек, который ежедневно занимается API-интерфейсами других людей и работает сам по себе, я мог бы оценить все подсказки внутри. Фил не только старается изо всех сил рекомендовать отличные сопроводительные инструменты для использования во время разработки и отладки (и демонстрирует их основное использование), но и все его примеры являются реальными и основаны на его опыте работы с мощным API.
Почти в каждой главе перечислены общие подходы к разработке специфической функции API и заканчивается сравнение их плюсов и минусов, обычно заканчивающихся подходом, который Фил выбрал и предпочел во время своих приключений. Я нашел главу по аутентификации особенно интересной, поскольку это единственный аспект разработки API, с которым у меня когда-либо были проблемы, хотя я бы предпочел, чтобы он немного больше затронул тему ACL и управления на основе ролей через сам запрос API.
Будучи опубликованным некоторое время назад, в главе «Документация» книги отсутствует RAML в качестве опции, но глава настолько заполнена практическими инструкциями и пошаговыми примерами, что это даже не имеет значения — изучение практического, реального мира примера документации далеко перевешивает выгоду просто услышать о более новой концепции.
Что касается содержания, единственная пропущенная глава — «Кэширование», и Фил признает это в конце книги. Кэширование в контексте разработки API — это невероятно мощная тема, о которой я с удовольствием услышал в одном из выступлений Росса Така на ZgPHP , и я надеюсь, что он будет добавлен в ближайшее время.
Вывод
Я даю книге 4/5 с убитым слоном только из-за орфографии и грамматики и, возможно, немного из-за пропавшей главы «Кэш».
В общем, эта книга — золотая жила, полная кусочков ценной информации, и если вы планируете создавать API для каких-либо целей, прочитайте ее. Кстати, теперь вы можете получить его дешевле — по этой ссылке первые 100 клиентов получают большую скидку.
Вы читали это? Ваше мнение?