Писать или не писать, вот в чем вопрос (мобильное приложение)

Если вы вдруг прочитали не с ударением на “писАть”, то рискну предположить, что вы ошиблись ресурсом. Для всех же остальных, в рамках потенциального пятничного “розжыга”, небольшая заметка, которую я недавно по просьбе нашего PR написал для одного журнала. Изначально вопрос звучал так:

Business Fun (русский) нужен комментарий на тему, с какой версии лучше начинать мобильное приложение, с iOS или с Android. Там нужно расписать плюсы-минусы, сложности и подводные камни для каждой платформы.

И тут почему-то я решил подумать “outside of the box”, поэтому в итоге комментарий получился слишком развернутый, и не только в том плане, что слишком большой, но и в том плане, что немного развернулся не в ту сторону. В общем, вы почитайте и скажите, что вы думаете по этому поводу.
——————
Я хотел начать с какой-нибудь наверняка уже набившей оскомину шутки про Android, но это было бы слишком предсказуемо. В этот раз все серьезно.

Для начала совет тем, кто только собирается писать приложение для мобильной платформы (любой): если коротко — не стоит этого делать. Приложений в каждом из популярных магазинов уже миллионы, шансы, что у вас будет что-то совершенно уникальное, то, чего не написали до вас — минимальны. Каждый день я получаю письма от разработчиков с просьбой написать обзор их “уникальному, единственному в своем роде” приложению, и каждый раз проверка показывает, что таких уникальных приложений в App Store или Google Play — тысячи. Поэтому прежде чем потратить несколько месяцев своей жизни на написание приложения, проверьте, действительно ли ваша идея так уникальна, как вам кажется. Несколько запросов в Google обычно хорошо раскрывают эту тему и должны подобломать башенки на зАмке вашей хрустальной мечты.
Те, кто выдохнул от возмущения после первого абзаца и дочитал сюда, могут ознакомиться с более развернутым ответом. На самом деле мое предложение выше — это скорее тот самый холодный душ реальности, призванный остудить горячие головы, которые считают, что “вот я сейчас напишу программку, и начну грести деньги лопатой”. Разработать нечто уникальное, да еще и такое, что понравится массовой аудитории — действительно очень непросто, поэтому отсюда есть два интересных и альтернативных варианта. Во-первых, можно писать приложения для практики: написать очередной калькулятор чаевых или RSS-читалку, клон Flappy Bird (ладно, вот этого точно не надо больше), чтобы освоить технологии, платформы и подходы к разработке. Скорей всего, ваше приложение останется практически незамеченным, но какую-то долю обратной связи вы получите — от магазина, от пользователей, даже от друзей и знакомых, которых вы обязательно задолбите просьбами поставить ваше приложение.
После того, как вы попрактиковались “на кошечках”, и чувствуете, что вы набили руку так, что концепциям хорошего пользовательского интерфейса позавидовал бы сам Джобс, можно попробовать взять какую-то популярную категорию и попытаться выйти туда с приложением, от которого все ахнут. Твиттер-клиентов в свое время была масса, но именно Tweetbot заставил всех говорить о себе в свое время бесконечным вниманием к деталям и удобным “фишкам” в приложении. Попробуйте найти какой-то популярный сервис с посредственным официальным клиентом, и напишите к нему приложение (при наличии доступного API, конечно же) такое, чтобы оно было лучше и удобнее этого официального клиента. Конечно, там без конкуренции будет не обойтись, но если вы качественно выполнили домашнее заданее на первом этапе, то какой-то шанс у вас быть замеченным будет.
И вот здесь мы подходим наконец-то к тому вопросу, который мне изначально озвучили, попросив написать эту статью – под какую платформу лучше писать это приложение (если после всего вышеизложенного вы все еще хотите его писать). Возможно, этот ответ покажется неожиданным от меня (все-таки многие считают меня ярым яблофилом), но я считаю, что сегодня практически нет разницы в том, под какую платформу писать приложение. Я, разумеется, не имею в виду технологические отличия — разные языки программирования, API, среды разработки и тд — это все остается на ваш выбор. Можно даже выбрать какой-нибудь кросс-платформенный фреймворк и разрабатывать в нем сразу под несколько платформ (хотя я лично считаю этот способ хуже, хотя и более экономичным). Цена вопроса “входа” в магазин не так уж сильно отличается для App Store или Google Play: компьютер, учетная запись разработчика — это все такие мелочи в данном случае. Маркетинговые расходы на запуск приложения, если вы вдруг решите потратиться на это, понадобятся вне зависимости от того, магазин Google это или магазин Appe. Везде есть свои плюсы и минусы: например, в Apple существует местами весьма непрозрачная процедура ревью приложения живым человеком, что может приводить к задержкам и фрустрациям (с этим сталкиваются даже опытные разработчики), в Google Play вы столкнетесь с фрагментацией платформы и тысячами устройств, пользователи которых будут писать вам в отзывы, что ваше приложение не работает на его “no name” смартфоне, на котором даже Google Play Services не будет. У Google больше пользователей, но у Apple — более платежеспособная аудитория, в моем представлении эти факторы друг друга уравновешивают. Достучаться к живому человеку в Apple более реально и если получить тот самый легендарный “фичеринг” от Apple с баннером на главной странице, то можно вообще за сутки оказаться в топах, но успешный запуск на Google Play, скорей всего, даст вам больше закачек вашего приложения. Поэтому идеальный кейс — писать приложение под обе платформы, писать так, чтобы это приложение выглядело нативным на этих платформах, изучать новые тренды в интерфейсе, в user experience и в дизайне, и надеяться на то, что вам повезет. Шансы, конечно, не очень высоки, но чем черт не шутит.
Удачи!