Как создают и разрабатывают мобильные приложения?

0
Лучший ответ

Разработку мобильных приложений я бы разделил на два варианта:

1) продукт от инди-разработчиков

2) фирменный продукт, создаваемый командой профессионалов

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

В общем случае считается, что продукт должен быть максимально готовый и качественный, чтобы сразу завоевать рынок - отсюда сложности с оценкой сроков и своих способностей: крупные компании тратят огромные ресурсы и запускают некий продукт, который далеко не всегда достигает ожидаемого успеха (по прибыли и популярности среди пользователей). Инди-разработчики же - при таком подходе зачастую просто не доводят продукт до релиза, потратив кучу времени и сил.

Последние годы набирает популярность подход - "бережливый стартап":

https://ru.wikipedia.org/wiki/%D0%91%D0%B5%D1%80%D0%B5%D0%B6%D0%BB%D0%B8%D0%B2%D1%8B%D0%B9_%D1%81%D1%82%D0%B0%D1%80%D1%82%D0%B0%D0%BF

В этом случае основная цель - не просто что-то создавать, а создавать то, что нужно людям в самом общем смысле. Перед началом работы берётся какая-то идея и прикидывается максимально простой и быстрый вариант создания MVP:

https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE_%D0%B6%D0%B8%D0%B7%D0%BD%D0%B5%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82

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

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

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

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

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

Далее вы разбиваете процесс на этапы, а каждый этап на задачи - оформляете это всё в трекере репозитория (например, Github, Bitbucket или GitLab) и делаете работу по задачам. В случае необходимости можно привлечь сторонних специалистов (например, фрилансеров) для выполнения отдельных задач. Так как почти невозможно разбираться во всём и уметь всё делать круто, то без фрилансеров почти не обойтись при работе над более менее успешным проектом: вам обязательно понадобиться либо помочь программиста с особыми знаниями, либо просто напарник, либо художник или композитор и так далее.

Стоит отметить, что в реалиях современного мира для разработки приложения для разных платформ имеет смысл выбрать кроссплатформенный фреймворк, например, Unity или libGDX (первый более удобный + с 2015 года есть бесплатный вариант при соблюдении некоторых условий).

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

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

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

P.S.: при планировании сроков работы не забывайте, что идеально спрогнозировать затраты времени не получится - поэтому следуют простой рекомендации, которая более менее реально отражает время, затрачиваемое на разработку продукта до нужного вам состояния: на основе своего опыта, прикиньте необходимое вам время на разработку - потом просто умножьте его на 4 )

+4
Обновлено 7 месяцев назад