База знаний → Мобильные приложения

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

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

20 тем 5 этапов примерно 8–12 месяцев при часе в день уровень: нужны основы кода

пройдено 0 из 20
Этап 1 · Выбор пути
Нативно или один код на две платформы 3 дня

Нативная разработка (Kotlin для Android, Swift для iOS) даёт лучшую скорость и полный доступ к возможностям телефона. Flutter и React Native позволяют писать один код на обе платформы — экономия примерно вдвое, ценой зависимости от посредника. Для первого приложения от заказчика чаще выбирают второе.

Что уметь в конце

  • Назвать три довода за свой выбор и три против

Где смотреть

Что нужно кроме кода 2 дня

Аккаунт разработчика в каждом магазине платный, для iOS нужен компьютер Apple, для проверки — настоящее устройство, а не только эмулятор. Об этом лучше узнать до начала работы, а не в день сдачи.

Что уметь в конце

  • Посчитать разовые и ежегодные расходы на выпуск приложения
Язык и его среда 2 месяца

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

Где учить

Этап 2 · Интерфейс
Экраны и переходы 3 недели

Как устроен экран, как между ними переключаться, как вернуться назад и не потерять введённое. Навигация — то, за что приложение чаще всего ругают.

Что уметь в конце

  • Собрать приложение из четырёх экранов с вкладками и возвратом
  • Сохранить состояние при повороте и сворачивании
Списки и плавность 1 неделя

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

Разные экраны и шрифты 1 неделя

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

Правила платформ 3 дня

У Apple и Google свои требования к виду и поведению. Их нарушение — частая причина отказа при публикации, особенно у Apple.

Этап 3 · Данные и связь
Работа с сервером 2 недели

Запросы, разбор ответов, состояния загрузки и ошибок, вход по токену. Мобильная сеть рвётся чаще проводной — повторные попытки нужны с первого дня.

Хранение на устройстве 1 неделя

Настройки, кеш, база данных в телефоне. Отдельно — безопасное хранилище для токенов: обычные настройки для них не годятся.

Работа без сети 1 неделя

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

Разрешения устройства 1 неделя

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

Уведомления 1 неделя

Доставка сообщений через службы Apple и Google, разрешение от человека, переход по нажатию в нужный экран. Здесь же чувство меры: назойливые уведомления — первая причина удаления.

Этап 4 · Качество
Отладка на устройстве 1 неделя

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

Тесты 2 недели

Проверки логики и сценариев «человек нажал — получил». Дешевле любого ручного прохода перед каждой публикацией.

Скорость и батарея 1 неделя

Время запуска, плавность прокрутки, расход заряда и трафика. Приложение, которое сажает батарею, удаляют молча.

Сбор сбоев 3 дня

Приложение падает у людей, а не у вас. Служба сбора отчётов покажет, на какой строке и на каком телефоне, — без неё вы узнаете о проблеме из отзывов.

Этап 5 · Выпуск
Сборка и подпись 1 неделя

Готовый файл приложения подписывается ключом — и этот ключ нельзя потерять: без него не выпустить обновление. Здесь же разные сборки для проверки и для магазина.

Что уметь в конце

  • Собрать подписанную версию и надёжно сохранить ключ
Публикация в магазинах 2 недели

Описание, снимки экрана, возрастной рейтинг, политика конфиденциальности, проверка модераторами. Первый отказ получают почти все — важно понимать формулировки и уметь ответить.

Обновления и откат 3 дня

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

Сверка с зарубежными картами необязательно

Отдельные полные карты по Android, iOS и Flutter — у коллег из roadmap.sh.

Куда смотреть

Knowledge base → Mobile apps

Mobile apps

A phone app differs from a website in more than language: there are stores with their own rules, a camera in someone's hand, a weak network and a battery you must not drain. This map runs from choosing a path to a published app.

20 topics 5 stages about 8–12 months at an hour a day level: basic coding needed

0 of 20 done
Stage 1 · Choosing a path
Native or one codebase 3 days

Native development (Kotlin for Android, Swift for iOS) gives the best speed and full access to the device. Flutter and React Native let you write once for both platforms — roughly half the work, at the price of depending on a middle layer. For a first client app, the second is usually chosen.

Where to look

What you need besides code 2 days

A developer account in each store costs money, iOS work needs an Apple computer, and testing needs a real device, not only a simulator. Better to learn this before you start than on delivery day.

The language and its tools 2 months

Syntax, types, async work, project builds. The longest topic here: until the language is familiar, the interface will be assembled by guesswork.

Where to learn

Stage 2 · Interface
Screens and navigation 3 weeks

How a screen is built, how to move between screens, how to go back without losing what was typed. Navigation is what apps are criticised for most.

What you should be able to do

  • Build a four-screen app with tabs and a working back button
  • Keep state through rotation and backgrounding
Lists and smoothness 1 week

A feed of a thousand items must not stutter. Cell reuse, loading in pages and images in the background are the basics that separate an app from an exercise.

Screen sizes and text size 1 week

Small phones, tablets, a large system font chosen by someone with weak eyesight, notches and rounded corners. Test on all of them, not just on yours.

Platform guidelines 3 days

Apple and Google each have rules for look and behaviour. Breaking them is a common reason for rejection, especially at Apple.

Stage 3 · Data and connection
Talking to a server 2 weeks

Requests, parsing answers, loading and error states, token sign-in. Mobile networks drop more often than wired ones, so retries are needed from day one.

Storage on the device 1 week

Settings, cache, a database on the phone. Separately: secure storage for tokens — ordinary settings will not do.

Working without a network 1 week

In a metro, a lift or the mountains the app should at least show what it already has. Then a queue of actions that reach the server when the connection returns.

Device permissions 1 week

Camera, location, files, contacts. Ask at the moment the reason is obvious, and keep working after a refusal — otherwise the app is simply closed.

Notifications 1 week

Delivery through Apple and Google services, permission from the person, and opening the right screen on a tap. Restraint matters: pushy notifications are the first reason for deletion.

Stage 4 · Quality
Debugging on a device 1 week

Logs, breakpoints, network inspection, the layout inspector. A real phone shows things a simulator never will.

Tests 2 weeks

Checks of logic and of "a person tapped and got" scenarios. Cheaper than a manual pass before every release.

Speed and battery 1 week

Start-up time, scrolling smoothness, battery and data use. An app that eats the battery is deleted without a word.

Crash reporting 3 days

Apps crash for other people, not for you. A crash service shows the line and the device — without it you learn about problems from reviews.

Stage 5 · Release
Building and signing 1 week

The finished app file is signed with a key you must not lose: without it there is no update. Separate builds for testing and for the store belong here.

Publishing to the stores 2 weeks

Description, screenshots, age rating, privacy policy, review by moderators. Almost everyone is rejected the first time — what matters is understanding the wording and answering it.

Updates and rollback 3 days

Gradual release to part of your users, stopping when crashes rise, supporting older versions. Unlike a website, an app cannot be rolled back instantly.

Compare with the full maps optional

Separate complete maps for Android, iOS and Flutter are at roadmap.sh.

Where to look