Приложение для Android: 7 этапов от идеи до релиза и где проекты срываются
Приложение для Android разрабатывают в семь шагов: цель и ТЗ, прототип, дизайн, код, интеграция с учётной системой, тестирование на реальных телефонах и публикация. Больше всего времени уходит на ТЗ и интеграцию с 1С или CRM. У нас такая разработка стоит от 500 000 руб.
Почему заказанное приложение для Android не приживается в компании 🧭
Типичная история: оптовая компания заказывает приложение для 30 торговых представителей. Через несколько месяцев подрядчик показывает демо. Каталог красивый, заказ оформляется в три касания. Но остатки приходят из выгрузки раз в сутки, поэтому представитель в 11 утра обещает клиенту товар, который со вчерашнего вечера ушёл со склада. Через неделю люди возвращаются к звонкам в офис и таблице в мессенджере.
Причина почти всегда одна: в ТЗ описали экраны, а не данные и процессы. Приложение живёт отдельно от 1С, склада и CRM, поэтому показывает устаревшие сведения. Подрядчик формально выполнил договор, и предъявить ему нечего.
Ставка здесь вполне конкретная. Бизнес платит дважды: за приложение и за его переделку под реальный обмен данными. Между этими платежами уходят заказы, которые представитель не смог подтвердить на месте, а команда перестаёт верить любому новому инструменту.
Разрыв с учётной системой не единственная причина провала. Проекты ломаются и по другим поводам:
- ✓у проекта нет владельца со стороны заказчика, и вопросы о правилах скидок или правах доступа неделями висят без ответа;
- ✓технологию выбрали по моде: сканеру штрихкодов на конкретной модели терминала нужна работа с его SDK, а выбранный фреймворк этого не позволял;
- ✓приложение проверяли на двух новых телефонах разработчиков, а сотрудники работают на бюджетных моделях разных лет;
- ✓ключ подписи остался у подрядчика, и сменить исполнителя можно только переустановкой приложения у всех пользователей.
Как разработать приложение для Android: 7 этапов от идеи до релиза
Порядок этапов не случаен: пропуск любого из них возвращается переделкой.
- ✓Цель и ТЗ: кто пользуется приложением, какие данные ему нужны, какой процесс оно заменяет.
- ✓Кликабельный прототип: сотрудники проходят сценарий на экране до первой строки кода.
- ✓Дизайн с учётом условий работы: перчатки, яркое солнце на улице, одна рука занята коробкой.
- ✓Разработка клиента на Android и серверной части.
- ✓Интеграция с 1С, CRM и другими системами.
- ✓Тестирование на реальных телефонах сотрудников, включая работу без сети.
- ✓Публикация и сопровождение: магазин или закрытая раздача, обновления, исправления.
ТЗ, которое не придётся переписывать
Хорошее ТЗ отвечает на вопросы, которые заказчик считает очевидными. Кто какие данные видит: может ли представитель менять цену или только смотреть. Что происходит на складе без связи: приложение хранит заказ на телефоне и отправляет позже или блокирует работу. Какая минимальная версия Android: если у кладовщиков терминалы со старой системой, набор доступных библиотек сужается. Чьи это телефоны, корпоративные или личные: от этого зависят способ установки и контроль доступа.
Интеграция с 1С и CRM
Здесь решается, будет ли приложение полезным. Обычно телефон обращается к базе 1С через HTTP-сервисы: берёт остатки и цены, отправляет заказы. Для работы без связи на устройстве держат локальную копию нужных данных и очередь изменений, которая уходит на сервер, когда появляется сеть. Отдельно продумывают конфликты: двое представителей одновременно резервируют последнюю коробку, и кто-то должен получить отказ сразу, а не на отгрузке.
Подробности по обмену данными собраны на странице про интеграцию приложения с 1С. Если приложение нужно клиентам и партнёрам, а не только своим сотрудникам, смотрите B2B-приложение с 1С.
Если приложение собирает персональные данные (ФИО, телефоны, геолокацию), учитывайте 152-ФЗ: базы данных граждан РФ хранят на серверах в России, а правила обработки публикуют в политике.
Как выбрать технологию: Kotlin, Flutter или 1С:Мобильная платформа
Выбор определяют три вопроса: нужна ли версия для iOS, как глубоко приложение работает с устройством (сканер, NFC, фоновая синхронизация) и где живёт бизнес-логика. Kotlin остаётся основным языком Android-разработки, а Jetpack Compose служит стандартным набором для построения интерфейса. Остальные подходы сравниваем с ним.
| Подход | Когда подходит | Ограничения |
|---|---|---|
| Нативная разработка на Kotlin и Jetpack Compose | Нужен только Android, сканеры, NFC, фоновая работа, нестандартное железо | Для iOS придётся писать отдельное приложение |
| Flutter | Нужны Android и iOS при одной команде и общем коде | Доступ к специфичному оборудованию идёт через плагины, их приходится проверять или дописывать |
| React Native | В команде сильны веб-разработчики на JavaScript | Сложные экраны и работа с железом требуют нативных модулей |
| 1С:Мобильная платформа | Логика уже в 1С, интерфейс типовой, нужен быстрый запуск | Мало свободы в нестандартном интерфейсе и сложной графике |
| Веб-приложение (PWA) | Нужен доступ без установки, простые формы и справочники | Ограничен доступ к функциям устройства и фоновой работе |
Практический ориентир такой. Приложение только под Android, сотрудники сканируют коды и работают на складе без связи: берём Kotlin. Заказчику нужен ещё и iOS: смотрим на Flutter. Процессы целиком в 1С и интерфейс менять не нужно: разработка на 1С:Мобильной платформе запускается быстрее остальных. Технологию мы выбираем после ТЗ, а не до него.
Что делать, если приложение работает у разработчика, но падает у сотрудников 🔧
На тестовом телефоне разработчика всё летает. У кладовщика на бюджетной модели приложение закрывается при сканировании третьей коробки, а у менеджера синхронизация молча останавливается после обеда. Но разработчик этого повторить не может, поэтому ошибка получает статус «не воспроизводится», а пользователи бросают приложение.
Причины обычно прозаичны. Оболочки производителей останавливают фоновые процессы ради экономии батареи. На недорогих телефонах не хватает оперативной памяти. Разные версии Android по-разному обрабатывают разрешения. Когда сбой повторяется, действуйте по порядку:
- ✓Соберите модель телефона и версию Android у всех, кто жалуется. Закономерность, одна модель или одна версия, нередко видна уже на этом шаге.
- ✓Подключите сбор отчётов о сбоях прямо в приложении. Вы увидите причину падения, а не пересказ «оно вылетело».
- ✓Воспроизведите проблему на таком же устройстве. Если его нет, купите одну-две модели из парка сотрудников: это дешевле недель догадок.
- ✓Проверьте режим энергосбережения. Для приложения должна быть разрешена фоновая работа, иначе система усыпит синхронизацию.
- ✓Выкатите исправление сначала небольшой группе и только потом всем.
Если сбои возвращаются после исправления, ищите причину в архитектуре: приложение держит в памяти слишком много данных или синхронизируется одним тяжёлым запросом. Тогда нужна не заплатка, а пересмотр обмена данными.
Как опубликовать приложение для Android: RuStore, APK или закрытая раздача
Способ публикации зависит от того, кто устанавливает приложение. Для сотрудников магазин часто не нужен. Для клиентов и партнёров нужен почти всегда.
- ✓RuStore подходит для приложений, которыми пользуются клиенты и партнёры: обновления приходят автоматически, установка занимает одно касание.
- ✓Установочный файл APK раздают со своего сервера. Это годится для сотрудников, но на каждом телефоне придётся разрешить установку из внешних источников, а обновления ставить вручную.
- ✓Система управления мобильными устройствами (MDM) устанавливает и обновляет приложение на корпоративных телефонах централизованно, без участия пользователя.
Есть момент, о котором забывают до первого обновления: ключ подписи. Без него нельзя выпустить обновление поверх установленного приложения, придётся ставить новое заново на каждый телефон. Ключ и пароль от него должны храниться у компании-заказчика, а не у подрядчика. Закрепите это в договоре.
Перед отправкой в магазин подготовьте политику обработки персональных данных и объяснение, зачем приложению камера, геолокация или доступ к файлам. Без этого карточку нередко возвращают на доработку.
Как предотвратить срыв сроков и переплату 💡
Четыре правила закрывают большую часть проблем из начала статьи:
- ✓Разбейте проект на этапы с приёмкой каждого: прототип принимают до дизайна, дизайн до разработки.
- ✓Назначьте внутреннего владельца продукта, который отвечает на вопросы подрядчика в течение рабочего дня.
- ✓Проверяйте приложение на реальных данных из вашей 1С, а не на тестовых примерах подрядчика.
- ✓Требуйте исходный код, ключи подписи и описание обмена данными в свою собственность.
Что получает заказчик у нас и сколько это стоит
Разработка мобильных приложений у нас начинается от 500 000 руб. Итог зависит от числа экранов, ролей пользователей, глубины интеграции и офлайн-режима, поэтому точную цену называем после ТЗ, а не по телефону.
Мы работаем на стыке с 1С: ТЗ, обмен данными и серверную часть проектируем вместе, и приложение не расходится с учётной системой, как в истории из начала статьи. Если база 1С стоит на старом офисном компьютере и снаружи недоступна, мобильному клиенту не к чему подключаться. В этом случае помогает перенос на арендованный сервер: сервер 1С стоит от 1 100 ₽/мес за пользователя, остальные условия описаны в разделе цены и тарифы.
Для оценки достаточно списка ролей и сценариев, версии и конфигурации 1С и нужных платформ. По этим данным мы называем состав этапов и вилку по стоимости до начала работ.
❓ Частые вопросы
Сколько стоит разработка приложения для Android для бизнеса?
Разработка мобильного приложения у нас начинается от 500 000 руб. Итоговая цена зависит от числа экранов, ролей пользователей, интеграции с 1С или CRM, офлайн-режима и того, нужна ли версия для iOS. Точную стоимость называем после ТЗ, когда понятны источники данных и сценарии.
Какой язык и технологию выбрать для Android-приложения?
Для приложения только под Android берут Kotlin с Jetpack Compose. Если нужна ещё версия для iOS, подходит Flutter с общим кодом. Когда вся логика уже в 1С и интерфейс типовой, быстрее обойтись 1С:Мобильной платформой. Выбор зависит от доступа к сканеру, NFC и фоновой работе.
Нужно ли публиковать корпоративное приложение в магазине?
Не обязательно. Внутреннее приложение для сотрудников можно раздавать установочным APK-файлом со своего сервера или через систему управления мобильными устройствами. Магазин, например RuStore, нужен, когда приложением пользуются клиенты или партнёры и им нужны обновления без ручной установки. Решение зависит от того, кто устанавливает приложение и как часто вы его обновляете.
Как связать Android-приложение с 1С?
Приложение обращается к базе 1С через HTTP-сервисы: получает остатки, цены, заказы, отправляет документы. Для работы без связи добавляют локальную базу на телефоне и очередь изменений, которая синхронизируется при появлении сети. 1С должна быть доступна снаружи по защищённому каналу, поэтому её часто переносят на сервер с постоянным доступом.
Нужно ли учитывать 152-ФЗ при разработке приложения?
Да, если приложение собирает персональные данные: ФИО, телефон, геолокацию клиентов или сотрудников. По 152-ФЗ нужны законное основание обработки, чаще всего согласие, опубликованная политика и хранение баз граждан РФ на серверах в России. Нарушение влечёт штрафы. Состав документов лучше уточнить у юриста.
Или позвоните: +7 906 045-28-27 — в рабочее время с 9:00 до 19:00
Остались вопросы? Нужна помощь?
Менеджеры компании с радостью ответят на ваши вопросы, произведут расчет стоимости услуг и подготовят индивидуальное коммерческое предложение.
Бесплатная консультация

