Nylas, платформа для разработчиков для интеграции бизнес-приложений через прикладные программные интерфейсы (API), провела опрос разработчиков относительно API и использовала его результаты при создании новой версии собственного API. Айзек Нассими, старший вице-президент Nylas по продуктам, рассказал порталу The New Stack о том, какие составляющие должны присутствовать в современном API.

API могут показаться волшебством — если только вы не разработчик. От разработчиков, как оказалось, API требуют много работы, чтобы технология казалась волшебной.

В ходе исследования, проведенного Nylas, которая предлагает API и инструменты разработки для создания и интеграции функций электронной почты, календаря и контактов в приложения и ПО, выяснилось, что разработчики тратят много времени на работу с API. Компания опросила 1200 американских разработчиков, руководителей инженерных служб и технических руководителей, причем около 60% ответов поступило от разработчиков. 73% респондентов заявили, что тратят до пяти часов в неделю на обслуживание API и устранение ошибок. Лишь 23% респондентов заявили, что постоянно сталкиваются с высокой производительностью API.

Несмотря на то что API должны упрощать интеграцию, 64% опрошенных заявили, что интеграция новых API в существующий технологический стек представляет собой серьезную проблему. «Именно здесь могут помочь руководства по быстрому запуску, SDK и поддержка, которые устраняют трения на протяжении всего процесса интеграции и позволяют разработчикам быстрее реализовывать проекты», — отмечается в отчете.

В ходе опроса также ставилась задача выяснить, сколько кода пишется с использованием и без использования API — по идее, хороший показатель уровня опыта разработчиков. Оказалось, что если 80% полагают, что могут написать не менее 500 строк кода без API, то 41% признали, что все равно напишут не менее 500 строк кода с API.

Исследователи пришли к выводу, что в современном API должны присутствовать четыре составляющие: производительность, опыт разработчиков, безопасность и интеллект. По словам Айзека Нассими, при создании последней версии своего API, Nylas API версии 3, учитывались все эти четыре фактора. А начали с производительности и задержек.

Работа с производительностью API на фронтенде

«Как разработчик, вы должны очень внимательно относиться к задержкам, когда впервые используете API, потому что отключить его очень сложно, — говорит Нассими. — Кроме того, он выходит из-под вашего контроля, как только вы решаете использовать его в компании. Большая проблема заключается в том, что существует определенный порог задержки, к которому пользователи относятся нормально, и как только вы его переступаете, вы сталкиваетесь с очень странным их поведением».

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

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

«Разработчики делают интеграцию, но затем им приходится создавать промежуточные состояния загрузки и прочее, чтобы проверить, завершилась ли синхронизация, а также промежуточные окна, которые они могут показывать пользователю, чтобы сообщить ему, например: „Эй, мы все еще получаем ваши данные“», — говорит Нассими. По его словам, Nylas удалось от всего этого избавиться: «Разработчику нужно только интегрировать конечные точки, он знает, что данные уже есть, поэтому ему не нужно делать всю эту работу по обработке промежуточных состояний».

Нассими утверждает, что теперь все происходит «практически мгновенно», поскольку благодаря улучшенной интеграции с поставщиками электронной почты данные передаются мгновенно, а не дублируются на стороне Nylas. «В целом самое главное, что нужно понимать, — это то, что мы просто передаем запрос прямо в источник истины, — добавляет он. — В ближайшие несколько лет все API перейдут на этот уровень».

Более «умные» API

По прогнозам Nylas, API должны стать «умнее». Интеллектуальность может быть реализована с помощью парсинга данных, предиктивной аналитики и того, что компания называет «умным составлением», то есть предоставлением разработчикам возможности использовать любые GPT, которые они захотят.

По словам Нассими, это может разгрузить разработчиков и уменьшить объем их кодирования. Он считает, что настоящий интеллект — это когда вы используете эти инструменты, чтобы дать пользователям то, о чем они даже не подозревали, но как только увидели это, то сказали: «Да, мне нужно внедрить это в свою платформу».

«Мы можем использовать такие вещи, как парсинг. Смотрите, через вашу систему проходит много данных электронной почты. Конечно, мы предоставляем вам электронные письма, но мы можем дать вам и то, что в них содержится. Если кто-то что-то покупает, мы можем предоставить вам данные, содержащиеся в квитанции, рассказать, что он заказал, и дать вам изображения заказанных вещей. Мы можем предоставить вам все это в структурированном виде», — поясняет Нассими.

Безопасность и улучшение опыта разработчиков

Современные API также должны быть направлены на обеспечение безопасности, особенно с учетом того, что взломы API «чрезвычайно распространены», отмечает Нассими.

«Безопасность определяется несколькими факторами, — говорит он. — Очевидно, что есть код, который вы пишете, но есть и процессы, которые вы внедряете, и есть операции — по сути, то, насколько хорошо вы соблюдаете эти процессы. Внутренняя культура будет определять, насколько хорошо вы выполняете все эти три задачи».

По его словам, о безопасности легко не думать — до тех пор, пока разработчик не увидит последствия пренебрежения ею. «Тогда на всю оставшуюся жизнь это станет для него весьма высоким приоритетом», — отмечает Нассими.

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