Мобильные приложения

После запуска: поддержка и управление версиями

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

Команда rabbitclipПубликация: 4 мин чтения

Коротко

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

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

Что на самом деле значит поддержка

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

Приложение не продукт, который пишут один раз и оставляют; как и любое живое ПО, оно должно меняться вместе с окружением.

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

Почему обновления операционной системы создают давление

Apple и Google каждый год выпускают по одной крупной версии операционной системы; с каждым релизом часть API объявляется устаревшей, а часть поведения разрешений меняется. Код, который прошлый год работал без нареканий, может повести себя неожиданно на новой версии.

Поэтому приложение нужно тестировать на каждом крупном релизе ОС сразу после выхода; если это тестирование откладывать, это обычно оборачивается жалобами пользователей.

Например, запрос разрешения, который раньше умещался на одном экране, в новой версии может разделиться на два шага; код продолжает работать, но пользователь так и не видит ожидаемый экран. Такие изменения проявляются только на реальном тестировании, а не при проверке кода.

Обязательные обновления со стороны магазина

Google Play каждый год поднимает минимальный целевой уровень API; приложения, оставшиеся ниже, теряют возможность устанавливаться заново или обновляться. Это значит, что приложение может фактически исчезнуть из магазина, даже если сам код не сломан.

На стороне Apple похожим образом приложения, собранные под старый SDK, со временем перестают приниматься к отправке; поэтому ежегодный цикл пересборки и тестирования входит в работу.

Как выстроить график поддержки

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

  • Тестирование совместимости при выходе новой версии ОС
  • Пересборка при изменении требования к целевому API/SDK магазина
  • Обновления безопасности для используемых сторонних библиотек
  • Регулярный просмотр отзывов пользователей и отчётов о сбоях

Что происходит без поддержки

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

Дилерское приложение мебельной мастерской, не тронутое два года, потеряло возможность устанавливаться заново, когда Google Play поднял свой целевой уровень API; дилеры, менявшие телефон, больше не могли его переустановить. Само исправление заняло неделю, но заметить проблему удалось только почти через полгода, потому что никто не проверял регулярно.

Кто должен заниматься поддержкой: внутри компании или агентство

В маленькой компании сказать одному человеку 'займись заодно и приложением' звучит просто, но поддержка в итоге оказывается зажатой между настоящей работой этого человека и каждый раз откладывается. Так поддержка чаще всего незаметно перестаёт происходить.

Проверка решения такая: годовая нагрузка на поддержку приложения (тестирование, пересборка, проверки магазина) достаточно мала, чтобы быть регулярной, повторяемой задачей одного человека, или ей нужен собственный бюджет и график. Если верно второе, передача поддержки внешней команде на постоянной основе не даёт работе теряться в промежутках.

Частые ошибки

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

Вторая: тестировать новую версию ОС только после официального выхода; тестирование с момента появления бета-версии даёт время найти и исправить проблемы до выхода публичной версии.

  • Вспоминать о поддержке только когда что-то ломается
  • Тестировать новую ОС только на официальном релизе
  • Оставлять поддержку одному человеку без письменного графика

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

Частые вопросы

Что будет, если приложение никогда не обновлять?

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

Сколько обновлений в год достаточно для поддержки?

Обычно два-три плановых обновления; серьёзная ошибка получает срочное исправление вне этого графика.

Нужно ли тестировать приложение сразу после выхода новой ОС?

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

Рискует ли приложение без договорённости о поддержке?

Со временем да; если никто это не отслеживает, требования магазина или изменения ОС могут остаться незамеченными, пока приложение не пострадает.

Поделиться

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

Похожие статьи

Если не знаете, с чего начать, — вы там, где нужно.

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

Запланируем встречу
Обсудить проект