специфика разработки мобильных приложений
Введение в разработку мобильных приложений
Скриншоты приложений взяты из магазина приложений Google Play или сделаны самостоятельно с использованием смартфона Мегафон SP-A20i Mint на платформе Intel Medfield.
Презентацию к данной лекции можно скачать здесь.
1.1 Введение
Операционная система | Продано (тыс.ед.) III кв. 2013 | Доля рынка (%) III кв. 2013 | Продано (тыс.ед.) III кв. 2012 | Доля рынка (%) III кв. 2012 |
---|---|---|---|---|
Android | 205022,7 | 81,9 | 124552,3 | 72,6 |
iOS | 30330,0 | 12,1 | 24620,3 | 14,3 |
Microsoft | 8912,3 | 3,6 | 3993,6 | 2,3 |
BlackBerry | 4400,7 | 1,8 | 8946,8 | 5,2 |
Bada | 633,3 | 0,3 | 4454,7 | 2,6 |
Symbian | 457,5 | 0,2 | 4401,3 | 2,6 |
другие | 475,2 | 0,2 | 683,7 | 0,4 |
Общее кол-во: | 250231,7 | 100,0 | 171652,7 | 100,0 |
Источник: Gartner (ноябрь 2013) |
Внимательное изучение таблицы позволяет увидеть подавляющую популярность смартфонов под управлением ОС Android в мире, доля таких устройств не первый год превышает половину от общего числа купленных смартфонов. Кроме всего прочего, эта популярность продолжает расти. Очевидно, что армия пользователей смартфонов под управлением Android будет искать дополнительные приложения для своих устройств, в связи с этим умение разрабатывать эти самые приложения может принести много пользы своему владельцу. Например, можно разрабатывать для себя полезные, интересные, занимательные (нужное подчеркнуть) приложения, а можно, разведав обстановку и осмотревшись, сделать разработку мобильных приложений своей профессиональной деятельностью, основной или дополнительной.
Курс «Разработка приложений для смартфонов на ОС Android» предоставляет возможность приобрести начальные навыки разработки мобильных приложений, если остановиться только на первой его части. Изучение полной версии курса позволит сделать серьезный шаг к тому, чтобы профессионально разрабатывать мобильные приложения и получать от этой деятельности не только моральное, но и материальное удовлетворение.
Данная лекция является первой для всего курса, призвана ввести читателя в курс дела. В первую очередь в ней рассматриваются вопросы становления и развития ОС Android. Для успешного программирования под Android необходимо понимать внутреннюю организацию и архитектуру этой платформы, а также полезно знать, какие инструменты и среды разработки можно использовать. Этим вопросам посвящена основная часть лекции. Кроме того, в лекции рассматриваются особенности запуска и отладки мобильных приложений.
Немного истории
Рассмотрим, как все начиналось. В 2003 году в Пало Альто, штат Калифорния Энди Рубин с единомышленниками (Рич Майнер, Ник Сирс и Крис Уайт) основали компанию Android Inc. Поначалу в компании занимались проектированием мобильных гаджетов, которые на основе геолокационных данных автоматически подстраивались под нужды пользователей.
Первая версия Android была представлена 23 сентября 2008 года, версии было дано название Apple Pie (можно заметить созвучие с прямым конкурентом). Далее так повелось, что название каждой очередной версии представляет какой-либо десерт, при этом первые буквы наименований в порядке версий соответствуют буквам латинского алфавита по порядку. С развитием обновлений Android можно познакомиться в таблице 1.2.
Особенности разработки мобильных приложений
Андрей Батурин
Бизнес сегодня не может эффективно развиваться без представительства в Интернете. В какой форме организовать это присутствие? Вот вопрос, который актуален для многих. Кому-то хватает лендинга, большинство предпочитают обзавестись сайтом или интернет-магазином. Поговорим о мобильном приложении для бизнеса: кому стоит задуматься о его разработке?
Отличия мобильной версии сайта и приложения
Вопрос спровоцирован устойчивой тенденцией роста мобильного трафика. Достаточно ли сделать свой ресурс адаптивным? Или пора задуматься о том, чтобы разработать полноценное мобильное приложение? В чем же состоят их различия?
О том, чем отличаются мобильная версия сайта и адаптивный дизайн, вы можете прочитать здесь. Мы уже проводили микроисследование на эту тему.
Главное отличие от сайта в том, что связь между страницами ресурса происходит через гиперссылки. Приложение работает самостоятельно — не в браузере. И если для сайта основное — это информативность, то для мобильного приложения — функционал.
Мы приходим к выводу, что:
Мобильное приложение
Нельзя сказать, что браузер полностью исключен из работы приложения. Иногда он используется, к примеру, для показа содержимого страницы, но его роль однозначно второстепенна.
Иногда выделяют такие типы мобильных приложений:
Получается, что разработка полноценного мобильного приложения оправданна для тех участников бизнеса, у которых действительно велика аудитория мобильных пользователей. А сам бизнес уже до такой степени раскручен, что значительные финансовые вложения окупятся в итоге.
Разработка мобильного приложения вряд ли даст узнаваемость тому бренду, который мало знаком пользователям. Но расширить охват и повысить узнаваемость уже известной компании приложение реально может.
Особенности разработки
Какому бизнесу очень нужны для развития мобильные приложения? Как показывает практика, отлично подходит это для представителей рынка услуг: косметологических и парикмахерских салонов, фитнес-клубов, ресторанов и других представителей общепита, сферы развлечений от кино до квестов, такси и пр. Крупные интернет-магазины тоже выигрывают от такой веб-разработки.
Функционал позволяет не просто узнать об услуге или товаре, но и заказать ее с мобильника, записаться, купить, забронировать.
Что дает веб-приложение бизнесу? Репутация фирмы получает дополнительные бонусы, если приложением удобно пользоваться. Охват аудитории растет за счет этого, а также при подключении дополнительных возможностей: уведомлений о скидках, распродажах, специальных предложениях, бонусах при заказе онлайн.
ГОСТ по разработке мобильных приложений
10 июля 2018 года Правительством был одобрен проект, устанавливающий стандарты качества для приложений. Документ был подготовлен Росстандартом, в него вошло 87 показателей, по которым любой софт можно оценить с точки зрения его функционала, эффективности, безопасности.
Стандарт пока считается предварительным, с 1 октября его положения вступают в силу. В течение 3 лет он будет действовать в тестовом режиме. Положения ГОСТа считаются не строго обязательными, а рекомендованными разработчикам и владельцам. По истечении этого срока судьба стандарта будет окончательно решена: вероятнее всего, его утвердят в качестве постоянного, обязательного для всех.
— Мобильные приложения — программные продукты, востребованность которых растет вместе с увеличением доли мобильного поиска и трафика. Нельзя сказать, что они нужны абсолютно всем представителям бизнеса, но особенно популярны веб-приложения в сфере услуг. Государство обращает внимание на их регулирование. На это ясно указывает появление специального стандарта, который вводится с 1 октября 2018 года. Изучить его положения стоит и потенциальным заказчикам, и, конечно, разработчикам мобильных приложений.
Интересные факты и особенности разработки мобильных приложений
Каждый бизнес выбирает собственную форму присутствия онлайн:
кому-то достаточно лендинга;
кто-то разрабатывает собственный сайт или даже интернет-магазин;
а третьи идут дальше и создают собственное мобильное приложение.
Особенности разработки мобильного приложения
Знаете в чем принципиальное отличие мобильного или адаптивного веб-сайта и мобильного приложения? Сайт не работает самостоятельно, а только через мобильный браузер, поэтому на нем не всегда удается реализовать требуемый функционал. Сайт — это инструмент информативного характера. Мобильно е приложение работает по-другому. Оно полностью самостоятельно и на нем можно реализовать практически любой требуемый функционал. Мобильное приложение — это функциональный инструмент, который вообще не зависит от работы или версии браузера, а создается под какую-то платформу:
Процесс разработки мобильного приложени я не быстрый и не дешевый. Поэтому создание собственного приложения оправдано для той категории бизнеса, которая крепко стоит на ногах и «не почувствует» финансовые траты на разработку. Индикатором создания мобильного приложения служит большая доля клиентов, которые входят в сеть при помощи мобильных телефонов.
Нужно понимать, что мобильное приложение не приносит узнаваемости бренду, а всего лишь помогает удержать в фокусе своих клиентов, которые постоянно со «смартфонами в руках».
Многочисленные исследования показали, что мобильное приложение необходимо для компаний, которые работают в сфере услуг, в том числе и интернет-магазинам. Ведь в приложении можно организовать не только информативную часть о товаре или услуге, но та кж е и функционал для их заказа и оплаты.
Мы уже вскользь касались еще одной особенности разработки мобильных приложений, а именно цены. Разработка такого софта — не дешевое удовольствие, поэтому нужно быть к этому готовым. Да, можно поискать начинающего фрилансера на биржах или вообще воспользоваться бесплатным конструктором. В первом случае — это будет большой риск и никаких гарантий, а во втором — это будет не тот функционал, который будет необходим. Если обратиться в специализированную студию, то там вам дешевую цену никто не обозначит.
Работа с мобильным приложением не заканчивается на этапе разработки. После разработки самого приложения, его нужно будет как-то «продвигать», чтобы оповестить своих клиентов, что оно у вас есть!
Мобильно е приложение не добавляет узнаваемости бизнесу, но реально добавляет кучу баллов к репутации компании, у которой оно есть, при условии, что само приложение удобное и функциональное.
Особенности разработки мобильных приложений теперь регламентируются ГОСТом. Летом 2018-го в РФ был принят законопроект, который устанавливает стандарты качества для мобильных приложений. В законопроекте указано 87 показателей, по которым определяется эффективность, удобство и безопасность любого разрабатываемого софта. Конечно, данный ГОСТ носит рекомендательный, а не обязательный характер для разработчиков, но он есть.
Заключение
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Разработка мобильных приложений: с чего начать
В нашей работе мы проходим все стадии жизненного цикла создания мобильного приложения, и я бы хотел поделиться нашим опытом в этой сфере. Под катом — рассказ об основах мобильной разработки: от выбора платформы до создания, размещения в магазине и последующего мониторинга.
Тенденции
Чем пользуются владельцы мобильных телефонов?
Статистика
За 2012 год в РФ продано порядка 12,6 миллионов смартфонов: Россия считается одной из быстроразвивающихся в этом плане стран.
Если взглянуть на такой же график по всему миру, то увидим, что и тут Android в авангарде с ¾ рынка.
За второй квартал 2012 года по всему миру было продано 104 миллиона телефонов Android — как население довольно крупной страны. Но нас как мобильных разработчиков интересует не только наличие смартфона, но и то, как с ним работают. Существенная доля обладателей устройств на Android пользуется ими как обычными телефонами: SMS, звонки — и все. Они не активируют устройство в Google Play, не скачивают приложения.
Не все люди обзавелись телефонами в 2012 году, поэтому реальное распределение сил среди мобильных операционных систем демонстрирует наша внутренняя статистика. В эту статистику входят Россия и страны СНГ: Украина, Белоруссия, Казахстан, Узбекистан.
Установка приложений
При выборе платформы, под которую будет разрабатываться приложение, важно знать статистику по уже существующим приложениям. Графики исследовательской компании 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. На картинке вы можете посмотреть на реальный тикет в нашем трекере. Он описывает, как существующий пользователь 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, а к внутренним логам обращаться при возникновении вопросов. Наша практика показывает, что такой подход оправдан: периодически наши данные и данные сервисов несколько разнятся. Если вы склонны проверять статистику, используйте разные источники.
Специфика
Заключение
Я постарался рассказать вам о базовых особенностях и подводных камнях мобильной разработки, которые встречались нам на нашем пути. Надеюсь, пост оказалась вам полезным. Если у вас остались вопросы по теме, или вы знаете что-то, что может быть полезно нам, давайте обсудим это в комментариях.