Рубрика развивается при поддержке

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

Делится мнением руководитель разработки и iOS-разработчик компании MobEngine, Форафонтов Владислав

В закладки

Мы в MobEngine поразмышляли, давайте разбираться!

Есть встроенные покупки?

Факт: пользователи яблочных устройств покупают больше и чаще, чем пользователи Android.

Теперь цифры: по данным экспертов App Annie, за последний квартал 2017 года владельцы iOS-девайсов купили в AppStore на 11,5 млрд. долларов, в Google Play эта цифра оказалась вдвое ниже. Это несмотря на то, что в среднем по миру пользователей Android-устройств больше, чем iOS.

Если приложение будет направлено на встроенные покупки – мы советуем начать разработку с iOS.

География аудитории

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

​Распределение пользователей iOS и Android DeviceAtlas

Вы можете ознакомиться со всеми данными на их сайте, а мы предлагаем рассмотреть 3 страны: Россия, США и Япония.

Android: 60.57%(+4.17%)

iOS: 37.97%(-2.32%)

Android: 40.42%(+3.68%)

iOS: 59.53%(-3.55%)

Android: 40.93%(13.35%)

iOS: 59.01%(-12.68%)

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

Если два первых пункта не дали перевес

Давайте попробуем пойти с технической стороны.

Поддержка

В 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 разработчикам остается только мечтать. Статистика ниже:

​86.3% используют Android 5.1 и выше.

Безопасность

iOS - одна из самых защищенных экосистем, распространение приложений возможно тремя способами: AppStore, TestFlight (для тестирования приложений) и через Enterprise-аккаунт (для распространения приложения внутри компании). Во всех этих способах приложение проходит через прослойку Apple и только потом попадает на устройство. Взлом приложения невозможен.

Пользователи Android привыкли скачивать приложения в торрентах и 4PDA, а взломать приложение (и распространить бесплатно/получить доступ к коду и ресурсам) становится не сложной задачей, поэтому придется позаботиться также и о безопасности (= лишние временные и финансовые затраты)

Публикация в AppStore/PlayMarket

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

Загрузить приложение в PlayMarket проще, чем в AppStore, проверка при загрузке составляет всего пару часов против 2-3 дней в AppStore, намного лояльнее (хорошо это или плохо, решать Вам).

Что касается стоимости:

⁃ аккаунт разработчика GooglePlay, чтобы иметь возможность размещать приложение в сторе = 25$, платится единоразово

⁃ аккаунт разработчика AppStore, чтобы иметь возможность загружать приложение в сторе = 99$, платится ежегодно

Итого: размещение в магазине GooglePlay проще и дешевле, чем в AppStore, но это довольно сильно сказывается на качестве приложений в самом магазине. Пользователи очень осторожны в выборе приложений, а уж тем более в оплате (возвращаясь к вопросу монетизации).

Подытожим

Если бюджет ограничен, стоит ответственно подойти к выбору платформы, под которую разрабатывать приложение. Мы советуем начать с анализа своей аудитории и целей приложения. Если это старт-ап со встроенными покупками, то мы однозначно за iOS. Если потенциальная аудитория в основном пользуется Android-устройствами, ответ очевиден - начинайте с разработки Android-версии. Успехов! ;)

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Владислав Форафонтов", "author_type": "self", "tags": [], "comments": 3, "likes": 3, "favorites": 13, "is_advertisement": false, "subsite_label": "dev", "id": 87225, "is_wide": true, "is_ugc": true, "date": "Wed, 09 Oct 2019 15:01:46 +0300", "is_special": false }
Облачная платформа
Основа для цифровизации бизнеса
0
{ "id": 87225, "author_id": 370159, "diff_limit": 1000, "urls": {"diff":"\/comments\/87225\/get","add":"\/comments\/87225\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/87225"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 235819, "last_count_and_date": null }
3 комментария
Популярные
По порядку
0

Есть чит. Заюзать React Native (через Expo?) или Flutter - и получить сразу две платформы почти с одной кодовой базы. Да, есть нюансы. Но, кмк, для старта - норм.

Ответить
1

Хм, ну, как вариант - да, но нюансы определенно есть. Выбирая путь ReactNative нужно понимать, что это не панацея от всех болезней и быть готовым к довольно большому количеству подводных камней, бороться с меньшей производительностью UI-компонентов. Как по мне, ReactNative сэкономит время для разработки простеньких клиент-серверных приложений (получить список, отдать список, отобразить и т.д.). Для чего-то, выходящего за рамки, нужно прибегать к нативной разработке. Поэтому при выборе стратегии нужно видеть задачи приложения :)
Но как вариант - да, стоило мне и его рассмотреть в статье. 

Спасибо! :)

Ответить
0

Понятно, что любое кросс-платформенное решение - это некий компромисс.

Но можно резко снизить себестоимость, заведя всего одну команду с JavaScript fullstack: бэк на ноде, фронт на веб и мобилки - на реакт нэйтив (веб был добавлен третьей платформой). Для начала - неплохой вариант! Дёшево и сердито, кмк. А производительность js bridge - не факт что существенна для всех применений.

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }