Шоурил devPremium Написать в Telegram

Статья 2 из 38 октября 20264 минуты чтения

Мобильное приложение на Flutter: от идеи до магазина

Как идёт работа над приложением, на примере «Морской волны», приложения детского лагеря для родителей. Без кода: что происходит на каждом этапе и что стоит знать заказчику.

Коротко

  • Flutter собирает приложение для Android и iPhone из одного кода.
  • Сначала договариваемся, кто и зачем открывает приложение, потом пишем код.
  • Контент правит заказчик, изменения сразу видят все пользователи.
  • Перед публикацией итоговая сборка проверяется на живом телефоне.

О проекте «Морская волна»

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

Регистрация родителям не нужна, они просто читают. Публикует и правит контент администратор лагеря. Приложение работает на Android от 7.0 до 16, весит около 21 МБ и готовилось к выпуску в Google Play и RuStore.

Почему Flutter

Flutter позволяет написать приложение один раз и собрать его для Android и iPhone. Для приложения, которое в основном показывает контент, это заметно быстрее и дешевле, чем два отдельных приложения. Интерфейс при этом рисуется самим приложением, поэтому выглядит одинаково на разных телефонах и работает плавно.

Этапы работы

  1. Разговор до кодаКто пользователь и что он делает в первые полминуты. Кто редактирует контент. Что должно работать без интернета. В какие магазины выходим. Ответы меняют устройство приложения, поэтому вопросы задаются до первой строки кода.
  2. Экраны и дизайнСписок экранов, навигация, фирменные цвета, иконка. Заказчик видит, как будет выглядеть приложение, до разработки.
  3. РазработкаЭкраны, хранение контента на сервере, режим администратора, работа без сети, отчёты о сбоях.
  4. ПроверкаАвтоматические тесты и ручная проверка на настоящих телефонах, не только на эмуляторе.
  5. ПубликацияПодписанные сборки, тексты карточки, анкеты магазинов. Подробно об этом в отдельной статье.
  6. ПоддержкаОбновления под новые версии Android, правки по отзывам пользователей.

Что получает заказчик

Контент, который можно менять без программиста

Новости, расписание, меню и фотографии хранятся на сервере. Администратор правит их прямо в приложении, и родители видят изменения сразу, без обновления из магазина.

Защиту на стороне сервера

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

Приложение без пустых экранов

Если пропал интернет, приложение показывает последнее загруженное и сообщает, что сети нет. Если что-то сломалось, человек видит понятное сообщение и кнопку «Повторить». Отчёт о сбое в это время уходит разработчику.

Проверенную итоговую сборку

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

Что важно знать заказчику

  • Ключ подписи храните бережно. Без него приложение в магазине нельзя обновить. Держите копию вне рабочего компьютера.
  • Политика конфиденциальности нужна на сайте. Магазины требуют публичную ссылку, файла недостаточно.
  • Google Play для личного аккаунта требует тестирования. Это 12 тестировщиков в течение 14 дней, закладывайте две недели в план.
  • Бесплатные тарифы облачных сервисов отличаются. Часть сервисов требует привязать карту даже на бесплатном тарифе. Это проверяется при выборе технологий, до начала работ.

Вопросы и ответы

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

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

Будет ли версия для iPhone?

Flutter собирает версию для iPhone из того же кода. Для публикации в App Store нужен платный аккаунт разработчика Apple, его оформляет владелец приложения.

Сможем ли мы сами менять контент?

Да. Новости, расписание, фото и документы правит администратор прямо в приложении, без программиста. Изменения сразу видят все пользователи.

Что если приложение сломается у пользователя?

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

Кому принадлежит приложение?

Вам. Аккаунты в магазинах оформлены на вас, исходный код и ключ подписи передаются вам.

Нужно приложение для вашего бизнеса?

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