Часть 1 — Идея и планирование

До разработки и запуска своего первого приложения в App Store я понятия не имел, что это за собой влечет. — Это была загадка.

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

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

Идея

Итак, у вас есть идея для приложения, которое вы хотели бы разработать и поделиться с миром. Большой! Теперь, прежде чем тратить на это много часов, спросите себя: Зачем мне разрабатывать это приложение?

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

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

Вероятность оставить приложение незавершенным экспоненциально выше, если вы не знаете, зачем вы его разрабатываете.

Мечтай по-крупному и оставайся мотивированным!

Для проверки вашей идеи существует совершенно другая тема, но мы не рассматриваем ее в этой серии. Мы как раз проходим процесс разработки и запуска приложения. Очень рекомендую прочитать Тест мамы; книга о том, как проверить свою идею, избегая предубеждений.

Планирование

Что бы вы ни делали, не пропускайте этот шаг.

Определите MVP (минимально жизнеспособный продукт)

Мы любим мечтать, к сожалению, иногда мы склонны мечтать больше, чем можем укусить.

Определите для своего приложения только необходимые функции! - Не больше, не меньше.

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

Мы стремимся завершить весь процесс максимум за 2 месяца. Я совершил ошибку, продлив процесс разработки приложения до полутора лет из-за неудачного запуска. Пожалуйста, не повторяйте ту же ошибку.

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

Первая итерация вашего приложения будет далека от совершенства, и это нормально.

«Если вас не смущает первая версия вашего продукта, вы запустили его слишком поздно». — Рид Хоффман

Какие технологии использовать?

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

Внешний интерфейс

Если вы хотите создать нативное приложение, вы наверняка будете использовать Swift для iOS и Kotlin/Java для Android.

Если вы хотите создать кросс-платформенное приложение, вам понадобится что-то вроде React Native или Flutter.

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

Внутренняя часть

Тем не менее, вы можете создать свою собственную серверную часть, если ваша идея позволяет это (а MVP наверняка позволит), я бы порекомендовал сначала перейти на BaaS (внутренняя часть как услуга), например Firebase или MongoDB Realm. Создание собственной серверной части может занять много времени, усилий и денег. Вы всегда можете построить его позже.

Большинство BaaS следуют очень щедрой модели Pay-as-you-use, поэтому вам, вероятно, не придется тратить ни цента в течение первых нескольких месяцев.

Команда

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

Никто не знает ваши возможности лучше, чем вы сами, поэтому решите, какова будет ваша роль и чья помощь вам понадобится (или не понадобится).

Работа в команде

Работа в команде отлично подходит для того, чтобы дополнять навыки друг друга.

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

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

Работа в команде также позволяет обмениваться идеями и получать постоянную обратную связь о своей работе и продукте в целом.

Работа в одиночку

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

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

В следующей части мы рассмотрим UI/UX дизайн, следите за обновлениями!