Разработка
приложений для Android
в Санкт-Петербурге
С чем приходят за приложением на Android
Сайт не заменяет приложение
Клиенты возвращаются через браузер, а нужны уведомления и быстрый вход.
Приложение делали давно
Сборка не проходит проверку магазина, а разработчика уже не найти.
Работает только на новых телефонах
На части устройств экраны съезжают, и половина заказчиков это видит.
Оценки в магазине упали
Отзывы жалуются на вылеты, а понять их причину внутри команды нечем.
Нужна работа без связи
Сотрудники в поле теряют сеть, и данные до учёта не доходят.
Когда приложение на Android окупается
- Быстрый повторный заказ
- Сохранённая оплата
- История заказов
- Сканер штрихкодов
- Терминалы сбора данных
- Связь с учётом
- Публикация в магазинах
- Описание и скриншоты
- Обновления
Что вы получаете по итогу
Больше возможностей для вашего проекта
- Интернет-магазины
- Недвижимость
- Здравоохранение и стоматология
- Рестораны и кафе
- Салоны красоты
- Образование
- Строительство
- Юридические услуги
- Туризм и гостиницы
- Логистика
- Дизайн интерьеров
- Ремонт квартир
- Автосервисы
- Маркетплейсы
- Консалтинг
- Фотографы
Обсудим проект?
FAQ
Если не нашли ответа — напишите нам на info@toimi.pro.
Когда выбираете нативную Android-разработку?
Android — преобладающая платформа у массовой аудитории Санкт-Петербурга, особенно в пригородах (Кудрово, Мурино, Янино, Колпино), у мигрантов из СНГ, у части молодежи и среднего возраста. Android — выбор для приложений с широким охватом — e-commerce массового сегмента, доставка еды и продуктов, госуслуги, банковские приложения для широкой аудитории, развлекательные приложения. Также Android критичен для приложений, использующих специфические возможности — расширенный доступ к файловой системе, фоновые задачи, OS-уровневые интеграции, кастомные клавиатуры.
Какие технологии используете для Android-разработки?
Делаем нативную Android-разработку на Kotlin как основном языке. Jetpack Compose для современного декларативного UI. Jetpack Components — ViewModel, LiveData/StateFlow, Navigation, Room. Coroutines и Flow для асинхронности. Retrofit и OkHttp для сети. Hilt для dependency injection. Material Design 3 как основной дизайн-язык. Полное unit-тестирование (JUnit, Mockito) и instrumented UI-тестирование (Espresso, Compose Testing). Для приложений с расширенной графикой — OpenGL ES, Vulkan. Для приложений с ML on-device — ML Kit, TensorFlow Lite.
Сколько времени занимает разработка Android-приложения?
MVP Android-приложения — 12-16 недель. Стандартное приложение со средним функционалом — 4-6 месяцев. Сложное Android-приложение с расширенным функционалом, ролевой моделью, многими интеграциями — 6-10 месяцев. Приложение для широкой аудитории Санкт-Петербурга с поддержкой множества устройств и Android-версий — 6-10 месяцев. Корпоративное Android-приложение с интеграциями — 7-14 месяцев. Приложения, разрабатываемые одновременно для iOS и Android, обычно делят около 30-40% усилий между платформами.
Как работаете с фрагментацией Android-устройств?
Android-фрагментация — реальная проблема. Подбираем правильный minSdkVersion балансируя охват аудитории и доступные возможности. В Санкт-Петербурге обычно minSdkVersion 7.0 (API 24) или 8.0 (API 26) дает 95%+ охват. Тестируем на разнообразном парке устройств — Samsung, Google Pixel, Xiaomi, Huawei, OPPO, Realme — популярные в России бренды. Адаптируем под разные размеры экранов, плотности, форматы (включая складные устройства). Используем Firebase Test Lab или эквиваленты для автоматического тестирования на множестве устройств.
Какая архитектура Android-приложений для крупных проектов?
Современная Android-архитектура следует официальным рекомендациям Google. MVVM с ViewModel и LiveData/StateFlow для управления состоянием. Clean Architecture с разделением на presentation, domain, data слои. Repository pattern для абстракции работы с данными. Hilt для dependency injection. Multi-module архитектура для крупных проектов — разделение на feature-модули, core-модули. Compose для UI с State hoisting. Unidirectional data flow. Полное покрытие тестами. Это позволяет масштабироваться при росте команды.
Как публикуете Android-приложения в Google Play и RuStore?
Размещение Android-приложений в России имеет специфику. Google Play остается основной площадкой, но с ограничениями для российских разработчиков. RuStore — российская альтернатива от VK, обязательная для многих государственных приложений и активно растущая для коммерческих. Также есть AppGallery от Huawei, GetApps от Xiaomi. Готовим описания, скриншоты, видео для каждой площадки. Соблюдаем гайдлайны каждой площадки. Делаем AAB-формат для Google Play, APK для RuStore и других. Учитываем требования российских площадок к маркетингу и контенту.
Как обеспечиваете безопасность Android-приложений?
Безопасность Android-приложений требует комплексного подхода. Используем EncryptedSharedPreferences и EncryptedFile для шифрования локальных данных. BiometricPrompt для биометрической аутентификации (отпечаток пальца, лицо). Network Security Config для управления HTTPS и сертификатами. SafetyNet или Play Integrity API для проверки целостности устройства и приложения. ProGuard/R8 для обфускации кода. Шифрование локальной базы данных (SQLCipher). Защита от reverse engineering — обнаружение root, отладчика. Регулярные обновления для устранения уязвимостей. Соответствие 152-ФЗ для приложений российских компаний.
Какая поддержка нужна Android-приложению после запуска?
Android-приложение требует постоянной поддержки. Ежегодные обновления для новых мажорных версий Android (Android 15, 16, 17 и далее). Обновления Jetpack-библиотек. Эволюция Kotlin и Coroutines. Обновления зависимостей через Gradle. Соответствие изменениям Google Play и других площадок (RuStore). Патчи безопасности — особенно критично для финансовых и медицинских приложений. Реакция на отзывы пользователей. Развитие функциональности. Мониторинг через Firebase Crashlytics, Sentry. Для крупных Android-приложений в Санкт-Петербурге выделяем команду с фиксированным SLA.
Чем отличается интерфейс приложения на этой платформе?
Своими правилами навигации, кнопками и поведением элементов.
Можно ли перенести макеты с другой платформы?
Пользователи заметят чужие привычки и будут спотыкаться.
Что такое системные правила оформления?
Набор принципов платформы для элементов и движения.
Нужно ли следовать им дословно?
Отклонения допустимы там, где они помогают задаче.
Как устроена навигация в приложении?
Нижнее меню для разделов и стрелка назад внутри них.
Сколько разделов бывает в нижнем меню?
Три-пять: больше не помещается.
Нужна ли боковая панель?
Её используют для редких разделов.
Как быть с кнопкой «назад» на устройстве?
Её поведение проверяют на каждом экране.
Что делать с жестами?
Жест возврата поддерживают вместе с кнопкой.
Нужно ли повторять кнопку назад на экране?
Стрелку ставят в заголовке экрана.
Как быть с длинными списками?
Подгружают по мере прокрутки.
Нужен ли поиск в списке?
При десятках элементов он обязателен.
Как быть с пустыми экранами?
Показывают, что делать дальше.
Что показывать во время загрузки?
Заготовку экрана вместо крутящегося круга.
Нужно ли показывать ошибки списком?
Ошибку показывают рядом с полем.
Как быть с формами на телефоне?
Поля идут в один столбец, клавиатура не закрывает ввод.
Нужно ли запоминать введённые данные?
При возврате на экран данные сохраняют.
Как быть с длинными формами?
Их делят на шаги с индикатором.
Нужны ли подсказки в полях?
Подсказку держат рядом, а не внутри поля.
Как быть с кнопкой действия?
Главное действие держат под большим пальцем.
Нужно ли учитывать размер зоны нажатия?
Мелкие кнопки на телефоне не нажимаются.
Как быть с диалогами подтверждения?
Их показывают только перед необратимым действием.
Нужна ли анимация?
Короткие переходы помогают понять связь экранов.
Как быть с тяжёлой анимацией?
На слабых устройствах она заметно тормозит.
Нужно ли поддерживать тёмную тему?
Пользователи ожидают её по настройке системы.
Как выбрать шрифт?
Системный шрифт читается лучше на всех устройствах.
Нужен ли свой набор иконок?
Системные иконки понятнее пользователю.
Как быть с фирменными цветами?
Их применяют к акцентам, а не ко всему экрану.
Нужно ли проверять контраст?
Контраст проверяют для текста и кнопок.
Как быть с обучающими экранами при первом входе?
Короткое пояснение вместо длинной серии экранов.
Нужно ли просить регистрацию сразу?
Дают посмотреть приложение до входа.
Как быть с входом через сторонние сервисы?
Один-два привычных способа плюс почта.
Нужна ли поддержка виджетов?
Виджет уместен для статусов и быстрых действий.
Как быть с оффлайн-состоянием интерфейса?
Показывают, что данные не обновлены.
Нужно ли рисовать все экраны до сборки?
Основные пути рисуют, остальное собирают по системе элементов.
Сколько занимает проектирование интерфейса?
От двух недель на приложение среднего размера.
Смотрите также
Обновлено: