Создание приложения: с какой платформы начать, если бюджет ограничен
Делится мнением руководитель разработки и iOS-разработчик компании MobEngine, Форафонтов Владислав
Мы в MobEngine поразмышляли, давайте разбираться!
Есть встроенные покупки?
Факт: пользователи яблочных устройств покупают больше и чаще, чем пользователи Android.
Теперь цифры: по данным экспертов App Annie, за последний квартал 2017 года владельцы iOS-девайсов купили в AppStore на 11,5 млрд. долларов, в Google Play эта цифра оказалась вдвое ниже. Это несмотря на то, что в среднем по миру пользователей Android-устройств больше, чем iOS.
Если приложение будет направлено на встроенные покупки – мы советуем начать разработку с iOS.
География аудитории
Предлагаем ознакомиться с данными, взятыми у DeviceAtlas по распределению пользователей обеих систем в мире
Вы можете ознакомиться со всеми данными на их сайте, а мы предлагаем рассмотреть 3 страны: Россия, США и Япония.
По графикам можно видеть динамику изменения процента пользователей платформ и примерно прогнозировать ситуацию в недалеком будущем.
Если два первых пункта не дали перевес
Давайте попробуем пойти с технической стороны.
Поддержка
В iOS Вам достаточно поддерживать версии, начиная с 10 и выше, т.к. большинство пользователей использует последние версии ОС. При этом на всех устройствах приложение будет работать одинаково, никаких танцев с бубном .
Статистика версий, если верить david-smith.org (а я ему верю):
13.x - 26.5%
12.x - 67.6%
11.x - 2.9%
10.x - 2.4%
9.x - 0.5%
<8.x - 0.0%
Таким образом, 99.4% пользователей используют iOS 10 и выше.
С Android дела обстоят печальнее, нужно поддерживать, начиная с ~5.1 версии, а каждый производитель вносит в систему свои функции, из-за чего получается большое разнообразие платформ и API, поддерживать которые становится тяжело. Xiaomi захотело внести свои изменения в работу системы, Meizu добавило свои функции, в итоге о чистом Android разработчикам остается только мечтать. Статистика ниже:
Безопасность
iOS - одна из самых защищенных экосистем, распространение приложений возможно тремя способами: AppStore, TestFlight (для тестирования приложений) и через Enterprise-аккаунт (для распространения приложения внутри компании). Во всех этих способах приложение проходит через прослойку Apple и только потом попадает на устройство. Взлом приложения невозможен.
Пользователи Android привыкли скачивать приложения в торрентах и 4PDA, а взломать приложение (и распространить бесплатно/получить доступ к коду и ресурсам) становится не сложной задачей, поэтому придется позаботиться также и о безопасности (= лишние временные и финансовые затраты)
Публикация в AppStore/PlayMarket
Про процесс публикации написана не одна статья, а мы остановимся на ключевых моментах.
Загрузить приложение в PlayMarket проще, чем в AppStore, проверка при загрузке составляет всего пару часов против 2-3 дней в AppStore, намного лояльнее (хорошо это или плохо, решать Вам).
Что касается стоимости:
⁃ аккаунт разработчика GooglePlay, чтобы иметь возможность размещать приложение в сторе = 25$, платится единоразово
⁃ аккаунт разработчика AppStore, чтобы иметь возможность загружать приложение в сторе = 99$, платится ежегодно
Итого: размещение в магазине GooglePlay проще и дешевле, чем в AppStore, но это довольно сильно сказывается на качестве приложений в самом магазине. Пользователи очень осторожны в выборе приложений, а уж тем более в оплате (возвращаясь к вопросу монетизации).
Подытожим
Если бюджет ограничен, стоит ответственно подойти к выбору платформы, под которую разрабатывать приложение. Мы советуем начать с анализа своей аудитории и целей приложения. Если это старт-ап со встроенными покупками, то мы однозначно за iOS. Если потенциальная аудитория в основном пользуется Android-устройствами, ответ очевиден - начинайте с разработки Android-версии. Успехов! ;)
Есть чит. Заюзать React Native (через Expo?) или Flutter - и получить сразу две платформы почти с одной кодовой базы. Да, есть нюансы. Но, кмк, для старта - норм.
Хм, ну, как вариант - да, но нюансы определенно есть. Выбирая путь ReactNative нужно понимать, что это не панацея от всех болезней и быть готовым к довольно большому количеству подводных камней, бороться с меньшей производительностью UI-компонентов. Как по мне, ReactNative сэкономит время для разработки простеньких клиент-серверных приложений (получить список, отдать список, отобразить и т.д.). Для чего-то, выходящего за рамки, нужно прибегать к нативной разработке. Поэтому при выборе стратегии нужно видеть задачи приложения :)
Но как вариант - да, стоило мне и его рассмотреть в статье.
Спасибо! :)
Понятно, что любое кросс-платформенное решение - это некий компромисс.
Но можно резко снизить себестоимость, заведя всего одну команду с JavaScript fullstack: бэк на ноде, фронт на веб и мобилки - на реакт нэйтив (веб был добавлен третьей платформой). Для начала - неплохой вариант! Дёшево и сердито, кмк. А производительность js bridge - не факт что существенна для всех применений.
ну чо плюсануть что ли?
Кто вы такой, чтобы себе в чем-то отказывать?