10 лет в индустрии: как Авроре удалось сделать лучшую поддержку разработчиков в России

от автора

В апреле этого года «Открытой мобильной платформе» исполнилось 10 лет. За это время мы прошли путь от запуска первой версии ОС до зрелой экосистемы, в которой партнёры-разработчики играют важную роль, ведь они являются соавторами продукта. И как подтверждение успеха данного подхода, в мае в Омске мы получили награду «За лучшую поддержку разработчика среди российских ОС» на «ДевФест 26».

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

Уникальность поддержки ОМП заключается в комплексном подходе — это экосистема, объединяющая: инструменты разработки, образовательные ресурсы, сертификационную поддержку, прямую коммуникацию с экспертами компании, большое техническое, академическое и продуктово-пользовательское сообщество, уникальную программу бета-тестирования, в которой состоит более 700 энтузиастов. Мы предоставляем полный цикл поддержки разработчика: от SDK и документации до публикации в магазинах приложений. Создали и развиваем портал и публичные ресурсы для разработчиков. Обеспечиваем подготовку кадров и развиваем кросс-платформенные фреймворки для удобства миграции (Qt, Flutter, Kotlin Multiplatform и CMP).

Немного статистики. В документации на портале разработчика https://developer.auroraos.ru/doc:

  • опубликованы 3257 статей и 1246 изображений (схем и скриншотов);

  • поддерживаются 15 релизов ОС Аврора;

  • предоставляется документация по 6 сторонним инструментам (фреймворкам и библиотекам).

На Mos.Hub размещены:

  • учебно-методические материалы для образовательных курсов по 8 направлениям;

  • 91 примеров и демо-приложений;

  • 108 рецептов по сборке библиотек для Conan;

  • 59 адаптированных пакетов и плагинов Flutter.

В сфере образования:

  • у ОМП свыше 50 образовательных партнеров;

  • половина ведущих ИТ-вузов страны знакомят студентов с технологией Аврора как в рамках учебной программы, так и в научно-исследовательской деятельности;

  • более 15 организаций читают курсы по нашим материалам;

  • 700+ человек ежегодно обучается программированию под ОС Аврора;

  • 11 студенческих проектов успешно выполнены за последние 2 года.

А теперь подробнее о том, как мы к этому пришли, с какими вызовами столкнулись и как их преодолели.

От почты к инженерным чатам: как устроена первая линия

10 лет назад, когда мы только начинали работать с партнёрами, мы выстроили поддержку по классической схеме: почта, тикет-система, формальный SLA. Быстро поняли, что для мобильной разработки, а тем более, совместного участия в проектах, это не работает. Когда команда в сжатые сроки портирует приложение, для нее важна обратная связь от инженера, а не автоматические ответы. Инженер откроет лог, подскажет, почему приложение падает в хитрых исключительных условиях, и не потеряет контекст при передаче между отделами.

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

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

Несмотря на то, что наша компания софтверная и не производит устройства, мы берём на себя инфраструктурную боль: предоставляем устройства для разработки на тестовый период, а также напрямую соединяем разработчиков с вендорами железа, упрощая закупку и настройку.

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

Портал разработчика: 10 лет эволюции и уникальные API

ОС Аврора предоставляет множество уникальных API, позволяющих глубоко интегрироваться с функциями устройств, инфраструктурой, сервисами безопасности. Но мощные интерфейсы бесполезны, если о них не знают или не понимают, как их применять.

Именно поэтому с 2016 года мы развиваем портал разработчика. Мы пишем его сами и добавляем функции, ориентируясь на обратную связь от сообщества. Сначала это был простой архив мануалов, сейчас – полноценная платформа с документацией для всех поддерживаемых версий ОС, кросс-версионным поиском, разделом новостей и страницами с загрузками и информацией о выпусках. Главная задача портала — предоставить всю необходимую информацию по разработке приложений для ОС Аврора.

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

Полный контроль над релизами ОС и SDK

Ключевое преимущество, которое мы можем дать, — полный контроль над релизными циклами и ОС, и SDK. Аврора SDK сегодня — единственный в России набор инструментов разработки, включённый в реестр отечественного ПО в полном соответствии с требованиями Минцифры. Но еще важнее гибкость.

Мы умеем подстраивать поставку SDK под нужды партнёров. Типичный кейс: крупные команды не хотят (и не могут) собирать проекты на локальных машинах разработчиков. Мы реализовали поставку SDK в виде готового Docker-контейнера. Это позволяет встроить тулчейн в GitLab CI или Jenkins без сложностей с настройкой окружения, гарантируя воспроизводимость сборок от коммита до артефакта.

Когда разработчики просят новые интерфейсы, мы обсуждаем сценарий использования, проектируем API совместно и выпускаем его в согласованном виде. Так появились, например, Antivirus API и Key Store: по запросу партнёров, с обсуждением и тестированием.

Как запросы партнёров меняют платформу (реальные кейсы)

За десять лет мы накопили десятки историй, где тесное взаимодействие превращалось в фичи ОС, стабильные модули или открытые библиотеки. Вот несколько показательных примеров.

Когда крупный маркетплейс переносил своё приложение на Аврору, у него уже была зрелая кодовая база на Flutter. Но здесь есть важный нюанс: экосистема Flutter сильна именно тем, что можно брать готовые плагины и не писать нативный код. Это делает разработку быстрой и экономичной, но создаёт обратную сторону: многие команды просто не обладают компетенциями для реализации кастомных платформенных плагинов. Мы не стали перекладывать эту боль на партнёра. По их запросу мы самостоятельно адаптировали ряд критичных Flutter-плагинов под системные особенности ОС. Итог: миграция прошла с почти нулевыми затратами.

С антивирусным ПО ситуация была сложнее. Были нужны глубокие интеграции, но ОС требует соблюдения строгих политик безопасности. Мы вместе с инженерами партнера спроектировали Antivirus API, который позволяет антивирусам выполнять все необходимые задачи, оставаясь в рамках модели безопасности ОС Аврора. Никаких костылей.

Коллеги из компании-разработчика сервисов для корпоративных коммуникаций пришли с запросом на поддержку свежих версий Qt. Мы адаптировали модули Qt 5.15 под Аврору, что позволило им переиспользовать не только архитектуру своего приложения, но и значимую часть исходного кода для решения под ОС Аврора.

А для программного комлекса для защиты рабочих мест корпоративных пользователей, который часто разворачивают в сертифицируемых конфигурациях, мы пошли на нетривиальный шаг: выделили неизменяемые компоненты ОС (верифицируемые по контрольным суммам). Это сняло головную боль с повторной сертификацией при каждом обновлении системы, что для enterprise-заказчиков критично.

Кстати, многие примеры и библиотеки в наших публичных репозиториях — результат прямых запросов партнёров. Тот же набор библиотек для работы с картами (MFW) изначально собирался под конкретные задачи интеграции, а потом был выложен в открытый доступ, чтобы другие команды не изобретали велосипед.

Образование как инфраструктура, а не картинка для отчёта

Поддержка начинается гораздо раньше установки SDK. Она начинается с обучения. Ещё в 2016 году мы впервые услышали запрос на структурированные материалы по разработке под Аврору. Тогда же мы провели летнюю школу и мастер-классы в разных городах, записи которых сразу выложили в открытый доступ. Потом появился видеокурс на Stepik.

Сегодня мы под лицензией CC-BY 4.0 публикуем полноценные учебно-методические материалы по прикладной и системной разработке. Их можно изучать самостоятельно или сразу встраивать в учебные программы вузов. А в этом году планируем выпустить новый видеокурс с сильным практическим уклоном. Мы делаем это потому что экосистема не может существовать без кадров. Когда выпускник приходит в команду уже с пониманием платформы, время онбординга сокращается в разы.

Сообщество как драйвер роадмапа

Наша программа бета-тестирования — это более 700 энтузиастов из десятков городов России, которые получают доступ к самым ранним, порой «сырым» сборкам ОС Аврора. Они не просто кликают по интерфейсу: пишут развёрнутые отчёты с логами, участвуют в нагрузочных исследованиях, предлагают изменения в сценариях и UX. Этот фидбек напрямую попадает в бэклог инженерных команд и помогает определять, какие фичи войдут в следующий стабильный релиз, а какие потребуют доработки.

И важный принцип, который мы здесь отстаиваем: эта инфраструктура не принадлежит только нам. Мы предоставляем сторонним разработчикам точно такую же возможность. Когда вы готовите к релизу своё приложение, мы можем выкатить его раннюю версию этой аудитории. За несколько дней вы получаете десятки реальных сценариев использования, отчёты о падении на разных конфигурациях и прямые комментарии от пользователей из разных регионов. Это, по сути, готовый распределённый QA-отдел, который находит крайние кейсы, невидимые в лабораторных условиях, и помогает сделать продукт стабильным ещё до публикации в магазинах. Сообщество здесь выступает в качестве партнёра по отладке, чей голос напрямую влияет на качество вашего кода.

Что дальше

Десять лет работы показали одно: поддержка разработчиков — это такая же инвестиция в продукт. Когда мы слушаем инженеров, перестраиваем внутренние процессы под их задачи, самостоятельно закрываем пробелы в плагинах и не боимся открывать архитектурные дискуссии, ОС становится еще более предсказуемым инструментом. Мы продолжим делать платформу, где ваш код влияет на дорожную карту.

Попробовать SDK, посмотреть демо-проекты или просто написать на dev-support@omp.ru — двери открыты. Пишите, если чего-то не хватает или процесс идёт не так гладко, как хотелось бы. Мы читаем всё и планируем развитие на основе ваших задач.

ссылка на оригинал статьи https://habr.com/ru/articles/1042702/