БлогМобильные приложения · Flutter · Google Play

Разработка мобильных приложений: от идеи до Google Play и App Store

Также на: Azərbaycanca English

Разработка мобильных приложений со стороны выглядит просто: нашли программиста, он написал код, приложение появилось в сторе. На деле код — только часть работы. За приложением стоят сервер, админ-панель, правила Google Play и App Store и обновления, которые идут годами после релиза. В моём аккаунте разработчика «Malikoglu» в Google Play 36 живых приложений, среди них Verbooze — лауреат MilliNet 2025. Ниже весь путь от идеи до стора глазами инженера, который делает эту работу сам: нужно ли вам приложение вообще, натив или Flutter, из каких этапов состоит работа, что требуют сторы и от чего зависит, сколько стоит создать мобильное приложение.

Что такое разработка мобильного приложения: короткий ответ

Разработка мобильного приложения — это проектирование, дизайн, программирование, тестирование и публикация программы для смартфонов на Android и iOS в Google Play и App Store. В реальных проектах сюда почти всегда входят серверная часть (бэкенд и API), из которой приложение получает данные, админ-панель для управления контентом и поддержка после релиза. Разработка под ключ означает, что за всю эту цепочку отвечает один исполнитель, а не только за экраны.

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

Нужно ли вам приложение: сравнение с мобильным сайтом и PWA

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

Критерий Мобильный сайт PWA (сайт, работающий как приложение) Мобильное приложение
Частота использования Разовые визиты из поиска Регулярно, простые сценарии Ежедневно или еженедельно
Находят в Google Да, через SEO Да, через SEO Нет, через поиск в сторе (ASO)
Push-уведомления Нет Ограниченно Полноценно
Камера, GPS, Bluetooth, офлайн Ограниченно Частично Полностью
Витрина в сторе Нет Нет Google Play и App Store
Стартовые затраты Низкие Средние Высокие
Поддержка Обновление сайта Обновление сайта Правила сторов, обновления SDK, две платформы

Мой обычный совет: если продажи идут из поиска, начните с быстрого сайта, сделанного с оглядкой на SEO (подробно — в статье про создание сайта под ключ), а приложение планируйте вторым шагом для постоянных клиентов. Исключения — игры, инструменты без интернета, приложения для курьеров и экспедиторов, продукты на Bluetooth: их с самого начала проектируют как приложения. Например, AzMesh соединяет телефоны напрямую по Bluetooth и Wi-Fi вообще без интернета — сайт так не умеет.

Приложение для iOS и Android: натив или Flutter

В Азербайджане большинство смартфонов на Android, но списывать iOS нельзя. По данным StatCounter за август 2026 года, доли мобильных ОС в Азербайджане такие: Android — 82,23%, iOS — 17,75% (StatCounter Global Stats). Выпустив приложение только под Android, вы теряете примерно каждого пятого пользователя.

Сделать приложение для iOS и Android можно двумя путями:

  • Нативная разработка: Kotlin для Android, Swift для iOS. Две кодовые базы и, как правило, два разработчика или две команды.
  • Кроссплатформенная разработка: одна кодовая база для обеих платформ. Я работаю на Flutter.

Flutter создан в Google, и официальный сайт описывает его так:

"Flutter is an open-source framework for building beautiful, natively compiled, multi-platform applications from a single codebase."

— flutter.dev

Перевод: «Flutter — фреймворк с открытым исходным кодом для создания красивых мультиплатформенных приложений, компилируемых в нативный код, из единой кодовой базы».

Натив (Kotlin + Swift) Flutter
Кодовая база Две отдельные Одна
Команда Обычно два специалиста Один разработчик ведёт обе платформы
Новая функция Пишется и тестируется дважды Пишется один раз, проверяется на двух платформах
Свежие возможности платформы С первого дня Иногда нужен плагин или нативный код
Игры и 2D-анимация Возможно Сильная сторона
Когда подходит Продукты, глубоко завязанные на устройство; отдельные команды Бизнес-приложения, образование, e-commerce, 2D-игры, MVP

Все мои 36 живых приложений написаны на Flutter: и сложная образовательная платформа Verbooze, и артиллерийская игра Tank Tussle, и простой конвертер валют. Причина практическая: функция пишется один раз и выходит в оба стора, баг исправляется в одном месте. Для небольшого и среднего проекта это напрямую влияет и на бюджет, и на скорость обновлений.

Натив я советую, когда продукт завязан на самые глубокие возможности платформы (часы, автомобильные системы, специфичное железо) или когда у компании уже есть отдельные Android- и iOS-команды. При этом во Flutter нужный кусок можно написать нативно, так что выбор не «всё или ничего».

Этапы разработки мобильного приложения

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

Пять этапов разработки мобильного приложения: идея и MVP, UX-прототип, разработка, тестирование, публикация и обновления

1. Идея и объём (MVP)

Всё начинается с вопроса: какую задачу пользователь решит с помощью приложения? Из ответа вытекает объём первой версии — MVP (minimum viable product, минимальная работающая версия продукта). Больше всего денег теряется именно здесь: в первую версию добавляют десятки функций «на всякий случай», и приложение месяцами не доходит до стора.

Результат: письменное описание экранов, функций, ролей и источников данных; зафиксировано, что входит в MVP, а что нет.

2. UX-прототип

До кода экраны и переходы собираются в кликабельный прототип, обычно в Figma. Правка на этом этапе в разы дешевле правки в коде.

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

3. Разработка

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

Результат: тестовые сборки, работающий API, админ-панель, Git-репозиторий.

4. Тестирование, включая закрытое

Приложение проверяется на экранах разных размеров, на старых и новых версиях Android, на iPhone, при слабом интернете и без него. Затем идёт закрытое тестирование (closed testing): в сторе приложение видят только приглашённые тестировщики. Для новых личных аккаунтов Google Play этот этап обязателен — подробности ниже.

Результат: найденные и исправленные ошибки, отзывы тестировщиков, сборка для релиза.

5. Публикация и обновления

Готовятся страница в сторе (название, описание, скриншоты, иконка), политика конфиденциальности и анкета о безопасности данных, приложение уходит на проверку. Релиз — не финиш: дальше мониторинг ошибок, обновления и новые требования сторов.

Результат: живое приложение в Google Play и App Store, полный доступ заказчика к аккаунтам, план обновлений.

Что стоит за приложением: бэкенд, API и админ-панель

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

Серверную часть я пишу на Laravel — бэкенд остаётся моей основной специализацией больше 10 лет. В Verbooze приложение на Flutter, а бэкенд на Laravel и Python на Ubuntu-сервере: видео отдаётся через FFmpeg, живые уроки идут через JitsiMeet, языковые дуэли работают по WebSocket. Получая коммерческое предложение, уточните: входят ли в него сервер, API и админ-панель, на кого оформлен сервер и сколько он стоит в месяц.

Публикация в Google Play и App Store

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

Google Play: аккаунт, закрытый тест, требования

Аккаунт. В Google Play два типа аккаунта разработчика: личный (Personal) и аккаунт организации (Organization). Взнос разовый: в справке Google Play Console сказано «There is a US$25 one-time registration fee» — 25 долларов США, один раз.

Закрытое тестирование. Главное правило для новых личных аккаунтов:

"Developers with personal accounts created after November 13, 2023, must run a closed test for their app with a minimum of 12 testers who have been opted in continuously for at least 14 days."

— Google Play Console Help, App testing requirements for new personal developer accounts

Перевод: «Разработчики с личными аккаунтами, созданными после 13 ноября 2023 года, должны провести закрытое тестирование приложения минимум с 12 тестировщиками, которые участвуют в тесте непрерывно не менее 14 дней».

На практике в плане нужно окно минимум в две недели, а 12 реальных тестировщиков стоит собрать заранее: сотрудники, друзья, лояльные клиенты. Если приложение делается для компании, аккаунт правильнее сразу открывать на компанию, как аккаунт организации.

Безопасность данных (Data safety). В Play Console нужно указать, какие данные собирает приложение и зачем:

"All developers that have an app published on Google Play must complete the Data safety form, including apps on closed, open, or production testing tracks."

— Google Play Console Help, Data safety section

Перевод: «Все разработчики, у которых есть приложение в Google Play, должны заполнить форму „Безопасность данных“, в том числе для приложений на треках закрытого и открытого тестирования и на рабочем треке».

Ответы должны совпадать с реальным поведением приложения, включая данные, которые собирают подключённые SDK: Firebase, аналитика, реклама.

Целевой уровень API (target API level). Каждый год Google поднимает планку. Согласно Android Developers, с 31 августа 2026 года:

"New apps and app updates must target Android 16 (API level 36) or higher to be submitted to Google Play"

Перевод: «Новые приложения и обновления должны быть нацелены на Android 16 (уровень API 36) или выше, чтобы их можно было отправить в Google Play».

Для опубликованных приложений есть свой порог: приложение с целевым API ниже Android 15 (API 35) перестаёт быть доступным новым пользователям на устройствах с более новой версией Android. Поэтому, чтобы выпустить даже мелкое исправление в приложении, которое два года не обновлялось, сначала придётся обновить Flutter, SDK и плагины. Приложение — это не «написали и забыли».

App Store: членство, проверка, конфиденциальность

Для публикации в App Store нужно членство в Apple Developer Program. На сайте Apple Developer оно указано как «$99 annual membership» — 99 долларов в год. В отличие от разового взноса Google, платёж ежегодный.

Каждое приложение проходит проверку App Review, а политика конфиденциальности обязательна:

"All apps must include a link to their privacy policy in the App Store Connect metadata field and within the app in an easily accessible manner."

— Apple, App Review Guidelines

Перевод: «Все приложения должны содержать ссылку на политику конфиденциальности в поле метаданных App Store Connect и внутри приложения, в легкодоступном месте».

Практические советы по опыту 36 приложений

  • Открывайте аккаунты в сторах в начале проекта. Подтверждение, оплата и закрытый тест занимают время.
  • Держите политику конфиденциальности отдельной страницей на своём сайте. Её требуют оба стора, и адрес не должен меняться.
  • Заполняйте Data safety по коду, а не по памяти. Проверьте, что собирает каждая подключённая библиотека.
  • Дайте ревьюеру тестовый аккаунт. Если проверяющий не может войти в приложение, проверка затягивается.

После релиза: обновления, аналитика, отзывы и ASO

  • Мониторинг ошибок. Инструменты вроде Firebase Crashlytics показывают, на каком телефоне, на каком экране и почему упало приложение. Без них об ошибках вы узнаёте из плохих отзывов.
  • Аналитика. Сколько людей регистрируется, доходит до основного действия и возвращается через неделю. Приоритеты новых функций должны вытекать из этих цифр.
  • Отзывы и рейтинг. Отвечайте на каждый отзыв, особенно на негативный. Просить оценку стоит после успешного действия пользователя, а не при первом запуске.
  • ASO (App Store Optimization). Название, описания, иконка, скриншоты и языковые версии, подобранные под то, что люди вводят в поиске стора. Логика та же, что в SEO, — основы я разобрал в статье «Что такое SEO простыми словами».

Сколько стоит создать мобильное приложение: от чего зависит цена

Цифр здесь не будет: под словами «мобильное приложение» продают и калькулятор на один экран, и платформу с оплатой и админ-панелью. Стоимость и сроки зависят от этих факторов:

Фактор Почему влияет на цену и сроки
Количество экранов и функций Каждый экран — это дизайн, код и тесты
Платформы Только Android или Android и iOS; Flutter закрывает обе одной кодовой базой
Бэкенд и админ-панель Подключиться к готовому серверу — одна задача, сделать сервер, API и панель с нуля — другая
Интеграции Платёжные системы, 1С, CRM, карты, SMS, вход через соцсети
Функции реального времени Чат, живые обновления, видео, онлайн-игра требуют WebSocket и дополнительной инфраструктуры
Офлайн-режим Хранение данных на телефоне и последующая синхронизация с сервером
Дизайн Стандартные компоненты или индивидуальный дизайн с анимацией
Языки Каждый язык — отдельные тексты, скриншоты и описание в сторе
Работа со сторами Аккаунты, закрытый тест, политика конфиденциальности, страница в сторе
Поддержка Обновления после релиза, требования к SDK, расходы на сервер

Реальные результаты: мои приложения

Слова подкрепляю приложениями, которые любой может открыть в сторе.

Verbooze. Первая в Азербайджане платформа для изучения английского на основе геймификации; я её основатель и ведущий разработчик. Приложение для Android и iOS на Flutter, бэкенд на Laravel и Python. Больше 50 000 пользователей, больше 10 000 активных пользователей в день, рейтинг 4,8★ в Google Play по 151 отзыву и 50 000 евро международных инвестиций. На национальной интернет-премии MilliNet 2025 Verbooze занял 2-е место в номинации «Цифровой образовательный ресурс года».

Игры. Tank Tussle: Artillery War (100 миссий в десяти главах и онлайн-дуэли PvP, 500+ скачиваний), Domino, Chess, Checkers, Durak, Sudoku Classic, Block Blaze, Crazy Snake.

Утилиты. AzMesh (5,0★) соединяет телефоны по Bluetooth и Wi-Fi без интернета, сервера и регистрации. Currency Converter (5,0★) конвертирует больше 150 валют по актуальным курсам и показывает графики трендов.

Бизнес-приложения. Официальное приложение интернет-магазина шин Təkərevi.az; кабинет студента Honours Academy (занятия, посещаемость, QR-турникет); приложение для экспедиторов Granite.az, интегрированное с CRM (отслеживание заказов в реальном времени и автоматическое распределение).

Полный список — на странице приложений, подробные кейсы — в разделе проекты.

Разработка приложения на заказ: чек-лист для заказчика

Если вы заказываете разработку мобильного приложения, до подписания договора проясните эти пункты:

  1. Аккаунты в сторах — на вас. Google Play Console и Apple Developer оформляются на вашу компанию, разработчик подключается к ним как пользователь.
  2. Исходный код — ваш. Код хранится в вашем Git-репозитории, в договоре прописана передача прав.
  3. Сервер и домен. Где работает бэкенд, на кого оформлен сервер, сколько стоит в месяц, делаются ли резервные копии.
  4. Ключи и сервисные аккаунты. Ключи подписи приложения, проект Firebase, аккаунты платёжных систем — под вашим контролем.
  5. Условия поддержки. Исправление ошибок после релиза, обновления под требования сторов, время реакции.
  6. Доступ к странице в сторе. Менять тексты и отвечать на отзывы должны иметь возможность и вы.

Красные флаги

  • «Опубликуем на нашем аккаунте». Расставшись с подрядчиком, можно потерять приложение вместе с отзывами и установками.
  • Код не передают, только готовый файл. Другой разработчик не сможет продолжить работу.
  • Про сервер ни слова. Значит, либо он не входит в предложение, либо счёт придёт отдельно.
  • «Гарантируем, что приложение примут в стор». Проверку проводят Apple и Google, и решение принимают они.

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

Сколько времени занимает разработка мобильного приложения?

Зависит от объёма: простое приложение — это недели, платформа с бэкендом, оплатой и админ-панелью — месяцы. Заложите в план проверку в сторах и, для нового личного аккаунта Google Play, минимум 14 дней закрытого тестирования.

Сколько стоит создать мобильное приложение?

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

Можно ли сделать приложение самому?

Простое — да, на no-code-платформе или выучив Flutter. Но в бизнес-приложении с сервером, оплатой и требованиями сторов опытный разработчик экономит и время, и деньги.

Нужно ли делать отдельные приложения для Android и iOS?

Страница в каждом сторе своя, но писать код дважды не нужно: на Flutter из одной кодовой базы собираются обе версии.

Как опубликовать приложение в Google Play?

Зарегистрируйте аккаунт в Google Play Console (25 долларов, один раз), загрузите подписанный AAB-файл, заполните страницу в сторе, политику конфиденциальности и форму Data safety. На новом личном аккаунте сначала проведите закрытый тест с 12 тестировщиками в течение 14 дней, затем подайте заявку на доступ к рабочей версии.

Итог

Разработка мобильных приложений — это больше, чем код: идея и MVP, прототип, сервер и админ-панель, тестирование, правила сторов и годы обновлений. Flutter сокращает путь, давая одну кодовую базу для обеих платформ, но грамотное планирование и работу со сторами никакая технология не заменит. Если хотите довести своё приложение от идеи до стора, почитайте о моей разработке мобильных приложений на Flutter и напишите мне.

Об авторе

Anar Malikoğlu

Senior PHP/Laravel и Flutter-разработчик из Баку, 10+ лет с боевыми системами: банки, государственные ERP, e-learning. Основатель Verbooze.

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

Все статьи

Столкнулись с похожей задачей?

Помогаю командам с бэкендом на Laravel, приложениями на Flutter, серверами и техническим SEO. Расскажите, что у вас.