Стратегии успеха платформы. Разработка удобных для разработчиков API и SDK

Разработчики компании DST Global рассказывают про четыре необходимые стратегии, которые должны лежать в основе любой программы API/SDK: простота, устойчивость, создание сообщества и постоянное совершенствование.

API и SDK — это то, как вы предоставляете разработчикам мост для вашей базовой платформы, позволяя им компилировать и использовать приложения, а также интегрировать вашу платформу со своими личными проектами. Создание API и SDK , которые любят использовать разработчики, может улучшить или разрушить вашу платформу, и это не просто подвиг. В следующей статье мы представим некоторые из наиболее эффективных практик, которые видели  в отрасли. Разработчики DST Global помещаю эти четыре необходимые стратегии, которые должны лежать в основе любой программы API/SDK: простота, устойчивость, создание сообщества и постоянное совершенствование.

Отдавайте предпочтение простоте

Простота — наиболее важный фактор, который следует учитывать при разработке API и SDK. Фирмы с большей вероятностью примут вас и останутся с вами, если использование API и SDK будет интуитивно понятным, хорошо документированным и легко подключаемым к другим проектам. Не переусердствуйте и не усложняйте API/SDK.

Предпочитая ясность, последовательность и соответствие отраслевым стандартам, разрабатывайте интуитивно понятные и удобные API и SDK. Создавайте конечные точки с помощью кратких и описательных рекомендаций по именованию, которые точно передают их назначение. Примените комплексное руководство для всего вашего API или SDK с последовательным соблюдением возможностей именования и сценариев проектирования. Соответствуйте широко распространенным стандартам и парадигмам, таким как принципы RESTful, соответствующие методы HTTP, соглашения, специфичные для языка, и механизмы безопасной аутентификации, чтобы обеспечить разработчикам удобный и знакомый опыт.

Слепое следование руководству по стилю без учета уникальных требований и целей вашей платформы может привести к неоптимальным результатам. Важно найти баланс между удовлетворением потребностей разработчиков и действиями, необходимыми для долгосрочного успеха и жизнеспособности вашей платформы. Хотя может возникнуть соблазн выполнить каждый запрос от ваших пользователей, вы должны сделать трудный выбор, чтобы расставить приоритеты в отношении работоспособности и ремонтопригодности вашей платформы (применяется пословица: «Сначала наденьте собственную кислородную маску, прежде чем помогать другим»). Ничто так не подрывает доверие, как платформа, которой не хватает стабильности и безопасности или которая не может масштабироваться, поэтому усердно работайте, чтобы найти правильный баланс между хорошим удобством для разработчиков и обеспечением того, чтобы вышеупомянутые критерии не подвергались опасности.

Проектирование для устойчивости

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

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

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

Убедитесь, что ваши API и SDK включают надежные возможности ведения журналов, которые могут помочь разработчикам устранять и отлаживать проблемы. Записывайте соответствующую информацию, такую как сведения о запросе/ответе, сообщения об ошибках и трассировки стека. Разрешить разработчикам настраивать детализацию журналирования и полностью включать или отключать журналирование в рабочей среде. Определите последовательную и четкую политику управления версиями для своих API и SDK. Следуйте семантическому версионированию.

Содействие сообществу разработчиков

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

Убедитесь, что ваша служба поддержки отзывчива и компетентна, оперативно отвечаете на вопросы разработчиков и предоставляете ценные ответы. Создайте подробную внутреннюю базу знаний или специальный раздел часто задаваемых вопросов, содержащий решения распространенных вопросов и проблем. Это гарантирует, что ваши команды поддержки и выездные команды смогут быстро понять и решить проблемы клиентов, обеспечивая разработчикам удобство использования ваших API и SDK. Организуйте мероприятия и конференции для разработчиков, чтобы собрать разработчиков и стимулировать общение один на один. Приглашайте ветеранов и экспертов отрасли для обучения и просвещения, а также дайте разработчикам возможность представить свои собственные проекты, чтобы учиться друг у друга. Собирайте отзывы, объявляйте о функциях или изменениях и общайтесь с сообществом разработчиков. Рост процветающего сообщества разработчиков гарантирует, что у вас будет благоприятная среда, способствующая сотрудничеству, обучению и инновациям, что позволит вашим API и SDK стать более популярными и успешными.

Повторяйте и улучшайте

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

Выделите ресурсы и установите сроки для реализации изменений. Убедитесь, что ваш цикл разработки включает в себя полное тестирование и процедуры обеспечения качества для обеспечения целостности и надежности ваших API и SDK. Обновите документацию и сообщите об изменениях сообществу разработчиков. Установите ключевые показатели эффективности — например, уровень внедрения API, удовлетворенность разработчиков, время ответа на заявку в службу поддержки — чтобы оценить эффективность ваших изменений. Регулярно отслеживайте и оценивайте эти данные, чтобы оценить эффект ваших изменений и выявить потенциальные улучшения.

Наконец, создайте культуру непрерывного обучения и совершенствования внутри вашей организации. Убедитесь, что ваша команда следит за последними тенденциями в отрасли, посещает конференции и семинары, а также участвует в сообществах разработчиков. Знание текущих тенденций дает вам необходимую информацию, позволяющую оставаться впереди и удовлетворять текущие потребности разработчиков. Что еще более важно, иметь процессы, которые позволят вам повторять и улучшать предоставляемые API и SDK. Наличие процесса, способного эффективно повторяться, показывает разработчикам, что вы серьезно относитесь к поставке качественных продуктов и можете быстро переключиться на другого поставщика, если их ожидания не оправдаются. Таким образом, вы строите доверие и прочные отношения, а ваша платформа становится надежным и инновационным инструментом, который продолжает привлекать разработчиков на рынке.

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

Стратегии успеха платформы. Разработка удобных для разработчиков API и SDK
Получить консультацию у специалистов DST
Напишите нам прямо сейчас, наши специалисты расскажут об услугах и ответят на все ваши вопросы.
Комментарии
RSS
09:09
+3
То есть, главное отличие — SDK можно скачать/купить, сохранить на диск, установить (если предусмотрен инсталлятор), а API это нечто сторонее, верно?
В целом — да. API — кем-то предоставляемый набор интерфейсов. ОС, кем-то в сети и т.п.

SDK — пакет который устанавливаешь себе сам для работы с этими интерфейсами.

Как пример — есть WinAPI — экспортируемые системные функции которые реализованы в ядре ОС. WinSDK — пакет для работы с этими функциями — заголовочные файлы, библиотеки импорта, оффлайновая документация.

В принципе, можно и без SDK — почитать про нужную функцию на MSDN, самому написать заголовочный файл, получить ее адрес через GetProcAddress (или самому сделать библиотеку импорта нужного модуля при помощи implib).

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

В состав SDK могут входить алгоритмы и рабочие компоненты, которые помогают получать пользовательскую информацию, производить ее обработку, хранение, менять ее состояние. Так, система содержит API, документацию, примеры кодов, то есть представляет собой программный модуль готового комплекса инструментов, направленного на создание функциональных и удобных приложений на базе геолокации.
11:51
SDK позволяет разработчикам исключать погружение в код и решать задачи по созданию мобильного приложения посредством абстракции. Пользователю достаточно просто загрузить библиотеку SDK в собственную среду разработки и применять предлагаемые интерфейсы для использования всех возможностей приложения. Чтобы получать сигналы Wi-Fi, Bluetooth для определения точного местоположения, не требуется применять никаких дополнительных кодов. Все данные автоматически обрабатываются SDK.

Благодаря инструменту можно легко отслеживать перемещение объектов внутри помещений. Мобильное приложение для навигации на базе SDK позволяет:

определять местоположение человека, оборудования, транспорта;
строить SDK карты для Android или iOS с прокладкой маршрутов по зданию;
собирать геоданные для анализа;
создавать тепловые карты;
настраивать push-уведомления;
фиксировать время входа в зоны с ограниченным доступом.

Таким образом, API является интерфейсом, а SDK – инструментом реализации поставленных задач. Выбор того или иного инструмента определяется тем, что именно предоставляется разработчику. Если поставщик передает доступ к какой-либо отдельной функции, достаточно одного API. В случаях, когда производится передача целого функционального блока, более оптимальной является подготовка SDK.

Наша компания готова предоставить заказчикам набор инструментов Navigine SDK для реализации систем навигации внутри помещений. С их помощью можно существенно расширить функциональные возможности мобильного приложения и облегчить отслеживание людей и активов внутри помещений. Внедрение наших алгоритмов позволяет определять местоположение объектов с точностью до 5 метров, создавать навигационные карты для iOS или Android, а также выстраивать маршруты к местам интереса.
09:12
+3
Разработка SDK имеет немало сложностей и требует от команды большого опыта, в этой области нужно постоянно учиться. В свою очередь, SDK помогает расширить целевую аудиторию за счет пользователей мобильных устройств и в перспективе увеличить прибыль, так что бесспорно это очень полезно для компаний
19:13
+2
Спасибо автору за столь информативный и вдохновляющий материал! Обязательно рекомендую всем разработчикам и архитекторам программного обеспечения.
Вам может быть интересно
Изучите изменяемую инфраструктуру и неизменяемые структуры: узнайте от специалистов компании DST Global, какие из них обеспечивают гибкость обновлений, согласованность, надежность и соответствуют разл...
В современной разработке большая часть приложений не создаётся с нуля. Программи...
В этой публикации специалисты из DST Global предст...
Десятилетие совершенства: путь, влияние и будущее ...
В статье подчеркивается важность создания комплекс...
Микросервисы — это тип архитектуры, который ...
Как пользоваться Github? Разработчики компании DST...
Когда дело доходит до разработки программного обес...
Инструменты контейнеризацииКонтейнеризация —...
Отслеживайте ресурсы, устанавливайте политики, изу...

Новые комментарии

Каждая CRM система хороша по своему и для своих задач, Бирикс 24 для продаж, DST CRM для управления проектами, IQ300 для стратегического управления ко...
Наша компания давно задумываться создать свою эко систему, останавливают длинные сроки разработки и конечно высокий ценник, но как понимаем быстро и д...
Сейчас наша компания переходит на работу с Kubernetes, хотелось бы больше статей на эту тему, особенно на темы безопасности и стабильности работы Kube...
Спасибо автору за интересную статью, не давно наши айтишники поднимали данную тему, никак понять не могли что нам нужно, полусаеться API хватит

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Ижевск, ул. Воткинское шоссе, д. 170 Е, Технопарк Нобель, офис 1117

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон