Исследование, проведенное среди разработчиков ПО, направлено на определение
компаний, с API которых сложнее всего работать. Победителем, или скорее
проигравшим, оказалась социальная сеть Facebook. Исследователи отметили, что в
API сети Facebook было больше всего ошибок, помимо этого Facebook отличился
скудной документацией, беспрестанными изменениями в API, большим временем
отклика и другими неприятностями.
API компании Google оказались на втором месте и API сети Twitter на третьем.
Действительно, на сегодняшний день эти три службы пользуются наибольшей
популярностью среди разработчиков, поэтому нет ничего удивительного в том, что
они занимают верхние позиции в списке проблем. Естественно, Facebook, Google и
Twitter будут занимать более высокие позиции, чем, скажем, API Digg, о котором
вообще мало кто слышал.
Согласно данным Trove, службы размещения фотографий, которая производила
исследование, вышеупомянутые провайдеры все-таки получили слишком много
негативных отзывов о своих API. Trove считает, что разработчики заслуживают
большего:
Сайты плохо обслуживают своих разработчиков. Плохая документация. Проблемы
с такими службами как OAuth. В API беспорядочно вносятся изменения, о которых
никто не предупреждает. Нет ничего даже отдаленно напоминающего о стандартах в
индустрии, стандартная практика для всех - найти свой обходной путь. Как
разработчики мы заявляем о том, что это наш хлеб и мы заслуживаем лучшего.
Другие любопытные результаты исследования касались интеграции, служебных
данных и деталей отдельных проблем.
Например, примерно две трети разработчиков жаловались на то, что им
приходилось иметь дело с интеграцией 3 и более служб, в то время как оставшаяся
треть использовала от 4 до 6. 9 разработчиков сообщили, что они работали с 11 и
более службами.
К своему удивлению, Trove обнаружила, что разработчики не считают, что работа
с интеграцией служб становится из года в год все хуже. Может быть, это так,
благодаря таким усовершенствованиям как, например, стандартизированные
библиотеки, либо, возможно, Trove просто не так задала вопрос.
Что касается проблем, то вот всего лишь несколько
- скудная документация;
- OAuth;
- плохая обработка ошибок;
- отсутствие примеров кода;
- отсутствие режимов тестирвоания;
- отсутствие стандартизированных библиотек на разных языках;
- API, которые часто изменяются (преимущественно на Facebook);
- нормализация данных, чтобы соответствовать внутренней структуре;
- отсутствие грани между пользованием и злоупотреблением;
- меняющиеся стандарты (REST в SOAP в XML-RPC, XML в JSON в POST и т.д.);
- отсутствие прямого контакта между разработчиками и провайдерами.
Компания Trove обещала скоро опубликовать новое исследование, чтобы задать те
вопросы, которые сами разработчики хотели бы услышать в следующий раз.