Как создать свое первое мобильное приложение

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

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

Разработка мобильных позволяет создать дополнительный канал для расширения аудитории и привлечения новых потребителей.

Зачем сайту мобильное приложение

Чтобы повысить продажи

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

Чтобы получить конкурентные преимущества

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

Чтобы повысить лояльность клиентов

Через приложение можно не только давать рекламу, но и предоставлять интересные и актуальные материалы, которые будут полезны для пользователей/ проводить акции (накопи 10 кружек коже и получи 11-ую бесплатно и т.д.). Таким образом, у потребителя нет ощущения, что ему навязывают рекламу, он видит только пользу от использования приложения.

Чтобы напрямую работать с целевой аудиторией

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

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

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

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

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

Качества хорошего приложения

  • Уникальная и креативная идея. Нужно зацепить внимание посетителей маркета приложений.
  • Регулярные обновления. Приложение должно развиваться, становиться лучше.
  • Поддержка различных языков, геолокаций, времени и дат.
  • Высокий уровень производительности. Приложение должно выдерживать высокие нагрузки и обладать производительностью.
  • Юзабилити. Это выражается в продуманной до мелочей навигации, интуитивно понятном интерфейсе, привлекательном дизайне.
  • Простота. Не стоит перегружать приложения графикой, сложными видео и прочими «усложнениями». Тогда повышается энергопотребление + гарантирована долгая загрузка.
  • Стресс-тестирование. Даже при воздействии многочисленных негативных факторов должна сохраняться работоспособность ресурса. Желательно наличие функции автоматического сохранения данных.

Как сделать мобильное приложение для сайта

Создание мобильного приложения осуществляется на специальных сервисах, разберем наиболее популярные из них:

  • AppsGeyser . Сервис превращает блоги, сайты, страницы в социальных сетях и видео в приложения для смартфонов, работающих на базе Android и размещает их на Google Play. Функционал сервиса бесплатный, сделать можно сколько угодно приложений. Главные преимущества: быстрая конвертация материалов и контента любых форматов в приложение.
  • The App Builder . Здесь можно создать служебные приложения, которые нужны больше для внутреннего взаимодействия и работы сотрудников, нежели для клиентов и пользователей. С его помощью можно отправлять уведомления, напоминать отдельным сотрудникам о чем-либо, размещать последние новости. Ресурс платный, стоимость рассчитывается индивидуально для каждого запроса.
  • Appsmakerstore . Здесь можно приобрести уже готовые приложения для отраслей бизнеса. Например, для ресторана, магазина одежды, гостиниц и так далее. Готовое приложение может работать на различных смартфонах: Apple iOS, Android, Mobile Web и так далее. Плюс площадки - можно составлять мультиязычные приложения, вносить неограниченное количество изменений в функционирующие приложения + предоставляется безопасный хостинг. Одно приложение здесь обойдется в 49 долларов.
  • iBuildApp . Это русскоязычный аналог, где без навыков и знаний в программировании можно сконструировать отличное приложение, работающие на устройствах Android и компании Apple. Пользователям предлагается три тарифа: «Бизнес» (2400 рублей в месяц), «Безлимитный» (3700 рублей в месяц) и «Корпоративный» (27100 рублей в месяц). Тарифы различаются по количеству приложений, которые можно разработать, а также количеством установок и рядом других критериев.

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

Результаты исследования WapStart показали: 62.5% пользователей совершают онлайн-платежи с мобильных. При этом почти каждый третий пользователь оплачивает что-либо со смартфона несколько раз в месяц.

Мы пообщались с Евгением Малеевым, руководителем отдела электронной коммерции Яндекс.Денег о том, как подключить прием оплаты в мобильном приложении.

Кто может подключить оплату в своем приложении?

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

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

Но многие приложения позволяют купить что-то, что используется самостоятельно: еда с доставкой, услуги такси, транспортные билеты, туры, оплата парковки, билеты в кино, театр, на фестивали, спортивные мероприятия и т.д. В этих случаях для приема оплаты можно использовать готовое платежное решение. У Яндекс.Денег такое готовое решение - Яндекс.Касса. К примеру, через нее проходят платежи в приложении Яндекс.Парковки и Яндекс.Такси.

Как подключить оплату в мобильном через Яндекс.Деньги?

Через Яндекс.Кассу в мобильном приложении можно настроить прием платежей с любых банковских карт и электронных кошельков. Не секрет, что это самые популярные методы онлайн-оплаты не только на десктопе, но и в мобильной среде: по данным MasterCard, среди средств оплаты, которые предпочитают владельцы и разработчики мобильных приложений, 52% занимают карты, а 24% приложений принимают к оплате электронные кошельки.

Чтобы подключить Яндекс.Кассу, разработчику нужно интегрировать наш протокол, скачать SDK c GitHub , и настроить параметры – как именно это сделать, описано в документации, а с любыми вопросами всегда можно обратиться к своему менеджеру в Кассе.

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



Как относятся магазины приложений к такой оплате?

Если это не In-App Purchase, то положительно, ведь для них это способ монетизировать свою услугу, предоставив пользователям самые востребованные методы оплаты (с комиссией значительно ниже, чем в случае с IAP).

Есть ли какие-нибудь технические трудности в реализации такой схемы?

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

Спасибо, хороших вам платежей!

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

Существует следующая приложений согласно их типу:
– общего назначения;
– специального назначения;
– профессионального уровня.

К приложениям общего назначения относятся:
– графические редакторы;
– текстовые редакторы;
– системы для компьютерной верстки;
– системы управления базами данных (СУБД).

К приложениям специального назначения относятся:
– мультимедийные приложения (для создания или редактирования аудио и звука, проигрыватели и т.п.);
– экспертные системы;
– гипертекстовые системы (например, справочные системы и словари);
– системы управления контентом (CMS).

К приложениям профессионального уровня относятся:
– системы автоматизированного проектирования (САПР);
– автоматизированные рабочие места (АРМ);
– автоматизированные системы управления (АСУ);
– автоматизированные системы управления техническим процессом (АСУ ТП);
– биллинговые системы;
– геоинформационные системы;
– системы управления взаимоотношениями с клиентами (CRM).

По сфере применения приложения подразделяются на программное обеспечение:
– организаций и предприятий, а также их отдельных подразделений;
– инфраструктуры предприятий (серверы электронной почты, СУБД и т.п.);
– информационного работника (служат удовлетворению потребностей конкретного пользователя);
– доступа к контенту (например, браузеры, мультимедийные плееры и т.п.);
– образовательное (с их помощью осуществляется тестирование знаний);
– имитационное (симуляция каких-либо систем в научных и образовательных целях, либо для развлечения);
– для работы с медиа (программы , редакторы аудио, и изображений, программы для обработки полиграфии, редакторы HTML и т.п.);
– конструирования и проектирования (используются при разработке программного и аппаратного обеспечения).

Видео по теме

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

Само название «магазин приложений» является не совсем корректным. Трудно представить себе торговую точку, в которой от 30 до 70 процентов наименований товаров раздавалось бы . А мобильные «магазины» именно таковы, разве что «товары» в них нематериальны. Разумеется, оплачивать для скачивания программ доступ в интернет приходится все равно, поэтому лучше выбрать безлимитный тариф.

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

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

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

Программы для некоторых мобильных операционных систем можно скачивать только таким способом. Таковы, например, iOS (магазин для нее называется App Store) и Windows Phone 7 (Windows Phone Marketplace). Другие же платформы позволяют устанавливать приложения и из сторонних источников, но пользоваться магазином все равно заметно удобнее и безопаснее. Примеры таких ОС - Symbian 9 (Nokia Store, в прошлом - Ovi Store) и Android (Google Play, в прошлом - Android Market).

Совет 4: Как скачивать приложения для мобильных телефонов

Основная функция мобильного телефона – возможность отправлять и принимать короткие sms-сообщения, а также совершать телефонные звонки. Сегодня можно значительно расширить этот функционал, если использовать специальные приложения, которые можно загрузить из интернета.

Вам понадобится

  • - мобильный телефон;
  • - компьютер с подключением к сети интернет.

Инструкция

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

Вам же необязательно платить деньги за то, что можно получить бесплатно. Основной набор программ для любого телефона можно найти на сайте, ссылка на который указана в блоке «Дополнительные источники». На загрузившейся странице находится список всех программ с изображениями в формате блога (последние записи отображаются сверху вниз). В левой части находится боковая панель, которая является каталогизатором или своеобразным оглавлением существующих разделов.

Щелкните по нужному архиву и на новой странице выберите модель своего телефона. Если вы не знаете его название, рекомендуется воспользоваться одной из ссылок в верхней части страницы: телефон с поддержкой MIDP 1.0 или телефон с поддержкой MIDP 2.0. В новом окне выберите опцию «Сохранить файл» и укажите папку назначения, к примеру, «Рабочий стол».

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

Государство утвердило предварительный стандарт разработки мобильных приложений , говорится в сообщении Росстандарта , опубликованном на сайте ведомства 10 июля 2018 года. Требования носят рекомендательный характер, но, по словам авторов, должны будут стать «ориентиром при разработке». Подробнее .

2013: PwC о будущем мобильных приложений

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

Отчет PwC по результатам этапа II «Новые технологические возможности» в рамках исследования «Прогноз инновационного развития в области мобильных технологий» (Mobile Innovations Forecast (MIF) Phase II: New technological capabilities) наглядно демонстрирует, каким образом будут меняться впечатления пользователей с появлением мобильных технологий следующего поколения.

«Мы вступаем в новую, динамичную фазу развития мобильных технологий, знаменующую переход от ограниченного набора информационных и вычислительных функций к интеллектуальному анализу и рационализации физической, виртуальной и социальной среды пользователей устройств, – отмечает Раман Читкара, руководитель международной практики по оказанию услуг компаниям технологического сектора PwC. – В скором времени мобильные устройства будут способны анализировать и предугадывать человеческие потребности, используя платформы, которые задействуют пользователя, опираясь на информацию, полученную из многочисленных источников. Главная цель этого процесса – создание еще более интуитивных мобильных устройств».

Как отмечается в отчете PwC, контекстуальный интеллект в мобильных вычислениях сможет получать ситуационную информацию из трех основных источников, включая:

1) данные об устройстве (например, источник питания, операционная система, хранение данных и т.п.);

2) данные о физической среде (местонахождение, погода и т.д.);

3) данные о пользователе (ID, приложения, хранящаяся информация и т.д.).

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

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

2000-е: Эпоха коммуникаторов

К тому времени рынок мобильных устройств сотовой связи стали постепенно завоевывать смартфоны и коммуникаторы. Обладая более широкими возможностями и производительностью, они отличались от обычных мобильных телефонов наличием достаточно развитой операционной системы (Windows Mobile , Symbian OS , RIM , Android , Mac OS), которая является открытой для разработки программного обеспечения сторонними разработчиками, в отличие от программной среды обычных мобильных телефонов, которая закрыта для сторонних разработчиков. При этом стоит отметить, что установка дополнительных приложений позволяет значительно улучшить функциональность смартфонов и коммуникаторов по сравнению с обычными мобильными телефонами. Но, заметим, что каждая конкретная операционная система требует установки соответствующих именно ей приложений, то есть созданных специально для той или иной ОС программ. Например, программу-органайзер созданную для Windows Mobile нельзя установить на ОС Simbian, применяемую в смартфонах Nokia Corporation , или Mac OS (Mobile Touch version) для телефона iPhone от компании Apple .

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

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

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

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

Специализированные приложения функциональнее, они более рационально использует ресурсы процессора, чем J2ME -программы, основанные на множестве Java -платформ, предназначенных для работы в устройствах с ограниченными ресурсами (ограниченная вычислительная мощность, ограниченный объем памяти, малый размер дисплея, питание от портативной батареи, а также низкоскоростные и недостаточно надежные коммуникационные возможности). Поэтому смартфоны пользуются популярностью среди разработчиков программного обеспечения и энтузиастов.

1990-е: Эпоха мобильных телефонов

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

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

С появлением возможности обмена короткими текстовыми сообщениями (SMS ) в телефон добавилась еще одно приложение, позволяющее писать, редактировать, отправлять небольшие электронные тексты.

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

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

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

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

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

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

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

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

Что же касается платных мобильных приложений, то они, наоборот, предлагают пользователю расширенные функциональные возможности для каждого отдельного программного продукта. Например, альтернативный пользовательский интерфейс SPB Mobile Shell для коммуникаторов на базе Windows Mobile предлагает пользователю несколько вариантов управления устройством и его программным обеспечением с помощью одного приложения. Кроме того, разработчики платного мобильного софта, как правило, предлагают возможность обновления ПО.

Бесплатных приложений для Apple и Google не останется

Бесплатная модель распространения приложений для смартфонов очень скоро прекратит существование. Об этом рассказал в июле 2017 года руководитель департамента мобильных разработок Artezio , автор проекта Cost Track Игорь Есипович. По словам эксперта, на место бесплатной и условно-бесплатной модели придет система ежемесячной подписки, которая на данный момент для многих разработчиков становится приоритетной.

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

«Apple серьезно стимулирует разработчиков на внедрение платных подписок. С продажи контента корпорация получает 30%, а с подписки - только 15%, оставляя 85% разработчику против 70% дохода с продажи как в обычном случае», - сказал глава департамента Artezio.

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

«Условно-бесплатная модель, вернее модель freemium и premium, пока гораздо лучше работает, чем все остальные. Например, Clash Royal, Clash of Clans, World of Tanks – эти приложения не продаются, в них предусмотрены только встроенные покупки. Игра Mortal Combat несет в себе не менее раскрученный бренд, чем Ubisoft с Assassin’s Creed, но именно в Mortal Combat встроенные покупки гораздо эффективнее», - отмечает Есипович.

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

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

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

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

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

Например, львиная доля мобильных вирусов писалась для одной из самых распространенных на сегодняшний день программной платформы Symbian OS для смартфонов и коммуникаторов Nokia Corporation . Однако с появлением в 2006 году следующей версии данной платформы риск заражения стал стремиться к нулю. Одним словом, любая операционная система для "мобильников" старается, как можно эффективнее, обезопасить своего пользователя от возможного "заражения".

Однако это вовсе не означает, что вирусов для данных устройств совсем не существует. Так, в 2008 году появился один из немногих мобильных вирусов для Symbian OS 9.1 S60 3rd Edition - программа Sexy View, отличительной особенностью которой было то, что она подписана действительным сертификатом безопасности Symbian. Данный вирус производил SMS -рассылку со ссылкой на себя, а целью вируса был сбор конфиденциальной информации о зараженном устройстве (IMEI и т.д.). К тому же, уже известное по предыдущим версиям программных платформ кроссплатформенное приложение FlexiSpy, крадущее личную информацию абонента, существует и для данной версии ОС.

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

Порталы веб-приложений

Сегодня, помимо независимых инетрнет-площадок для распространения мобильных приложений, собственные подобные ресурсы создают ведущие производители сотовых телефонов, смартфонов), компания Sony Ericsson (PlayNow arena) и ряд других. Помимо самих приложений, эти онлайн-ресурсы продают также разнообразный мобильный контент (музыку, видео, картинки, электронные книги и т.д.).

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

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

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

▍C. Jasonette Web Container 2.0: взаимодействие приложения и контейнера

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

Реализация: интерактивный Web Container

Задача

Ранее, в первой версии , для того, чтобы использовать веб-контейнер в виде компонента для просмотра данных, сначала нужно было записать "html" в атрибут $jason.body.background.type , а затем, в атрибут $jason.body.background.text , ввести HTML-код.

{ "$jason": { "head": { ... }, "body": { "background": { "type": "html", "text": "

Hello World

" } } } }
Вполне естественно то, что разработчикам удобнее будет инициализировать контейнер, используя обычную ссылку на веб-страницу, вместо того, чтобы вводить весь HTML-код страницы в одну строчку.

Решение

В Web Container 2.0 появился атрибут url . Он поддерживает, в частности, локальные файлы. Благодаря использованию конструкции file://... в контейнере можно вывести файл, который поставляется вместе с приложением.

{ "$jason": { "head": { ... }, "body": { "background": { "type": "html", "url": "file://index.html" } } } }
Аналогично осуществляется и вывод веб-страниц из интернета (с помощью конструкции вида http[s]://…).

{ "$jason": { "head": { ... }, "body": { "background": { "type": "html", "url": "https://news.ycombinator.com" } } } }

▍2. Двустороннее взаимодействие приложения и веб-контейнера

Задача

Ранее веб-контейнеры использовались только для вывода некоего содержимого, они не могли взаимодействовать с основным приложением. Это означало, что следующие сценарии их использования были невозможны:
  1. Воздействие Jasonette на веб-контейнер. А именно, невозможно было вызывать JavaScript-функции, расположенные в контейнере, из Jasonette-приложения.
  2. Воздействие контейнера на Jasonette. Невозможно было вызывать нативные API из кода, расположенного в контейнере.
Веб-контейнер можно было использовать только для вывода страниц. Это похоже на то, как в обычные веб-страницы встраивают элементы iframe , когда страница не может получить доступ к тому, что находится внутри этих элементов.

Решение

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

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


До использования JSON-RPC Jasonette и веб-контейнер взаимодействовать не могли. После внедрения JSON-RPC стала возможна двусторонняя коммуникация основного приложения и контейнера

Для того чтобы получить возможность вызывать JS-функции, находящиеся в веб-контейнере, мы объявляем действие $agent.request .

{ "type": "$agent.request", "options": { "id": "$webcontainer", "method": "login", "params": ["username", "password"] } }
$agent.request - это нативное API, которое инициирует JSON-RPC-запрос к веб-контейнеру. Для того чтобы воспользоваться этим механизмом, нужно передать ему объект options в качестве параметра.

Параметры веб-контейнера заданы в $jason.body.background , в данном случае здесь осуществляется загрузка локального файла file://index.html .

В ходе обращения к контейнеру будет осуществлён поиск функции login , которой, при вызове, благодаря params , будет передано два аргумента - "alice" и "1234" . Выглядеть это будет так:

Login("alice", "1234")
Тут я рассказал лишь о том, как родительское приложение может вызывать JS-функции из веб-контейнера, однако возможен и обратный процесс , когда контейнер обращается к приложению для вызова нативных API. Подробности об этом можно узнать в документации по агентам.

Пример

Обсудим пример приложения для создания QR-кодов, которое вы уже видели выше.


Приложение для создания QR-кодов

▍3. Внедрение скриптов

Задача

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

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

Даже если вы не занимаетесь разработкой веб-браузера, вам может понадобиться использовать внедрение скриптов в том случае, если вам нужно обеспечить необходимое поведение страниц, которыми вы не можете управлять напрямую. Единственный способ взаимодействия мобильного приложения и веб-контейнера заключается в использовании API $agent . Но если вы не можете изменить HTML-содержимое, единственный способ добавления интерфейса $agent в веб-контейнер заключается в динамическом внедрении скриптов.

Решение

Как уже было сказано, веб-контейнер $jason.body.background - это всего лишь агент. Это означает, что при работе с ним можно использовать тот же метод $agent.inject , что и при работе с обычными агентами.


Внедрение JS-кода в страницу, загруженную в веб-контейнер

▍4. Обработка переходов по URL

Ранее веб-контейнер мог обрабатывать щелчки по ссылкам лишь двумя способами, пребывая в одном из двух режимов.
  1. В режиме «только чтение» веб-контейнер рассматривается как элемент только для чтения, при этом все события, такие, как касание или прокрутка, игнорируются. Все веб-контейнеры находятся в состоянии только для чтения до тех пор, пока их не переключат в режим обычного браузера, так, как описано ниже.
  2. В режиме «обычный браузер» веб-контейнер может взаимодействовать со страницей так, как будто мы работаем с обычным браузером. Включить этот режим можно, записав в атрибут action значение "type": "$default" .

Задача

Проблема тут заключается в том, что оба рассмотренных выше варианта - это решения представляющие собой концепцию «всё или ничего».

При работе в режиме «только чтение» контейнер игнорирует все воздействия пользователя.

При работе в режиме «обычный браузер» веб-контейнер работает, в буквальном смысле, как браузер. Когда пользователь касается ссылки, страница, на которую ведёт эта ссылка, загружается. При этом у разработчика нет возможности перехватить это событие и вызвать, например, какое-то нативное API.

Решение

Благодаря возможностям нового веб-контейнера можно задать в $jason.body.background атрибут action , который содержит описание механизма обработки щелчков по ссылкам.


Действие для обработки взаимодействий со ссылками

Рассмотрим пример.

{ "$jason": { "head": { "actions": { "displayBanner": { "type": "$util.banner", "options": { "title": "Clicked", "description": "Link {{$jason.url}} clicked!" } } } }, "body": { "background": { "type": "html", "url": "file://index.html", "action": { "trigger": "displayBanner" } } } } }
Тут мы прикрепили к веб-контейнеру действие "trigger": "displayBanner" . Это означает, что когда пользователь щёлкает по любой ссылке, выводимой на странице, отображаемой в веб-контейнере, будет вызвано действие displayBanner . При этом сам веб-контейнер не будет обрабатывать щелчок по ссылке.

Кроме того, если проанализировать событие displayBanner , можно заметить переменную $jason . В данном случае ссылка, по которой был сделан щелчок, будет передана действию через эту переменную. Например, если щёлкнуть по ссылке, в которой содержится адрес "https://google.com" , в $jason попадёт следующее:

{ "url": "https://google.com" }
Это означает, что анализируя значение $jason.url можно вызывать различные действия.

Рассмотрим ещё один пример, представляющий собой реализацию веб-браузера.

{ "$jason": { "head": { "actions": { "handleLink": [{ "{{#if $jason.url.indexOf("signin") !== -1 }}": { "type": "$href", "options": { "url": "file://key.html" } } }, { "{{#else}}": { "type": "$default" } }] } }, "body": { "background": { "type": "html", "url": "file://index.html", "action": { "trigger": "handleLink" } } } } }
Тут мы проверяем, содержит ли URL строку signin , и, в зависимости от результатов проверки, выполняем различные действия.

  1. Если URL содержит signin , открывается нативное окно для входа в систему.
  2. Если URL этой строки не содержит, выполняется действие, задаваемое параметром "type": "$default" , в результате наша программа ведёт себя как обычный браузер.

Примеры

▍Разработка веб-браузера

Теперь мы можем воспользоваться возможностями нового элемента Web Container для разработки приложений. А именно, речь идёт о следующем:
  1. Возможность стандартной обработки щелчков по ссылкам, что соответствует поведению обычного браузера.
  2. Возможность обрабатывать щелчки по ссылкам, основываясь на их содержимом.
Всё это даёт нам возможность, например, создать собственный браузер, написав буквально полтора десятка строк JSON-кода. Так как теперь мы можем перехватывать щелчки по ссылкам, мы можем анализировать $jason.url и выполнять действия, соответствующие различным URL.

Рассмотрим пример.


Стандартное поведение браузера

Здесь веб-контейнер ведёт себя как обычный браузер ("type": "$default").


Поведение, основанное на анализе параметра $jason.url

Этого можно достичь, обрабатывая различные действия, основываясь на значении $jason.url .

Первым шагом создания подобного приложения служит присоединение к веб-контейнеру действия visit .

{ ... "body": { "background": { "type": "html", "url": "https://news.ycombinator.com", "action": { "trigger": "visit" } } } }
Второй шаг заключается в выполнении в действии visit соответствующей операции, основанной на анализе $jason.url .

Ниже показано, как мы проверяем, содержатся ли в $jason.url строки newest , show , ask , и так далее (они представляют собой ссылки в верхнем меню). Если нечто подобное удаётся найти - мы позволяем веб-контейнеру вести себя как обычный браузер, задавая значение "type": "$default" .

Если соответствия вышеописанному шаблону найти не удалось, мы производим нативный переход $href к новому окну, передавая URL, по которому щёлкнул пользователь, в виде параметра.

... "actions": { "visit": [ { "{{#if /\\/(newest|show|ask)$/.test($jason.url) }}": { "type": "$default" } }, { "{{#else}}": { "type": "$href", "options": { "url": "https://jasonette.github.io/Jasonpedia/webcontainer/agent/hijack.json", "preload": { "background": "#ffffff" }, "options": { "url": "{{$jason.url}}" } } } } ] },
можно посмотреть полный JSON-код этого примера, который, кстати, занимает всего 48 строк.

▍Быстрая разработка «гибридного» приложения

Под «гибридными» приложениями обычно подразумевают обычные веб-приложения, «завёрнутые» в нативные мобильные приложения.

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

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


Гибридное приложение

В этом примере я создал приложение, которое выводит сайт jasonbase.com в веб-контейнере, выступающем в роли основного элемента для визуализации данных.

Jasonbase - это бесплатный хостинг, который я создал специально для размещения JSON-разметки приложений, основанных на Jasonette.

На самом деле, это - обычный сайт, но я встроил его в Jasonette-приложение, в результате, при щелчках по ссылкам, вместо обычной процедуры открытия веб-страницы, вызывается нативный переход $href в нативном же элементе JASON.

Мне не пришлось дорабатывать код Jasonbase.com для того, чтобы создать это приложение. Я просто встроил веб-сайт в Jasonette-приложение в виде веб-контейнера и перехватил щелчки по ссылкам для обработки их нативными средствами, что, в частности, позволило воспользоваться переходами, и, при необходимости, позволит пользоваться и другими возможностями платформы, на котором работает приложение.

Код этого примера можно найти .

Итоги

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

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

  • Встраивание веб-контейнера в нативный макет.
  • Создание JavaScript-моста, позволяющего приложению вызывать функции из контейнера.
  • Создание системы обработки событий, благодаря которой контейнер может обращаться к основному приложению, вызывая нативные API.
Решением этих проблем, в случае с Jasonette, стало создание уровня абстракции, состоящего из следующих основных частей:
  1. Декларативный язык разметки, который служит для описания того, как именно веб-контейнер должен быть встроен в нативное приложение.
  2. Коммуникационный протокол (JSON-RPC), который, крайне просто, позволяет организовать взаимодействие между родительским приложением и веб-контейнером.
Не берусь говорить о том, что это - решение всех проблем, но я с удовольствием отмечаю, что то, о чём я тут рассказал, очень пригодилось мне.

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

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

Теперь мне хотелось бы сделать одно важное, на мой взгляд, замечание: «Большая сила - это большая ответственность». Возможности, которые обрёл проект Jasonette, огромны, поэтому, полагаю, разработчикам, пользующимся этим фреймворком, нужно помнить о балансе возможностей мобильных платформ и HTML, позволяющем создавать приложения, с которыми будет удобно и приятно работать.

Кто-то может взять Jasonette и создать приложение, основанное исключительно на веб-контейнерах. Такое «приложение» правильнее будет называть «веб-сайтом». Подобный подход ставит под вопрос необходимость создания выделенного приложения.

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

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

Уважаемые читатели! Планируете ли вы использовать Jasonette для разработки кросс-платформенных мобильных приложений?

Теги: Добавить метки

 
Статьи по теме:
Как установить
Этот материал посвящён установке операционных систем семейства Windows с USB флешки. Многие скептики до сих пор утверждают что это невозможно, а если и вохзможно то очень трудно, однако само существование этого материала доказывает обратное. Установка Win
Как поменять Тему в Firefox Фаерфокс темы оформления
Темы для Мозилы. Где скачать и как установить. Есть разные способы смены внешнего вида браузера. Расскажу о двух из них. Бесплатные темы для Mozilla Firefox Тема оформления сменит полностью дизайн Вашего браузера. Делается это очень просто. Достаточно
Условные конструкции в PHP
Как и в других языках программирования, в PHP существуют операторы выбора. Всего их три вида: условный оператор if...else ; переключатель switch ; условная операция (? ); Стоит отметить, что в PHP отсутствует безусловный переход по метке goto , но несмо
Русский посткроссинг: ошибка природы Что такое «погашенная марка» на открытке
Каждый культурный человек желает узнать что-то новое о мире, о людях, живущих в других странах, о культурных традициях разных уголков нашей прекрасной планеты, об обычаях, о еде, о природе и многом другом. Сегодня, чтобы удовлетворить свое любопытство и п