Connect with us

Управление API

Apiary.io

AppTractor

Опубликовано

/

     
     

Инструмент для проверки API и написания документации. Документы пишутся на специальном предметно-ориентированном языке (DSL), а потом, при помощи прокси к API, можно записать запросы, и периодически проверять, что всё описанное соответствует действительности.

AppTractor
Комментарии Facebook
Продолжить чтение
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Новости

Google покупает Apigee

Walgreens, например, с помощью Apigee управляет API, формирующими экосистему для партнеров и разработчиков.

Леонид Боголюбов

Опубликовано

/

Google планирует купить Apigee, платформу управления API, за 625 миллионов долларов.

Компания помогает своим клиентам создавать цифровые продукты на основе открытых программных интерфейсов. Среди ее клиентов – Walgreens, AT&T, Bechtel, Burberry, First Data и Live Nation.

Walgreens, например, с помощью Apigee управляет API, формирующими экосистему для партнеров и разработчиков. Это Photo Prints API (печать фотографий из любых приложений в магазинах Walgreens) и Prescription API (управление рецептами из приложений).

Apigee вышла на биржу в прошлом году с ценой акции в 17 долларов. Сразу после этого стоимость постоянно падала и достигла минимума в 5.45 в феврале, но с тех пор цена акций наоборот, стала постоянно рости, и сейчас практически вернулась к позиции начала торгов – акция вчера стоила 16.34 доллара. Google заплатит $17.40 за акцию и на все у него уйдет, соответственно, около 625 миллионов.

В целом, по прогнозам, рынок управления API достигнет 660 миллионов к 2020 году.

Леонид Боголюбов
Комментарии Facebook
Продолжить чтение

Новости

Postman, платформа для разработки API, получила $1 миллион

По сути, Postman – как Google Docs для API. Платформа позволяет командам отслеживать изменения и работать совместно, разрабатывая API без сбоев и недопониманий.

Анна Уханаева

Опубликовано

/

Самые важные компании основываются для решения проблем. Обычно это проблемы, с которыми сталкивались сами основатели. В этом смысле компания Postman, предлагающая платформу для разработки API, создавалась именно так. Добавьте к этому то, что расположенный в Индии стартап только что получил $1 миллион в посевном раунде от Nexus Venture Partners.

CEO и со-основатель Postman Абхинав Астана рассказал, что впервые столкнулся с разработкой API будучи интерном в Yahoo в 2009 году.

Мы двигаемся туда и обратно в разработке и выпуске API, – объяснил он в интервью TechCrunch. – В результате создание продукта занимает очень много времени. Вы получаете API, которое не очень хорошо документировано, а у вас нет на это времени.

Астана сказал, что эта проблема преследовала его везде – он запустил приложение для съемки панорамных фото TeleportMe в 2010 году – и это подтолкнуло его начать разработку опен-сорсного решения для его задач в 2012. После того, как он понял, что это имеет потенциал, в сентябре 2013 Астана запустил Postman вместе с экс-инженером Adobe Анкитом Собти (CTO в Postman).

Прошло больше 18 месяцев с того момента и сервис Postman, доступный в качестве приложения на Chrome, значительно развился. В нем зарегистрировано более 1,5 миллионов разработчиков, Астана говорит, что более 800,000 из них активны. Эта пользовательская база очень глобальна, половина расположена в США, включая сотрудников известных компаний, таких как Box, Microsoft и Cisco.

Очень неплохо для маленькой компании из 9 человек из Индии. Поднявшись в США и получив инвестиции, компания планирует открыть офис в Сан-Франциско в этом году, сказал Астана. Также в планах нанять больше сотрудников, хотя, подчеркнул он, Postman хочет остаться маленькой командой.

По сути, Postman – как Google Docs для API. Платформа позволяет командам отслеживать изменения и работать совместно, разрабатывая API без сбоев и недопониманий.

Астана объяснил, что Postman Sync помещает весь процесс разработки API в одно место. Это, в сочетании с поиском и набором внутренних функций, снимает необходимость проверки различных сайтов и документов для отслеживания текущего статуса или изменений.

Как и любой облачный сервис, Postman включает в себя новостную ленту с извещениями об изменениях в разработке API и синхронизирует данные в облаке. Это, сказал CEO Postman, помогает отслеживать корневые причины багов и избежать изменений, которые сломают API.

Мы ищем способы изменить пути работы с API, – сказал Астана. – Самая большая проблема с готовым API – то, что изменения не документируются, а после запуска все ломается. Мы хотим положить этому конец.

Ограниченная версия сервиса доступна бесплатно. Полная версия Postman Sync обойдется в $49 в месяц для команды до 10 разработчиков – Астана преследует цель превратить 5% зарегистрированных пользователей в платящих. Он сказал, что в планах компании предоставить гибкие тарифные планы для компаний с большими нуждами.

Postman, получивший большую базу пользователей благодаря сарафанному радио, сейчас работает над улучшением Sync – коллаборационной платформы. Когда это будет осуществлено, они начнут разработку нативных приложений – Астана отмечает, что рассматривает возможность разработки мобильных приложений, если на то будет достаточный спрос – и системной интеграции.

Анна Уханаева
Комментарии Facebook
Продолжить чтение

Статьи

Xsolla: как сделать документацию API всегда актуальной

Чтобы предоставить самую свежую информацию для быстрой интеграции клиентам, команда Xsolla придумала инновационный инструмент автоматической генерации сопроводительной документации. О том, как работает данная система, рассказывает Тимур Саттаров — ведущий разработчик компании.

Xsolla

Опубликовано

/

Автор:

Xsolla — международная компания, которая работает со множеством разработчиков и издателей из США, России, Южной Кореи, стран СНГ. Чтобы предоставить самую свежую информацию для быстрой интеграции клиентам, команда Xsolla придумала инновационный инструмент автоматической генерации сопроводительной документации. О том, как работает данная система, рассказывает Тимур Саттаров — ведущий разработчик компании.

Как правило, во время разработки документации не уделяется нужного внимания. Кто-то когда-то, может быть, ею и занимается, но в самую последнюю очередь.

Поддержка актуальности документации по API требует отдельного этапа в процессе разработки и даже отдельного сотрудника. Хорошо, если такой специалист есть и обладает необходимыми програмистскими навыками. В противном случае ему будет сложно изложить материалы так, чтобы его поняли клиенты.

В процессе развития проекта часто возникают ситуации, когда некоторые методы API изменяются (улучшаются, устраняются ошибки, вводятся новые возможности). Во время активного развития поддерживать документацию в обновленном состоянии непросто. У человека часто не хватает времени вовремя вносить столько поправок и описывать все тонкости процесса.

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

Долой человеческий фактор

У команды Xsolla откладывать написание документации на потом не получится. Мы делаем внешний API, которым будут пользоваться сотни клиентов из разных часовых зон. Им некогда ждать по несколько дней, пока мы внесем замечания в описание и поясним новые функции. Актуальное описание API для нас — это важнейший элемент, ведь исходя из того, насколько понятен предложенный документ, разработчики игр и будут решать, насколько быстро они смогут провести интеграцию и сколько ресурсов на это потребуется.

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

Аннотации в Symfony

В качестве места хранения информации мы остановились на аннотациях в Symfony — это многострочные комментарии, в которых описываются параметры метода. В них, например, может быть указан роутинг или ожидаемые входные параметры.

В нашей реализации мы будем хранить в аннотациях всё, что нужно для формирования документации. Работу с аннотациями обеспечат FOSRestBundle и NelmioApiDocBundle.

Эту информацию заполняет разработчик. Если метод существенно меняет своё поведение, то это отражается на описании, его входных или выходных параметрах.

Пример аннотаций в Xsolla API

Пример аннотаций в Xsolla API

Для валидации входных параметров мы используем формы Symfony. Описание параметров и их типы также указаны в коде.

Пример кода Xsolla API

Пример кода Xsolla API

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

Получение ответов от API

Еще одна особенность подхода Xsolla в том, что для каждого метода на основе URL и входных данных система автоматически выполняет метод с тестовыми входными данными и фиксирует ответ от API, который попадёт в документацию. Таким образом, при генерации документации мы ещё раз проверяем формат вводных данных. Это лишний раз позволяет гарантировать, что документация на 100% соответствует коду.

Генерация Markdown

Для генерации автоматической документации по коду мы использовали NelmioApiDocBundle.

В качестве промежуточного формата для хранения документации был выбран Markdown. Этот инструмент прекрасно подходит для просмотра изменений документации, сделанных разработчиками.

Совсем без писанины не обошлось, конечно. Статические части документа API Reference (например, вступления к некоторым разделам) остаются неизменными, и их обязательно должен написать специалист. Компьютер на такое не способен пока ещё.

Пример использования Markdown

Пример использования Markdown

В Markdown попадает всё, что впоследствии окажется в документации: URL и описания методов, входные параметры, примеры выполнения команд с использованием нескольких технологий (на данном этапе HTTP и cURL).

Markdown позволяет легко контролировать изменения, а также добавлять разделы со статическим содержимым. Удобно и быстро.

Генерация HTML

Изначально генерировали документацию на основе slate, но впоследствии реализовали собственное решение.

Полученные в Markdown данные мы преобразовываем в HTML подсистемы, написанные с использованием node.js и находящиеся под управлением gulp.

Формирование HTML на основе Markdown реализовано с использованием библиотек animate.css, bourbon, lodash, normalize-css, retina.js, underscore.

Пример отображения документа в HTML

Пример отображения документа в HTML

Deployment

Теперь осталось только собрать финальные html файлы и выложить на веб-сервер. Для этого, как и для всех остальных деплойментов кода, мы написали рецепт для Capistrano. Пара консольных команд – и пользователи получают актуальную версию документации API одновременно с релизом измененного кода.

Результаты работы можно увидеть на developers.xsolla.com.

Заключение

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

Xsolla
Комментарии Facebook
Продолжить чтение

Календарь

ноябрь

17ноя - 19Весь деньТИЛТЕХ МЕДХАК

24ноя - 26Весь деньWhat the hack?!

25нояВесь деньSmart Taler 2017

25нояВесь деньLadies Code: время технологий

30нояВесь деньSmart Cars & Roads 2017

декабрь

5дек18:30- 22:00Яндекс изнутри: глазами iOS-разработчика

8дек - 9Весь деньКубок СTF России

9дек - 10Весь деньGames Gathering 2017

9декВесь деньЛекционный день по игровой индустрии

Наша рассылка

Каждому подписавшемуся - "1 час на UI аудит": бесплатный ускоренный курс для разработчиков веб и мобильных приложений!

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Наш Facebook

Популярное

X

Спасибо!

Теперь редакторы в курсе.