Дата публикации: 2016-12-09

От автора: всем привет! Сегодня мы поговорим о том, как стать разработчиком мобильных приложений для Apple и Android. Количество приложений на таких сервисах, как Apple Store и Google Play растет с каждым днем. Эти приложения могут выполнять самые разные функции. Одни из них позволяют обрабатывать фотографии благодаря модным ретро-фильтрам и всевозможным эффектам. Другие помогают изучать иностранные языки, третьи — скачивать и читать электронные книги. Можно даже установить металлоискатель или строительный уровень. В общем, приложений, готовых облегчить нашу жизнь, сейчас в изобилии.

Некоторые из них можно скачать бесплатно, некоторые — нет, в любом случае, бесплатные приложения будут содержать рекламу и платный контент. Но нам в данный момент интересен несколько иной аспект. Дело в том, что на разработке мобильных приложений можно зарабатывать, и довольно неплохо.

С чего начать обучение разработке приложений для мобильных устройств?

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

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

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Тем, кто хочет углубиться в сферу веб-программирования в целом и желает во всем «докопаться до сути»; тем, кому интересно программирование не только как ремесло, но и как искусство, можно посоветовать изучить HTML, CSS, JavaScript, а может быть даже jQuery, в том случае если вы хотите по-настоящему испытать себя и свой пытливый ум =)

Так ли нужен диплом?

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

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

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

Что нужно знать разработчику мобильных приложений?

Используя современные языки программирования, которые применяются для разработки мобильных приложений под Android или iOS, вполне реально создать свое первое творение уже за месяц.

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

Зайдите в Google Play или App Store: там подобных приложений большинство, особенно, среди игр. По статистике таких приложений девять из десяти. Этим и занимается среднестатистический разработчик мобильных приложений. Но с чего начать свое обучение, если вы не хотите остановиться на этом?

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

Необходимо уяснить те базовые понятия, что используются в программировании, вне зависимости от языка и устройства. Здесь будет нелишним знать основы C++, несмотря на то, что многие уже считают его устаревшим. Возможно и так, но это основы основ, без которых не возникли бы Java и PHP. Полезно будет узнать о защите данных, шифровании, сетевых протоколах и о ядре Unix.

До сих пор мы говорили лишь о технической части вопроса, но для успеха этого будет недостаточно. По-настоящему качественный софт — это не только программа, которая работает без ошибок. Качественный софт подразумевает продуманный интерфейс, который был бы понятен пользователю (а не только разработчику), логику работы программы с учетом всех возможных вариантов развития событий. Обращать внимание на детали и находить интересные, нестандартные решения — это обязанность каждого разработчика.

Почувствуйте себя создателем тенденций

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

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

Безусловно, новое — хорошо забытое старое, но успешные программисты не подстраиваются под современные тенденции. Они сами берут на себя ответственность создавать эти самые тенденции.

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

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

В заключение

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

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

Смотреть видео

Метод css в jQuery Урок 22. Функции даты и времени в PHP. Часть 2 —>

Метки:сайтостроение

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

https://webformyself.com/kak-stat-razrabotchikom-mobilnyx-prilozhenij-dlya-android-i-apple/—>

Обзор команды Scorocode

Маркетолог облачной backend-платформы Scorocode Михаил Епихин написал для vc.ru колонку про отрасль разработки мобильных приложений — как заказчикам сэкономить время и деньги на создании приложений, а программистам — снизить себестоимость разработки и поддержки.

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

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

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

Сроки

Первое, из чего складывается стоимость и время разработки — это сложность приложения. Второе — количество платформ (iPhone iOS, iPad iOS, Android phone, Android tablet, Windows Phone), на которых оно будет работать. Да, планшеты и смартфоны нередко считаются отдельно, но не всегда, ниже объясню почему.

Кстати, приложение под Android делать процентов на 20-30 дольше и по крайней мере на треть дороже, чем под iOS, потому что его нужно тестировать на большем количестве девайсов. В результате находится больше багов и приходится вносить больше правок. В часах разница в затраченном времени начинается от 20 для простого приложения (все данные — от эксперта рынка Николаса Райта, опубликованные в блоге Upwork) и заканчивается числами за сотню для сложного.

Разделение по категориям сложности у каждой студии свое. Тот же Николас, например, выделяет:

  • простые (делаются по шаблонам, без баз данных, 70-140 часов для устройств Apple);
  • поддерживающие интеграцию с базами данных (делаются с помощью backend-платформ типа Scorocode, 140-210 часов для iOS);
  • для предприятий (интегрируются с бизнес процессами, используют как базы данных, так и память устройства, от 210 часов для iOS);
  • игровые (сингплэеры и мультиплэеры, от 420 часов для iOS).

В России, как правило, не группируют по тематике, поэтому далее я не буду относить бизнесовые и игровые приложения к разным категориям. Плюс скорректирую данные по часам разработки: укажу «среднюю температуру по больнице».

Простые приложения

Обычно под простыми приложениями понимают те, которые содержат около 5 экранов, не обмениваются данными ни с какими вашими и чужими базами (сами не обновляют списки свободных столов, оставшихся билетов), не собирают аналитику действий пользователей, а личный кабинет в них если и есть, то с регистрацией только по email.

Простые приложения — это, как правило, или визитки (информация о компании, адрес, карта проезда), или программы, созданные для одного несложного процесса вроде оформления заказа без выбора товара и добавления в корзину. Для iOS и Android-смартфонов и планшетов специализированные агентства создают подобное за месяц-два, затрачивая 100-300 часов своих специалистов.

Приложение на одной платформе можно сделать быстрее и дешевле — в рамках месяца (150 часов) — но немногие клиенты согласны ограничиваться одним устройством. Для них и тех, кто хочет сэкономить, есть решение в виде кросс-платформенной разработки, но там много подводных камней вроде ограниченности функциональности, визуализации и производительности, правда, для некоторых заказов это не критично (обо всем этом можно почитать обзоры Mashable, Forbes или заметки на Habrahabr).

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

Приложения средней сложности

Средние по сложности — это те, которые охватывают несколько процессов. К ним относится большинство интернет-магазинов и систем бронирования. Экранов там около 10, есть личный кабинет, поддерживается авторизация через соцсети, есть интеграция с сервером или сайтом, часто и с платежными системами. Может быть встроен функциональность обратной связи, выставления оценок, выстраивания рейтингов. Для нескольких платформ они делаются за 3-6 месяцев (300-800 часов).

Приложения этой категории — наиболее распространённые. По данным американского опроса (трехлетней давности, зато до сих пор входящего во многие мировые сводки по отрасли), стандартное приложение создается в среднем за 18 недель, то есть за 4 месяца. Сейчас сроки разработки стали короче, и в ближайшие годы тенденция, похоже, сохранится. Технологии развиваются, курсов, открытых уроков и конференций по теме становится все больше, и это безусловно положительно влияет на развитие рынка.

Сложные приложения

К этой категории относятся приложения, разработка которых занимает от 800 часов (6 месяцев). Они могут поддерживать синхронизацию в режиме реального времени, всевозможный интерактив, интеграции с любыми базами, анимацию, работу со скачанным (с картами, например) в офлайне и все остальное, что вашей душе угодно.

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

Стоимость

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

Аренда помещения

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

Одновременно такой штат может вести 8 проектов (тоже по аналогии с материалом по ссылке выше), то есть за каждый месяц работы с вами они потратят как минимум 15 тысяч на аренду офиса под ваш заказ. Таким образом, для простых приложений, которые делаются за месяц-два, расходы составят 15-30 тысяч, для средних (3-6 месяцев) — 45-75, для сложных — от 90.

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

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

Плюс компании, которые используют BaaS-платформы (Backend as a service) вроде нашей, тратят на разработку значительно меньше (об этом ниже), соответственно, их услуги должны стоить дешевле. Эту информацию можно и нужно запрашивать на этапе переговоров, как и оценки всех работ с разбивкой по часам сотрудников. Лучше попросить выставить реальную стоимость разработки в часах с отдельно указанной комиссией, так вам будет проще сравнить предложения разных студий друг с другом и с цифрами из нашей статьи.

Проектирование и дизайн

Этим может заниматься и команда от трех специалистов (UX-дизайнер, UI-дизайнер и графический дизайнер), и один мастер на все руки. В первом варианте качество выше (цена тоже), но обычно студии используют второй. В нем на дизайн в среднем уходит 80 часов при затратах на разработку в 500 часов и 160 — при разработке в 900. Со средней московской зарплатой соответствующего дизайнера в 80 000 рублей в месяц (по данным hh.ru) и средним количеством рабочих часов в месяц 165 (по производственному календарю) получаем округленно 15 000 для простого приложения (около 270 часов на создание), 40 000 для среднего (около 670), 80 000 для сложного (около 1 150).

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

Разработка

Делится на backend и frontend, но мобильные программисты, специализирующиеся на определенной ОС, занимаются и тем, и другим. Исходя из среднего оклада сотрудника в 100 000 в месяц (по данным Superjob), получаем стоимость разработки простого приложения примерно в 120 000, среднего — 290 тысяч, сложного – 515 тысяч (количество часов на создание берем то же, что выше).

Пользуясь услугами фрилансеров, можно сэкономить, если искать их на русскоязычных площадках (причем желательно разработчиков из провинции) или найти хорошего недорогого спеца по рекомендации. Поиск на международных ресурсах программистов с хорошим рейтингом может обернуться только переплатой, даже при учете экономии на аренде помещения: если средний программист студии получает по текущему курсу около 9 долларов в час, то свободные художники с их свободным английским не стесняются оценивать себя в 2-6 раз дороже (данные Upwork).

Есть вариант упростить обе части разработки, создав приложения по шаблону. За него вы ежегодно будете платить всего 3-4 тысячи рублей, но качество таких продуктов обычно очень далеко от современного понимания прекрасного. Дальше, чем качество шаблонов сайтов и email-рассылок, например.

Второй вариант – упростить только программирование серверной части, воспользовавшись платформами backend-разработки. Это эффективно, потому что доля backend-работ (включая core) в программировании приложений составляет около 80% – на front уходит только пятая часть времени. Вы получаете готовый SDK, который включает в себя моделирование данных, PUSH, email- и SMS-уведомления, облачное хранилище, серверный код на JavaScript, аналитические инструменты и управление пользователями. Он помогает сократить количество задействованных сотрудников (даже в сложных приложениях можно обойтись без архитектора и разработчика баз данных, системного администратора и одним-двумя системными разработчиками вместо двух-трех) и снижает долю серверного программирования в разработке до 30%.

Это особенно положительно влияет на сроки создания всего продукта (то, что без BaaS-платформы можно написать за 18 месяцев, с ней делается в 2-3 раза быстрее), потому что больше всего времени на серверную функциональность тратится в начале, и пока не создана база, frontend писать невозможно. Плюс автоматически решается вопрос с облачными сервисами для хостинга данных и инструментами анализа серверной нагрузки на приложение. За использование платится комиссия, как у любого облачного сервиса.

Тестирование и публикация

Этим обычно занимается менеджер проекта или специальные тестировщики ПО, но зарплаты у них примерно одинаковые — около 80 тысяч в среднем (снова данные Superjob и HeadHunter). По практике, на тестирование и выкладывание в сторы уходит от 2 дней до 2 недель непрерывной работы, то есть от 16 до 80 часов. Для простого приложения это будет стоить 8 000 рублей, для сложного в районе 40, для среднего – около 25.

Прибавим сюда управление проектом, которое, скорее всего, будет осуществлять тот же менеджер. По опыту, он потратит на это около 3 дней непрерывной работы (включая первую встречу с клиентом, сбор требований и т.п.) в простом варианте, 7 — в среднем и от 14 — в сложном. В деньгах такие траты — это 12 000, 27 000 и 54 000 рублей соответственно.

Кстати, выкладывание приложения в магазин далеко не последняя по сложности задача. Гайдлайны App Store и Google Play содержат довольно много причин, по которым ваш продукт могут отклонить, например, возрастной рейтинг. Кроме того, каждая итерация проверки занимает довольно много времени – около недели (но есть способы ускорить процесс), что добавляет проблем тем, у кого к чему-то приурочены дедлайны по выкладке. Почитать инструкции, хитрости и опыт других других людей, который поможет в этом непростом деле, можно на Хабре.

Если говорить об итоговых цифрах времени и денег, на которые надо рассчитывать, по словам самих исполнителей, то здесь данные студий очень разнятся. Например, 2Nova Interactive озвучивает рамки от 600 тысяч рублей до нескольких миллионов. Минимальный срок разработки у них — 1,5 месяца (без учёта времени согласований и публикации в сторах).

У MST в портфолио есть и проекты, которые были сделаны менее чем за 2 недели, и такие, работы по которым ведутся уже несколько лет (продолжается доработка дополнительной функциональности). В AGIMA нам рассказали, что простое приложение делают за 2-3 месяца и относят к таким все, что дешевле 1 млн рублей (среднее они создают за 3-6 месяцев и стоит оно 2-4 млн, сложные – от 6 месяцев, и стоят они уже от 4 миллионов). Кстати, стоимость может быть как фиксированной, так и пересматриваться в процессе разработки, если у вас горят сроки и нет времени определяться с объемом функционала в начале проекта. Правда, во втором варианте, вы, скорее всего, переплатите за срочность.

Прогнозы

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

Например, уже сейчас есть гибридная система React Native, разработанная компанией Facebook, которая работает с нативными компонентами операционных систем iOS и Android. То есть это вариант кроссплатформенной разработки, которая, за счет взаимодействия с разными ОС напрямую, выглядит так, как будто приложение писали под каждое устройство отдельно. Пока технология ещё очень молодая (Android-версию, например, выпустили меньше года назад), в системе доступен весьма ограниченный функционал интерфейсных элементов, в плане багов тоже не всё гладко, но в будущем она вполне может решить все основные проблемы кроссплатформенной разработки.

Было бы интересно услышать в комментариях мнение разработчиков и студий мобильной разработки (особенно тех, кто пользовался Parse, и сейчас продолжает работать с аналогичными BaaS) о возможностях сокращения времени и себестоимости разработки.

#Колонка#Разработка_приложений#стоимость_приложений

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

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

  • Мобильные аналитические инструменты
  • Кроссплатформенные инструменты разработки приложений
  • Фреймворки для разработки приложений
  • Инструменты разработки приложений для iPhone
  • Инструменты AR (дополненной реальности)
  • Инструменты искусственного интеллекта
  • Рекламные инструменты
  • Инструменты мобильных платежей
  • Инструменты push-уведомлений
  • Игровые движки

Мобильные аналитические инструменты

1) Smartlook

Smartlook — это качественное аналитическое решение для приложений под iOS и Android. Узнайте, как пользователи взаимодействуют с вашим приложением — смотрите записи, отслеживайте события и создавайте воронки конверсий. Прекратите догадки и посмотрите на свои визуализированные данные, собранные в одно место. Это и есть ваше приложение глазами его пользователей.

Особенности:

  • всегда включенная запись действий посетителей показывает действия последнего пользователя в вашем приложении;
  • автоматическое отслеживание событий позволяет узнать, как (и как часто) ваши пользователи выполняют определенные действия;
  • воронки конверсий помогут вам увидеть ваши показатели, а также выяснить, почему отсеиваются пользователи;

2) App Watch

AppWatch — это облачный продукт для мобильной аналитики и обеспечения безопасности. Он помогает разработчикам защитить свои мобильные приложения от взлома. Он завоевывает доверие пользователей и обеспечивает безопасность приложения.

Особенности:

  • позволяет проводить полное сканирование мобильного приложения, дает отдельную библиотеку (SDK) для сканирования;
  • AppWatch генерирует пользовательские отчеты с модифицируемыми описаниями, логотипом, комментариями и т. д.
  • каждая из выявленных проблем безопасности снова проверяется различными методами;
  • определяет чувствительные параметры, занесенные в код в виде конкретных значений, и помогает выявить все возможные уязвимости, связанные с ними;
  • AppWatch может сканировать приложения с помощью Webview и выявлять проблемы безопасности.

Кроссплатформенные инструменты разработки приложений

3) Xamarin:

Xamarin является предпочтительным инструментом для разработки мобильных нативных приложений. Он использует уровни бизнес-логики и доступ к данным на разных платформах. Он широко используется для создания приложений под iOS, Windows и Android.

К слову, конструктор мобильных приложений АППРОПИО разработан именно на языке программирования Xamarin. Вы можете узнать более подробно про возможности конструктора перейдя по этой ссылке.

Особенности:

  • моно-фреймворк, который позволяет общаться с API мобильных устройств;
  • Xamarin Component Store включает элементы управления пользовательского интерфейса, кроссплатформенные библиотеки и сторонние библиотеки;
  • при использовании обычно возникает меньше ошибок и, таким образом, обеспечивается более быстрое время выхода на рынок;
  • позволяет индексирование приложений и глубинное связывание (deep linking);
  • Специфика платформы позволяет использовать функциональность, доступную только на определенных платформах.

4) Appcelerator:

Appcelerator позволяет разработчикам создавать приложения с меньшим числом строк кода. Этот инструмент разработки приложений поддерживает приложения HTML5 для iOS, Android, Windows и браузеров.

Особенности:

  • повышает скорость разработки мобильных приложений;
  • расширяет пределы емкости “облачных” хранилищ;
  • позволяет создавать мобильные приложения для всех поддерживаемых операционных систем;
  • может развернуться в частном виртуальном “облаке” или локально;
  • создан на основе открытых стандартов и полного доступа к базовой мобильной ОС;
  • поддерживает глобальные развертывания на несколько регионов.

5) PhoneGap:

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

Особенности:

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

6) Ionic:

Ionic — это среда разработки мобильных приложений на HTML5. Он широко используется для разработки гибридных мобильных приложений. Это полезный инструмент для создания мобильных приложений с использованием веб-технологий, таких как CSS, HTML5 и SASS.

Особенности:

  • 100% бесплатный проект с открытым исходным кодом;
  • позволяет создавать прогрессивные веб-приложения и собственные мобильные приложения для каждого крупного магазина приложений;
  • предлагает отличные инструменты и сервисы для создания интерактивных приложений;
  • позволяет веб-разработчику создавать приложения для всех основных магазинов приложений с единой базой кода;
  • поставляется со многими компонентами CSS и JavaScript для разработки мобильных приложений;
  • эмулирует основные принципы пользовательского интерфейса приложений и использует собственные SDK.

7) Mobincube:

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

Особенности:

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

8) Longrange:

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

Особенности:

  • работает как нативное приложение очень быстро и с высокой надежностью;
  • можно создавать собственные мобильные приложения, используя только RPG/CL с DDS;
  • обеспечивает инфраструктуру для приложения;
  • не требует от разработчика повышения уровня знаний;
  • разработка без необходимости знаний JavaScript, HTML или CSS;
  • единожды создав приложение, можно развернуть его на мобильных устройствах и Apple, и Android;
  • можно использовать такие функции мобильного устройства, такие как GPS, камера, аудио, SMS и т.д.;
  • можно автоматически загружать обновления приложений на мобильные устройства через механизм push;
  • стоимость обслуживания и поддержки мобильных приложений ниже.

9) Qt:

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

Особенности:

  • новые реализуемые классы для работы с окнами и рендерингом;
  • реализованы оптимизации парсера и компилятора;
  • поддержка непрозрачных приватных ключей шифрования;
  • поддержка IPv6 и двух режимных сетей;
  • специальные настройки для Buggy SSL-серверов.

10) Alpha Anywhere:

Alpha Anywhere — это инструмент для быстрой разработки и развертывания мобильных приложений. Он используется для создания кроссплатформенных веб-приложений и мобильных бизнес-приложений.

Особенности:

  • эффективный инструмент для создания кроссплатформенных мобильных приложений;
  • корпоративная безопасность мобильных данных;
  • детальное делегирование управления ресурсами;
  • прямая публикация из среды разработки Alpha Anywhere;
  • решает проблему автономной синхронизации;
  • включает готовые примеры приложений, которые разработчики могут изменять или на которые можно посмотреть для своей разработки;
  • удобный доступ к серверным данным;
  • интеграция и трансформация сложных данных;
  • шифрование данных с поддержкой HMAC и SSL.

11) Sencha Ext JS:

Sencha Ext JS — это основанная на MVC JavaScript-инфраструктура. Этот инструмент разработки мобильных приложений обеспечивает высокий уровень отклика приложения. Это помогает улучшить удовлетворенность клиентов.

Особенности:

  • разработчики могут писать в формате HTML5 с помощью набора для разработки (SDK) Sencha touch;
  • код можно перевести на другой язык программирования с помощью другого инструмента, такого как PhoneGap;
  • инструмент полезен для разработки собственных приложений без времязатрат на настройку;
  • поддерживается в браузерах на базе WebKit, включая популярные платформы Apple iOS и Google Android;
  • рационализированная система конфигурации;
  • масштабируется на разных разрешениях для максимальной совместимости с различными устройствами;
  • широкая поддержка анимации и улучшенных touch-событий.

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

12) KendoUI:

Kendo UI — это комплексное решение для создания мобильных приложений для современной разработки клиентских решений. Он соответствует современным веб-стандартам, предоставляя решения из большого числа модулей для разработки приложений.

Особенности:

  • работает без проблем с AngularJS;
  • позволяет создавать кроссплатформенные веб-приложения. Его можно настроить под размер экрана пользователя на рабочем столе, планшете и телефоне;
  • самый простой первый инструмент для разработчиков на JavaScript;
  • позволяет компоненту jQuery DataSource легко связывать хранилища для локальных и удаленных данных.

13) Mobile Angular UI

Mobile Angular UI — это среда разработки мобильных приложений. Он использует такие богатые библиотеки, как overthrow.js и fastclick.js для наилучшего качество работы на мобильных.

Особенности:

  • благодаря Mobile Angular можно разработать адаптивный мобильный пользовательский интерфейс. Также позволяет конвертировать настольные веб-приложения в мобильные приложения;
  • позволяет создавать потрясающие мобильные компоненты;
  • подходит для Bootstrap-разработки с учетом потребностей развития;
  • чтобы увидеть как мобильные, так и десктопные версии, достаточно растянуть и сжать окно браузера;
  • позволяет проверить скорость отклика и адаптивность.

14) NativeScript:

NativeScript — это фреймворк с открытым исходным кодом для создания по-настоящему нативных мобильных приложений с использованием Angular, TypeScript или JavaScript. Позволяет писать и развертывать нативные мобильные приложения для iOS и Android из единой базы кода.

Особенности:

  • ускоряет рост кривой обучения, используя навыки для разработки собственных мобильных приложений;
  • создает по-настоящему нативные мобильные приложения с помощью JavaScript. Используйте свои навыки для работы с веб-фреймворками, такими как Angular и CSS;
  • сотни плагинов NativeScript доступны для расширения возможностей мобильных приложений;
  • команда NativeScript предоставляет три законченные реализации приложения для реального мира.

15) Onsen UI:

Onsen UI предлагает пользовательский интерфейс и инструменты для создания гибридных мобильных приложений HTML5 на основе PhoneGap. Это простой в освоении и мощный инструмент для создания мобильных приложений.

Особенности:

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

16) FireBase:

Firebase — еще одна платформа для разработки мобильных приложений. Она поддерживает веб-клиенты, платформы iOS, OS X и Android. Она может значительно сократить время разработки и избежать путаницы с серверами и хранилищами данных.

Особенности:

  • предоставляет облачный сервис, поэтому не требует установки;
  • данные хранятся в собственном формате JSON, поэтому пользователи могут видеть, что именно они сохранили;
  • данные в безопасности, поскольку Firebase требует 2048-битного шифрования SSL для всех передаваемых данных;
  • хранение файлов с поддержкой Google Cloud Storage;
  • обрабатывайте данные как потоки для создания хорошо масштабируемых приложений;
  • данные отображаются и сохраняются в нескольких безопасных местах, поэтому вероятность потери данных практически отсутствует;
  • прекрасная интеграция с такими фреймворками, как Angular JS, что позволяет создать приложение в очень короткие сроки.

Инструменты для разработки приложений для iPhone:

17) Swiftic:

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

Особенности:

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

Инструменты AR (дополненной реальности):

18) Vuforia:

Vuforia — это набор для разработки программного обеспечения с дополненной реальностью. Он позволяет создавать приложения на основе AR-технологии, используя технологию компьютерного зрения для распознавания и отслеживания изображений и 3D-объектов.

Особенности:

  • распознавать и отслеживать более широкий набор объектов;
  • поддержка широкого спектра телефонов, планшетов и очков VR для устройств Android и iOS;
  • возможность создать базовые события AR, которые работают на всех основных устройствах;
  • лучшее в своем классе компьютерное зрение. Это гарантирует адекватное представление в различных средах;
  • может легко распознать ряд повседневных изображений и объектов окружающей среды;
  • VuMarks дает возможности создания индивидуального дизайна и одновременно выступает в качестве “мишени” для AR-объектов;
  • обеспечивает поддержку воспроизведения видео;
  • разработчики могут создавать трехмерные объекты с помощью платформы мобильного зрения Vuforia;
  • можно создавать виртуальные кнопки, которые приложение видит и на которые реагирует.

19) Easy АR:

Easy AR — приложение на основе дополненной реальности для разработчиков мобильных приложений, дающее кроссплатформенную поддержку для разработки приложений.

Особенности:

  • Objective-C API для iOS;
  • доступно на Android / iOS / Windows / Mac OS;
  • воспроизведение видео с прозрачным фоном;
  • сканирование QR-кода;
  • готовый 3D-плагин для движка;
  • неограниченное время распознавания;
  • многоцелевое одновременное обнаружение и отслеживание;
  • облачная поддержка распознавания;
  • позволяет отслеживать 3D-объекты;
  • одновременное обнаружение и отслеживание.

Инструменты AI (искусственного интеллекта):

20) TensorFlow:

TensorFlow был разработан с учетом мобильных и встроенных платформ. Это программное обеспечение с открытым исходным кодом для искусственного интеллекта. Его библиотеки облегчают внедрение специальных функций для искусственного интеллекта.

Особенности:

  • библиотека программного обеспечения с открытым исходным кодом для численных расчетов с использованием графов вычислений;
  • гибкая архитектура, позволяющая разворачивать вычисления на настольном компьютере, сервере или мобильном устройстве с помощью единого API;
  • преимущественно используется для глубокого обучения на практике и исследования.

21) IBM Watson:

Watson в облаке IBM позволяет создавать искусственный интеллект для интеграции в самые мощные приложения в мире. Это позволяет безопасно хранить данные в облаке и управлять ими.

Особенности:

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

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

22) Unity Ads:

Unity Ads позволяет издателям интегрировать видеообъявления в мобильные игры таким образом, чтобы повысить вовлеченность игроков. Он также предлагает самый высокий средний доход на пользователя (ARPU) из всех глобальных рекламных сетей с просмотров видео за вознаграждение.

Особенности:

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

Инструменты для осуществления мобильных платежей:

23) Braintree:

Braintree — платежный шлюз с открытым исходным кодом для мобильных приложений. Поддерживает 23 языка. Приложение помогает компаниям любого размера принимать, обрабатывать и разделять платежи, чтобы максимизировать возможности для бизнеса.

Особенности:

  • имеет модернизированный и упрощенный API;
  • гибкая система выбора оплаты;
  • шаблон формы для легкого ввода кредитной и дебетовой карты;
  • поддержка Apple Pay и Android Pay;
  • отдельные иконки платежей, локализация, поля форм, что поможет вам создать высокий поток покупок;
  • поддержка устройства iOS и Android;
  • поддержка UnionPay.

Инструменты отправки push-уведомлений:

24) Urban_Airship:

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

Особенности:

  • отправка на любой URL для улучшения UX и увеличения конверсии;
  • возможность персонализации для получения лучших результатов;
  • оптимизация для веб-уведомлений;
  • неограниченные Push-уведомления;
  • неограниченные уведомления в приложении;
  • поддержка Deep Linking;
  • автоматизация в реальном времени;
  • отчеты о взаимодействии;
  • база данных для самообучения, доступ к форуму.

25) Pusher:

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

Особенности:

  • гибкий обмен сообщениями “Издатель-Подписчик”;
  • контроль доступа / аутентификация;
  • функция Webhooks позволяет получать действия пользователей в системе в режиме реального времени;
  • оповещения в Slack, отправка метрик на информационные панели в Datadog и многое другое;

Игровые движки

26) Corona:

Corona — это кроссплатформенный фреймворк для разработки мобильных приложений. Он используется для создания приложений и игр для мобильных и десктопных устройств. Этот инструмент позволяет опубликовать единый проект для Apple iPhone и iPad.

Особенности:

  • полностью бесплатный инструмент с открытым исходным кодом;
  • позволяет разрабатывать игры с Corona в кратчайшие сроки;
  • платформа построена на OpenGL 2.0, OpenAL и других отраслевых стандартах;
  • позволяет разработчикам делиться своим кодом при сборке и публикации на iOS, Android и Kindle;
  • оптимизация для использования аппаратно-ускоренных функций, которые обеспечивают высокую производительность в играх и приложениях;

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

Тенденции

Чем пользуются владельцы мобильных телефонов?

  • Больше половины (53%) используют скачанные приложения
  • Приблизительно столько же (52%) через мобильный телефон заходят на сайты
  • Более трети людей (38%) используют социальные сети со своего мобильного телефона
  • Чуть меньше людей играют в игры (34%)
  • Примерно три четверти пользователей общаются через мобильные телефоны (помимо звонков): это могут быть SMS, приложение социальной сети, мессенджер
Статистика

Что покупают За 2012 год в РФ продано порядка 12,6 миллионов смартфонов: Россия считается одной из быстроразвивающихся в этом плане стран. Если мы посмотрим на статистику продаж смартфонов по операционным системам, мы увидим следующее:

  • 62% продаваемых смартфонов – это Android-устройства;
  • На втором месте Symbian — 15% рынка;
  • Оставшуюся долю делят bada, iOS и Windows Phone (если взять этот график только по Москве, то распределение, наверное, будет смещаться в сторону увеличения доли продукции Apple)

Если взглянуть на такой же график по всему миру, то увидим, что и тут Android в авангарде с ¾ рынка. За второй квартал 2012 года по всему миру было продано 104 миллиона телефонов Android — как население довольно крупной страны. Но нас как мобильных разработчиков интересует не только наличие смартфона, но и то, как с ним работают. Существенная доля обладателей устройств на Android пользуется ими как обычными телефонами: SMS, звонки — и все. Они не активируют устройство в Google Play, не скачивают приложения. Чем пользуются Не все люди обзавелись телефонами в 2012 году, поэтому реальное распределение сил среди мобильных операционных систем демонстрирует наша внутренняя статистика. В эту статистику входят Россия и страны СНГ: Украина, Белоруссия, Казахстан, Узбекистан.

  • 73,5% – это Java-телефоны
  • Android-устройства находятся на втором месте с 11,6%
  • Наследие компании Nokia, Symbian, совсем немного отстает от Android с 11%
  • Яблочной продукцией обладают 3,5% пользователей рунета
  • Самые внимательные увидят на диаграмме Microsoft с Windows Phone ( менее 1%)

Установка приложений

При выборе платформы, под которую будет разрабатываться приложение, важно знать статистику по уже существующим приложениям. Графики исследовательской компании App Annie от сентября 2012 года показывают, как растут два конкурирующих магазина Apple и Google.

По количеству скачиваний на первом месте Google Play: больше устройств, больше скачиваний, больше трафика и рост при этом +66% по сравнению с январем 2012 года. Рост iOS оказался в два раза меньше, порядка 30%. Но главный график – какую выручку приносят пользователи. И здесь ситуация в корне иная. Проще зарабатывать на iOS, но деньги есть и в Google Play, если уметь их забирать.

Типы мобильных приложений

На практике можно разделить приложения для мобильных устройств на три типа.Мобильные сайты, веб-приложения Это самый распространенный тип приложений для мобильных устройств. Современные смартфоны в состоянии отобразить обычный сайт. Им доступно все то, что мы привыкли видеть в десктопных приложениях — поддержка HTML5 делает свое дело. Помните, что веб-приложения отлично подходят для стартапа: именно они позволяют получить большой результат за маленькие деньги и за небольшой срок. Еще один плюс мобильного сайта по сравнению с другими мобильными приложениями – это кроссплатформенность. Однако есть и минус, притом весомый: с ними достаточно сложно заработать. Гибридные приложения При таком подходе вы получаете доступ ко всем плюсам API операционной системы: приложение обрастает push-уведомлениями и другими приятными плюшками, кроме того, теперь ваш продукт можно размещать в сторах. При этом основной контент все еще представляет собой платформонезависимую страничку с версткой, размещенную на сервере. Это позволяет вносить косметические изменения в продукт без выпуска новой версии: достаточно залить изменения на сервер. Гибридные приложения – отличное решение для тех, кто начинает бизнес или хочет проверить свою идею, показать ее инвестору, друзьям.Нативные приложения Этот вид приложений самый ресурсоемкий, но вместе с этим он позволяет по максимуму использовать возможности, предлагаемые каждой конкретной операционной системой. Как следствие, нативные приложения выигрывают как по функционалу, так и по скорости работы у других типов мобильных приложений. Именно к такому подходу сейчас приходят те компании, которые делали комбинированные приложения. Например, Facebook начинала с комбинированного приложения: нативные контролы (переключатели, вкладки и так далее) и веб-страница в качестве контента. Несмотря на то, что это неплохое решение, проблемы с производительностью приводят к тому, что разработчики отходят от комбинации с вебом.

Статистика

Приведу статистику скачиваний на примере наших мессенджеров. Во-первых, у нас есть приложение ICQ, которое постоянно развивается: среди последних изменений стоит отметить аудиозвонки. Второй мессенджер Mail.Ru Group – Агент. В Агенте реализован примерно тот же функционал, и, хотя у него была немного другая история развития, мы выпускаем версии практически под все платформы и его можно найти в любом сторе. Основная разница между двумя этими приложениями – это их аудитория. ICQ – это международный продукт. Программа скачивается не только в России, им активно пользуются жители Европы, Латинской Америки. Агент же изначально делался в России и для русскоязычных пользователей. Тем интереснее сравнить статистику скачиваний из магазинов.

Большая часть 62% иностранной аудитории идет в Google Play. Примерно 1/5 идет в AppStore, 14% — в Ovi Store. И уже оставшиеся 5% делят магазины для платформ Windows Phone (4%) и Samsung Bada (1%). С Агентом ситуация в корне другая: доли Google Play и Ovi примерно одинаковые. Ну а 10% AppStore наглядно демонстрируют любовь к «яблочной» продукции в нашей стране.

Процесс создания мобильного приложения

Итак, перейдем к самому вкусному: процессу разработки мобильного приложения.User Story Прежде всего, необходимо определить, что и для кого мы пишем. Ответы на эти вопросы оформляются в User Story. На картинке вы можете посмотреть на реальный тикет в нашем трекере. Он описывает, как существующий пользователь ICQ может войти в приложение, и какие проблемы он может встретить. На этом этапе важно проработать все возможные сценарии, чтобы не было неприятных сюрпризов на более поздних этапах разработки. Важно понимать, что за каждым пунктом в вашем to-do листе скрывается огромный айсберг функционала. Старайтесь фрагментировать и конкретизировать задачи. Крупные хотелки лучше всего разделить на несколько этапов (релизов в стор). Однако это тема отдельной дискусии, вернемся к этапам создания приложения.Проектирование и дизайн После составления User Story начинается проектирование и разработка дизайна.

На этом этапе мы используем прототипы, которые мы вешаем на доску и стрелочками показываем, как будет происходит навигация. При разработке дизайна обязательно используются гайдлайны. Гайдлайн в общем понимании – это документ, который выпускает компания, и по которому дизайнеры и разработчики понимают принцип построения взаимодействия приложения с пользователем. Условно говоря, для iOS кнопки надо делать круглыми, а для Windows Phone – квадратными. Однако мы используем и внутренние гайдлайны для разработчиков. Таким образом результат работы дизайнера чаще всего состоит из макетов, гайдлайнов и нарезки графики. Макеты лучше всего подавать «перелинкованными», например с помощью ProtoTypr, чтобы была понятна логика переходов. Гайдлайны содержат в себе информацию об отступах, размерах, визуальных эффектах, механике анимации и пр. Этот этап можно пропустить, если в вашем проекте один дизайнер и один разработчик, сидящие рядом друг с другом. Третья часть результата — нарезка графики — должна содержать минимум необходимых графических ресурсов (заботимся о весе приложения), иметь версии для разных разрешений экранов. Чаще всего мы рисуем для ретины и xhdpi-экранов. Далее идет подготовка для неретины и mdpi автоматизированными средствами (если допустимо их использование). Чаще всего руками приходится готовить hdpi-ресурсы.Передача в разработку. Обсуждение и необходимые правки описания После получения макетов, гайдлайна и нарезки, начинается работа разработчика. Мы передаем в разработку все то, что придумали, и ожидаем ранний результат. Это не значит, что работа над архитектурой и пользовательским интерфейсом закончена. Иногда у разработчиков появляются интересные идеи, которые вносят коррективы в изначальный план. Когда разработка завершена, наступает стадия тестирования.Тестирование Существует немалое количество способов протестировать приложение. В мобильной разработке тестировщик – это человек, вокруг которого одни телефоны. У нас есть огромный шкаф, в котором лежат как старые телефоны, так и самые свежие новинки. Внутри мы стараемся тестировать по тест-кейсам. Если внедряется новая фича, по ее описанию составляется тест-план. Существуют сервисы, помогающие в тестировании. Мы используем HockeyApp – приложение, позволяющее раздавать наш продукт бета-тестерам. Мы пишем в социальных сетях: «Ребята, у нас новое крутое приложение. Кто хочет попробовать?» Желающие получают билд, пользуются приложением, а сервис собирает статистику, составляет креш-репорт и отправляет все это нам. Также есть сервисы, позволяющие протестировать приложение на разных операционных системах — например, все Android-прошивки версии 2.1 или 2.3. Вы отдаете приложение, сервис скриншотит весь путь, который вы задали, присылает картинки вам на почту, и вы проверяете, все ли в порядке. Мониторинг Итак, вы разработали, протестировали приложение, залили его в стор. Для отслеживания статистики скачиваний можно использовать сервис Distimo. Он показывает статистику по пользователям, которые приходят в стор, чтобы скачать приложения, и агрегирует комментарии. Важно понимать, что люди более склонны оставлять негативные комментарии. Если у человека все хорошо, он чаще всего просто пользуется приложением, не комментируя. При стабильной работе наших приложений мы получаем 40-50 комментариев ежедневно. В день ошибки количество записей может доходить до 400 на одной платформе. Поэтому имейте в виду, что комментарии – это не полная оценка вашей работы, скорее еще один баг-трекер. Изменить ситуацию может довольно распространенных «хак» — окно Rate Us. С предложением оставить положительный комментарий в сторе, а в случае проблем написать разработчику. Эффект достаточно сильный, главное — правильно продумать алгоритм показывания диалога юзеру. Помимо комментариев Distimo показывает количество скачиваний, заработанные деньги, а также откуда скачивают ваши приложения. Еще один интересный мониторинговый сервис – Flurry. Он помогает собирать клиентскую статистику. Flurry предоставляет отчет о том, что делает пользователь в вашем приложении: сколько раз он нажал на кнопку, сколько раз возвращался в приложение и более общие параметры — аудитория, география, пол, возраст и пр. В некоторых мобильных продуктах мы также используем подсчет клиентской статистики с помощью Google Analytics. Разницы при сравнении с Flurry нет практически никакой. Минусы в скорости работы и обработки логов есть в обоих случаях, однако, если вы привыкли работать с гугловским интерфейсом, можете использовать этот инструмент. Несмотря на большое количество сторонних сервисов, у нас есть собственная статистика. Какими бы хорошими не были внешние источники, их нужно проверять. Мы способны сами оценивать статистику, но для этого необходимо строить инфраструктуру для генерации отчетов, еженедельной отправки отчетов по email и других вещей, упрощающих жизнь. Поэтому нам проще использовать такие сервисы, как Flurry и Distimo, а к внутренним логам обращаться при возникновении вопросов. Наша практика показывает, что такой подход оправдан: периодически наши данные и данные сервисов несколько разнятся. Если вы склонны проверять статистику, используйте разные источники.

Специфика

Что нужно помнить?

  • На каждой новой платформе пользователь ожидает увидеть богатое приложение. Он рассуждает следующим образом: «Я сидел на плохом Java-телефоне, при этом мог пользоваться аськой. Я купил новый телефон, захожу в Marketplace, а там нет ICQ? Вы чем там занимаетесь?» Пользователь не принимает в расчет того, что вам приходится делать приложение с нуля. Новая платформа – это новые девайсы, новая документация, новые ресурсы.
  • Чем популярнее платформа, тем больше у вас конкурентов. На данный момент существует два стора, на примере которых это отлично видно: AppStore и Google Play. Если у вас есть идея приложения, которое легко монетизируется или просто получит много скачиваний, вбейте ключевые слова в поиске и скорее всего вы обнаружите, что такое приложение существует. Чем популярнее платформа, тем больше конкурентов. В таких случаях надо тщательно изучать аналоги, смотреть статистику, пытаться понять, по каким параметрам существующие решения можно превзойти.
  • Важно понимать, как пользователи выбирают приложения. Изначально человек не собирается покупать конкретное приложение, он просто смотрит список. Например, по запросу «бесплатная музыка». Иконка и первые две строчки описания – это то, что человек видит и оценивает в первую очередь. Если иконка приличная, можно покупать; соответственно, плохая иконка уменьшает количество скачиваний.
  • Очень важно попасть в топ магазина приложений. Попасть в топ стора – очень хорошо, закрепиться там – залог успеха. Зачем это нужно? Когда пользователь хочет что-нибудь скачать, он заходит в чарт и видит, какое приложение сейчас на первом месте по числу скачиваний. Очень важно туда попасть, потому что это своего рода замкнутый круг. Приложение попадает в чарт, его видят пользователи, они его скачивают, оно снова попадает на первое место, и дальше итерации продолжаются. Поэтому всеми силами добывайте скачки и рейтинг: просите мам, бабушек, соседей ставить приложению пятерки. Стоит сказать, что на рынке полно решений для гарантированного вывода программы в топ. Однако органических пользователей это приносит мало, что не мешает продолжать эксперименты.
  • Помните, что время публикации может доходить до нескольких недель. Допустим, вы разработали и протестировали приложение, обзвонили всех блоггеров или СМИ и сказали: «У меня новое приложение, приходите на пресс-конференцию». Вы его отправляете в AppStore и вынуждены ждать семь рабочих дней в России. В этом случае Google Play – рай для оперативных обновлений, где публикация занимает несколько часов.
  • Фрагментация операционной системы. Если вы разрабатываете приложения под Android, учитывайте фрагментацию и существование целого зоопарка устройств. Это сказывается на времени разработки на всех этапах: проектирование, дизайн, разработка и особенно тестирование.
  • В сторе невозможно общаться с пользователями. Например, пользователь пишет, что у него в ICQ не ходят сообщения. Он недоволен и выражается очень красочно, но не очень информативно. У нас нет возможности с ним связаться и узнать о проблеме подробнее. Все, что мы можем сделать – залезть в мониторинг и посмотреть, ходят ли у нас сообщения. Может быть, его заблочил антиспам.
  • Сейчас некоторые сторы обзаводятся админкой, в которой можно задать вопросы пользователю, выяснить его контактные данные, посмотреть, в каких странах скачивают ваше приложение, но пока ситуация не слишком улучшилась. Стоит отметить, что Google Play продолжает добавлять эту возможность некоторым разработчикам, например нашей компании она доступна.
  • Время на тестирование. Существует несколько способов протестировать приложение. Можно иметь тестеров в штате – с тест-кейсами, тест-планами, которые они обязательно проходят. Кроме того, существует сервис для тестирования – вы платите за найденные баги. Вы выкладываете приложение, его тестируют 20 тысяч человек. В этом подходе, конечно, есть плюсы и минусы.
  • Кадры в мобильной индустрии решают все. Хороших мобильных разработчиков сложно найти даже крупным компаниям, таким как Mail.Ru Group, Яндекс или Google. Именно поэтому мы ведем работу со стажерами — потому что иногда легче взять толкового студента и обучить его.
Заключение

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

ОСТАВЬТЕ ОТВЕТ

Please enter your name here
Please enter your comment!