Как сделать приложение популярным. Как создавать приложения для iOS и Android с нуля полному новичку без навыков программирования

Как разработать прибыльное Мобильное приложение или как попасть точно в цель!

Если есть идея для создания , можно не сомневаться в том, что оно будет работать и даже приносить доход при условии, что ваше мобильное приложение будет неимоверно полезно пользователю. Это может быть оптимизация каждодневных задач или решение проблем пользователя (оплата штрафов ГБДД или предварительная запись на автомойку и т.д.) или решить проблему времяпровождения пользователя в его смартфоне.

Все начинается с идеи

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

Большое количество известных мобильных приложений не были частью интересов создателей. Это игры, которые всегда на высоких позициях рейтинга. Возможно, все уже знают про Minecraft, Templ Run и другие.

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

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

Есть несколько ключевых моментов, которые важно учесть при выдвижении идеи:

  • Оценка возможностей при создании приложения самостоятельно. В простых разработках мобильных приложений, вы сможете сделать простое мобильное приложение самостоятельно.
  • Если у вас мобильное приложение с определенными бизнес процессами или технически сложное мобильное, то вам понадобится разработка с нуля. Если же ваше мобильное приложение будет выполнять функцию интернет магазина, то рекомендуем использовать готовое решение на 1с Битрикс Мобильное приложение. Развернуть его и со временем дорабатывать необходимый функционал. Для этого нужно найти компанию разработчика мобильных приложений.
  • Если же мобильное приложение из B2C сегмента, допустим, как кафе, пиццерия, служба такси, мобильное приложения банка, мобильный интернет клиент банка, мобильное приложение турагенства, то можно использовать уже разработанные готовые мобильные приложения у компаний-разработчиков или найти сайты-конструкторы, на которых можно самому разработать приложение (в этом случае, вы сможете сделать его с простым прямолинейным функционалом).
  • Важно выделить и оценить полезность будущего приложения.
  • Решить, потребуется ли для утилиты ежедневный контроль.
  • Выделить платформы, для которых предназначается будущая мобилка (IOS, Андйройд, Виндовс Фон).

Какие бывают приложения

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

  • Игрушки (завоевала признание у многих пользователей простая красочная «стрелялка» Angry Birds);
  • Ресурсы для путешественников (Как удачный пример TripAdvisor);
  • Социальные сети (В контакте, Одноклассники);
  • Новостные ленты (Известный вариант - РИА Новости);
  • Проекты для меломанов (Яркий пример Spotify);
  • Ресурсы с видео-контентом (Vine);
  • Вспомогательные утилиты (Например, переводчик);
  • Фотосети (Инстаграм) и др.

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

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

  • Распространяемое бесплатно. Подобные программы задействованы в больших корпорациях и позволяют им продвигать ряд товаров и услуг.
  • Бесплатное с использованием рекламы. Данный вид часто встречается в популярных проектах, которые активно взаимодействуют с пользователями.
  • Платная система. Самая доходная из всех. Подобные приложения использует компания Apple, которая зарабатывает на комиссиях (достигают 30%) с продаж.
  • Облегченная (Lite) и профессиональная (Pro) версии. Первая из них бесплатная, но содержит ограниченный функционал, который доступен в полном объеме при покупке Pro-версии.
  • Внутренние покупки. Функционал приложения и новые игровые возможности персонажа постепенно приобретаются пользователями за реальные деньги.

Этап разработки

Когда идея уже есть - это половина успеха.

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

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

Ниже представлены вопросы, которые следует задать разработчикам:

  • Стоимость работы разработчиков за 1 час?
  • Портфолио выполненных проектов?
  • Будут ли заказчику принадлежать права на приложение?
  • Есть ли возможности и опыт, которые позволят воплотить идею?
  • С какими платформами работает?

Сколько стоит разработка приложения

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

Цена может колебаться в пределах 50 000-5 000 000 руб, в зависимости от вида приложения и его возможностей. Это может показаться очень затратным (особенно последняя цифра), но при развитии популярности качественного приложения, прибыль окупит все затраты в несколько раз.

Самые дорогие игры. Они часто являются хитами продаж.

Когда проект уже разработан на некоторой стадии или есть хотя бы макет - цена может значительно снизиться. Еще один вариант уменьшить первоначальные расходы - предложить разработчику процент от прибыли программы. Когда приложение готово, его следует разместить на App Store. Это тоже не бесплатный шаг. Сумма, которую придется отдавать, составляет примерно $100 в год. Размещение на Android Market будет стоить $25.

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

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

Вот некоторые конструкторы:

  • My-apps.com. Предоставляется 10 готовых шаблонов для разработки бизнес-систем (такси, доставка пиццы, интернет-магазин и др.).
  • Net2Share.com. Конструктор полностью бесплатен и создан для приложений Андроид. Действует внутренняя система продвижения. В рамках программы, регулярно проводятся обучающие семинары по особенностям создания мобильных приложений.
  • ibuildapp.com. Конструктор для разработки приложений, работающих на платформах iOS и Android. Согласно русской версии сайта, плата за тариф составит около 500 рублей.
  • MobiumApps.com. Разработан для Android, Apple iOS и Windows Phone. Система платная. Одно приложение может встать в 10 000 рублей за месяц (при безлимитном тарифе), либо 7 рублей при каждой установке.
  • AppsGeyser.com. Дешевый конструктор. Система бесплатная, но переполненная рекламой. Разработан под блоггеров и интернет-издания, доставляющие контент подписчикам.
  • BuildAnApp.com. Конструктор, созданный для BlackBerry, Windows, iOS и Android. Абонентская плата составит около 20 долларов. Генерация осуществляется всего в 6 этапов.
  • ViziApps.com. Система для разработки на Android, Apple iOS и HTML5. Ежемесячный тариф составляет около 100 долларов в месяц. Расходы на публикацию обойдутся около 400 долларов. Сервис хорошо справляется с идеями под бизнес-процессы.

Какую сумму можно заработать на приложении?

Все деньги, получаемые с помощью приложения, напрямую зависят от его популярности. Поэтому, трудно сразу сказать определенную цифру. Компания GigaOM PRO провела исследования, которые показали, что около половины разработчиков зарабатывают примерно $500 каждый месяц и только 4% мобильных приложений приносят миллионы рублей прибыли. Эта сумма очень мала, чтобы жить только на доход от приложения. Заработок прекрасно подойдет тем, кто просто хочет лишь немного подработать.

У гениев, способных воссоздать проект, не уступающий по прибыли Angry Birds есть возможность получать до 100 000 долларов каждый месяц. Чтобы хорошо заработать на приложении, необходимо учесть следующее:

  • Идея и приложение в целом должны вызывать интерес у большой аудитории;
  • Перед началом создания рекомендуется исследовать все существующие хиты;
  • Легче всего заработать на приложениях под IOS;
  • RuTaxi

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

    rutaxi.ru

    Хотите такой же проект или еще круче?

    Напишите об этом нам!

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

Предназначение мобильных приложений

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

Информационные;

Транзакционные;

Коммуникационные;

Мобильные версии компьютерного ПО - редакторы, просмотрщики, браузеры;

Аналитические приложения и планировщики;

Обучающие решения.

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

Информационные приложения

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

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

Транзакционные приложения

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

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

Коммуникационные приложения

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

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

Однако конкурировать они со «Скайпом», «Вконтакте» или Viber, наверное, не смогут. Поэтому на этапе планирования разработки традиционных приложений разработчику следует реально оценивать перспективы выведения своего продукта на рынок.

Мобильные версии компьютерного ПО

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

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

Аналитическое ПО и планировщики

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

Обучающие программы

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

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

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

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

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

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

Блок обратной связи с продавцом или поставщиком;

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

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

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

приложений: инструменты

Изучим теперь ряд практических нюансов разработки рассматриваемых решений. Вопрос о том, как самому создать мобильное приложение, может быть решен с помощью удобных конструкторов, которые на рынке соответствующего ПО представлены в достаточно большом количестве. В частности, можно обратить внимание на такие решения, как: MobiCart, BusinessApps, My-Apps, Net2Share. Все они представлены в формате облачного ПО, и доступ к ним можно получить с любого устройства через интернет. Рассмотрим то, как создать мобильное приложение, задействуя возможности указанных программ, подробнее.

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

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

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

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

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

Интерфейсы для обмена сообщениями, добавление товаров в корзину;

Организацию переговоров между поставщиком и покупателем товара;

Новостной блок.

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

Инструменты разработки приложений: My-Apps

Данный конструктор, в свою очередь, является бесплатным. Задача "как создать мобильное приложение для iPhone или Android с его использованием" может быть решена при задействовании 10 шаблонов, которые адаптированы для обеспечения коммуникаций с потребителями предприятий в широком спектре сфер бизнеса. В числе наиболее примечательных возможностей рассматриваемого сервиса — оперативное опубликование приложения в крупнейших каталогах — App Store и Google Play.

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

Рассматриваемый конструктор — в числе самых удобных решений, позволяющих быстро понять, как создать мобильное приложение для Android самостоятельно. Данный ресурс адаптирован как раз таки для разработки продуктов на соответствующей платформе. Он характеризуется довольно большим набором функций, а также возможностью зарабатывать на создаваемом приложении с помощью сервисов внутренней рекламы. То есть пользователь может, разработав тот или иной продукт, загрузить его на корпоративном аккаунте. Кроме того, самые активные разработчики получают бесплатный профиль в Google Play.

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

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

Как создать приложение для андроид – 10 шагов + 5 сайтов + 10 советов для начинающих программистов.

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

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

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

Шаги к созданию приложения для андроид

Изучив все необходимые шаги, можно создать собственную программу и выставить ее на продажу.

Подумайте над оригинальной темой.

Чтобы приложение хорошо покупалось, нужно сделать его не только удобным и красивым, но и уникальным.
В противном случае у вас будет много конкурентов.

Приготовьтесь к неудаче.

Скорее всего, первый блин выйдет комом.

Внимательно тестируйте результат работы.

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

Выберите возрастную аудиторию.

Приложение для ребенка должно быть более ярким и красочным, чем для взрослого.

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

Одностраничная программа мало кому понравится.

Не назначайте слишком высокую цену за первые работы.

Поначалу нужно набить руку.

Как правильно написать приложение для андроид?


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

Для кого-то это станет работой и прибыльным делом, для других – просто хобби.

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

Чтобы стать разработчиком, нужно:

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

Все описанные этапы можно объединить в три основных:

  1. Разработка интерфейса программы, подбор изображений.
  2. Работа с кодом.
  3. Тестирование.

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

Кто-то может решить, что незачем тратить время на концепцию.

Но ведь никто не садится писать книгу, не зная, о чем она будет?

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

Следует понимать, что нет однозначного ответа на вопрос: как создать приложение для андроид.

Мало просто создать его, нужно сделать программу интересной.

Современные сайты позволяют быстро создать задуманное, не мучаясь с кодом.

Для любителей такой вариант вполне подойдет.

Если же вы хотите , придется делать все самостоятельно.

Этапу тестирования также следует уделить должное внимание.

Анализ мнения тестировщиков позволяет сделать вывод о том, как воспримут новинку владельцы смартфонов на базе андроид.

Как создать приложение для андроид и продвинуть его?

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

Для наиболее быстрого распространения следует:

  1. Использовать перекрестные ссылки с другими владельцами соцсетей и блогов.
  2. Выкладывать ссылки в собственном блоге.
  3. Рассказывать друзьям о созданной программе.

На видео ниже представлен процесс создания приложения с помощью сервиса Appsgeyser:

Многие не знают, как создать приложение для андроид , и боятся фразы «язык программирования».

Однако ничего страшного и сложного в разработке программ нет.

Современные сайты в режиме онлайн выполняют все необходимые действия, нужно лишь задать им направление.

Изучить новый язык и среду разработки - это минимум, что от тебя потребуется, если ты захочешь написать свое первое мобильное приложение. Чтобы с пониманием набросать элементарный todo list для Android или iOS, не передирая пример из книжки, уйдет не меньше пары недель. Но можно не осваивать Objective-C или Java и при этом быстро разрабатывать приложения для смартфонов, если использовать такие технологии, как PhoneGap.

Если ты внимательно изучал нововведения, которые ожидают нас в Windows 8, то, возможно, заметил, что под ней можно будет разрабатывать приложения на HTML5. Идея, на самом деле, не новая - технологии, реализующие тот же подход для мобильных платформ, развиваются семимильными шагами. Одним из таких фреймворков, позволяющим разрабатывать приложения для смартфонов с помощью связки привычных для нас HTML, JavaScript и CSS!, как раз и является PhoneGap. Написанное с его помощью приложение подойдет для всех популярных платформ: iOS, Android, Windows Phone, Blackberry, WebOS, Symbian и Bada. Тебе не нужно будет изучать особенности программирования под каждую платформу (например, Objective-C в случае с iOS), разбираться с различными API и средами разработки. Все, что потребуется для создания кросс-платформенного мобильного приложения, - это знание HTML5 и специального PhoneGap API. При этом на выходе получится не тупая HTML-страница, «обрамленная» в интерфейс приложения, нет! API фреймворка позволяет задействовать практически все возможности телефона, которые используются при разработке с помощью нативных инструментов: доступ к акселерометру, компасу, камере (запись видео и фотосъемка), списку контактов, файловой системе, системе нотификаций (стандартных уведомлений на телефоне), хранилищам и т. д. Наконец, такое приложение может безболезненно обращаться к любому кросс-доменному адресу. Ты можешь воссоздать нативные элементы управления с помощью фреймворков вроде jQuery Mobile или Sencha, и конечная программа будет выглядеть на мобильном телефоне так, как будто она написана на нативном языке (ну или почти так). Лучше всего проиллюстрировать вышесказанное на деле, то есть написать приложение, поэтому предлагаю сразу приступить к практике. Засекай время - на все про все уйдет едва ли больше получаса.

Что мы будем создавать

В качестве целевой платформы возьмем iOS - да-да, деньги лежат в AppStore, и монетизировать свои разработки пока лучше всего там:). Но сразу внесу ясность: все то же самое, без изменений, можно провернуть, скажем, для Android. Долго думал, какой пример рассмотреть, так как писать очередную тулзу для учета списка дел совершенно не хотелось. Поэтому я решил создать приложение под названием «Геонапоминалка», навигационную прогу, назначение которой можно описать одной фразой: «Сообщи мне, когда я снова тут окажусь». В AppStore есть немало утилит, которые позволяют «запомнить» место, где пользователь припарковал машину. Это почти то же самое, только чуть попроще. Ты сможешь указать на карте города точку, задать для нее определенный радиус и запрограммировать сообщение. Когда ты в следующий попадешь в пределы окружности с указанным радиусом, приложение выдаст тебе уведомление, а точка будет удалена. Будем действовать по такому плану: сначала создадим простое веб-приложение, проверим его в браузере, а затем перенесем с помощью PhoneGap на платформу iOS. Очень важно написать в прототипе и протестировать в браузере на компьютере основную часть кода, поскольку отлаживать приложение в телефоне гораздо сложнее. В качестве каркаса мы возьмем JS-фреймворк jQuery c jQuery Mobile (jquerymobile.com), а в качестве движка карт - Google Maps v3. Приложение будет состоять из двух страниц: карты и списка точек.

  • На карте устанавливается маркер твоего текущего положения. По клику на карте создается точка, к которой привязывается сообщение (вроде «машина рядом»). Точку можно удалить, кликнув на ней. Для перемещения маркера человека по карте используется геонавигационный API.
  • На странице со списком точек должна иметься дополнительная кнопка «Удалить все точки», а рядом с каждой точкой - кнопка «Удалить эту точку». Если кликнуть по элементу в списке, соответствующая точка отобразится на карте. Настройки пользователя и список точек будем сохранять в localStorage.

UI-фреймворки

jQuery Mobile - это, конечно, не единственный фреймворк для создания мобильного интерфейса. На сайте PhoneGap приведен огромный список библиотек и фреймворков, которые ты можешь использовать (phonegap.com/tools): Sencha Touch, Impact, Dojo Mobile, Zepto.js и др.

Каркас приложения

Сразу объясняю, зачем мы будем использовать jQuery Mobile. Эта JS-библиотека предоставляет нам уже готовые элементы интерфейса мобильного приложения (максимально приближенные к нативным) для самых разных платформ. Нам ведь надо, чтобы на выходе было именно мобильное приложение, а не страничка из браузера! Так что качаем последнюю версию JQuery Mobile (jquerymobile.com/download) и переносим в рабочую папку первые файлы приложения, которые нам понадобятся:

  • images/ (перенеси сюда все изображения из одноименной папки архива jq-mobile);
  • index.css;
  • index.html;
  • index.js;
  • jquery.js;
  • jquery.mobile.min.css;
  • jquery.mobile.min.js.

Нужно сделать ресурсы в основном локальными, чтобы пользователь в будущем не тратил мобильный интернет. Теперь создаем каркас страниц в файле index.html. Приведенный ниже код описывает верхнюю часть страницы с картой, надписью «Геонапоминалка» и кнопкой «Точки».

Страница с картой

Геонапоминалка

Точки

Атрибут страницы data-dom-cache=»true» необходим для того, чтобы она не выгружалась из памяти. Для кнопки «Точки» используется data-transition=»pop», чтобы страница «Список точек» открывалась с эффектом «Всплытие». Подробнее о том, как устроены страницы jQuery Mobile, можно почитать в хорошем мануале (bit.ly/vtXX3M). По аналогии создаем страницу со списком точек:

Страница со списком точек

Удалить все

Точки

Карта

Для кнопки «Карта» тоже пропишем data-transition=»pop», но добавим атрибут data-direction=»reverse», чтобы страница «Карта» открывалась с эффектом «Затухание». Те же атрибуты пропишем в шаблоне точки. Все, наш каркас готов.

Создание приложения

Теперь надо отобразить карту, для чего мы возьмем стандартный API Google Maps, который используется миллионами разных сайтов:

Var latLng = new gm.LatLng(this.options.lat, this.options.lng); this.map = new gm.Map(element, { zoom: this.options.zoom, // Выбираем начальный зум center: latLng, // Устанавливаем начальный центр mapTypeId: gm.MapTypeId.ROADMAP, // Обычная карта disableDoubleClickZoom: true, // Отключаем автозум по тапу/двойному клику disableDefaultUI: true // Отключаем все элементы интерфейса });

Здесь Gm - это переменная, ссылающаяся на объект Google Maps. Параметры инициализации я хорошо закомментировал в коде. Следующий шаг - отрисовка маркера человечка на карте:

This.person = new gm.Marker({ map: this.map, icon: new gm.MarkerImage(PERSON_SPRITE_URL, new gm.Size(48, 48)) });

В качестве PERSON_SPRITE_URL используется адрес спрайта человечка из Google-панорам. Его статический адрес - maps.gstatic.com/mapfiles/cb/mod_cb_scout/cb_scout_sprite_api_003.png . Пользователь будет добавлять точки, кликая на карте, поэтому, чтобы их отрисовывать, мы будем слушать событие click:

Gm.event.addListener(this.map, "click", function (event) { self.requestMessage(function (err, message) { // Метод, возвращающий текст, введенный пользователем if (err) return; // Метод добавляет точку в список активных и // отрисовывает ее на карте self.addPoint(event.latLng, self.options.radius, message); self.updatePointsList(); // Перерисовываем список точек }); }, false);

Я привожу бОльшую часть кода - остальное ищи на диске. Дальше нам нужно научить приложение перемещать иконку пользователя по карте. В прототипе мы задействуем Geolocation API (тот, который используется в том числе в десктопных браузерах):

If (navigator.geolocation) { // Проверяем, поддерживает ли браузер геолокацию function gpsSuccess(pos) { var lat, lng; if (pos.coords) { lat = pos.coords.latitude; lng = pos.coords.longitude; } else { lat = pos.latitude; lng = pos.longitude; } self.movePerson(new gm.LatLng(lat, lng)); // Перемещаем иконку пользователя } // Каждые три секунды запрашиваем текущее // положение пользователя window.setInterval(function () { // Запрашиваем текущее положение navigator.geolocation.getCurrentPosition(gpsSuccess, $.noop, { enableHighAccuracy: true, maximumAge: 300000 }); }, 3000); }

Метод movePerson с помощью простой процедуры getPointsInBounds() проверяет, не находится ли пользователь в какой-нибудь активной точке. Последний вопрос - где хранить список точек? В HTML5 появилась возможность использовать localStorage, так что не будем ей пренебрегать (предоставляю тебе самостоятельно разобраться с этими участками кода, которые я хорошо закомментировал). Итак, приложение, работающее в браузере, готово!

Запуск веб-приложения

Как я уже говорил, отладку в основном необходимо выполнять на компьютере. Самый подходящий браузер для тестирования веб-приложений на компьютере - это Safari или Chrome. После отладки в этих браузерах ты можешь быть уверен в том, что твое приложение не «поедет» в браузере мобильного телефона. Оба этих браузера совместимы с большинством мобильных веб-браузеров, поскольку точно так же, как и они, построены на основе движка WebKit. После устранения всех багов можно переходить к запуску мобильного веб-приложения непосредственно на телефоне. Для этого настрой свой веб-сервер (пусть даже Denwer или XAMPP), чтобы он отдавал созданную страницу, и открой ее уже в браузере мобильного телефона. Приложение должно выглядеть примерно так, как показано на рисунке. Тут важно понимать, что будущее мобильное приложение, собранное для мобильной платформы с помощью PhoneGap, будет выглядеть почти один в один, за исключением того, что на экране не будет отображаться навигационная панель браузера. Если все хорошо, можно приступать к созданию из странички полноценного iOS-приложения. Заметь, что PhoneGap и IDE для мобильной разработки мы до этого момента даже не трогали.

Подготовка

Для того чтобы собрать приложение под iOS, тебе нужен компьютер с операционной системой Mac OS 10.6+ (или виртуальная машина на Mac OS 10.6), а также среда разработки Xcode с установленным iOS SDK. Если у тебя не установлен SDK, придется скачать с сайта Apple образ диска, включающий в себя Xcode и iOS SDK (developer.apple.com/devcenter/ios/index.action). Имей в виду, что образ весит около 4 Гб. Кроме этого, тебе понадобится зарегистрироваться на сайте Apple в качестве разработчика (если ты не собираешься публиковать свое приложение в AppStore, то это требование можно обойти). С помощью этого набора можно разрабатывать приложения на нативном для iOS языке Objective-C. Но мы решили пойти обходным путем и воспользоваться PhoneGap, поэтому нам еще нужно установить пакет PhoneGap iOS. Просто скачай архив с офсайта (https://github.com/callback/phonegap/zipball/1.2.0), распакуй его и в папке iOS запусти программу установки. Когда установка завершится, в меню проектов Xcode должна появиться иконка PhoneGap. После запуска придется заполнить несколько форм, но уже очень скоро ты увидишь рабочую область IDE с твоим первым приложением. Чтобы проверить, все ли работает, нажми кнопку Run - должен запуститься эмулятор iPhone/iPad с шаблонным приложением PhoneGap. Собранная программа выдаст ошибку с сообщением о том, что index.html не найден, - это нормально. Открой папку, в которой ты сохранил первичные файлы проекта, и найди в ней подпапку www. Перетащи ее в редактор, кликни на иконке приложения в списке слева и в появившемся окне выбери «Create folder references for any added folders». Если запустить программу еще раз, то все должно заработать. Теперь можно скопировать все файлы нашего прототипа в папку www. Пора подпилить наш прототип для работы на смартфоне в обработке PhoneGap.

Перенос прототипа

В первую очередь нужно подключить phonegap-1.2.0.js в твой индексный файл. PhoneGap позволяет ограничивать список доступных для посещения хостов. Предлагаю сразу настроить такой «белый список». В меню проекта открой Supporting Files/PhoneGap.plist, найди пункт ExternalHosts и добавь в него следующие хосты, к которым будет обращаться наше приложение (это сервера Google Maps): *.gstatic.com, *.googleapis.com, maps.google.com. Если их не указать, программа выдаст предупреждение в консоли и карта не отобразится. Для инициализации веб-версии нашего приложения мы использовали событие DOMReady или хелпер jQuery: $(document).ready(). PhoneGap генерирует событие deviceready, которое говорит о том, что мобильное устройство готово. Предлагаю этим воспользоваться:

Document.addEventListener("deviceready", function () { new Notificator($("#map-canvas")); // Если у пользователя нет интернета, // сообщаем ему об этом if (navigator.network.connection.type === Connection.NONE) { navigator.notification.alert("Нет интернет-соединения", $.noop, TITLE); } }, false);
Запретим скроллинг: document.addEventListener("touchmove", function (event) { event.preventDefault(); }, false);

Затем заменим все вызовы alert и confirm на нативные, которые предоставляет нам PhoneGap:

Navigator.notification.confirm("Удалить точку?", function (button_id) { if (button_id === 1) { // Нажата кнопка OK self.removePoint(point); } }, TITLE);

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

Navigator.geolocation.watchPosition(function (position) { self.movePerson(new gm.LatLng(position.coords.latitude, position.coords.longitude)); }, function (error) { navigator.notification.alert("code: " + error.code + "\nmessage: " + error.message, $.noop, TITLE); }, { frequency: 3000 });

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

Запуск на устройстве

Подсоедини iPhone, iPod или iPad к компьютеру, на котором запущен Xcode. Программа определит новое устройство и попросит разрешения использовать его для разработки. Нет смысла ей отказывать:). Повторю еще раз: чтобы запустить написанное приложение на iOS, необходимо быть авторизированным разработчиком iOS (другими словами, быть подписанным на iOS Developer Program). Этим придется заморочиться только в случае разработки приложений для продукции Apple, с другими платформами (Android, Windows Phone) все намного проще. У тех, кто обучается в вузе, есть шанс получить доступ к программе бесплатно благодаря каким-нибудь льготам. Все остальные должны платить $99 в год для участия в программе. Apple выдает сертификат, которым ты сможешь подписывать свой код. Подписанное приложение разрешается запускать на iOS и распространять в App Store. Если ты не студент, а $99 для невинных экспериментов тебе пока жалко, то есть и другой способ - обмануть систему. Ты можешь создать самоподписанный сертификат для верификации кода и запустить мобильную программу на джейлбрейкнутом iOS-устройстве (не буду на этом останавливаться, потому что все максимально подробно расписано в этой статье: bit.ly/tD6xAf). Так или иначе, ты вскоре увидишь работающее приложение на экране своего мобильного телефона. Останавливай секундомер. Сколько времени у тебя на это ушло?

Другие платформы

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

Appcelerator Titanium (www.appcelerator.com).

Titanium умеет собирать приложения в первую очередь под Android и iPhone, но в нем также заявлена поддержка BlackBerry. Кроме самого фреймворка, проект предоставляет набор нативных виджетов и IDE. Ты можешь разрабатывать приложения на Titanium бесплатно, однако за поддержку и дополнительные модули придется заплатить (от $49 в месяц). Цена некоторых сторонних модулей доходит до $120 за год. Разработчики Appcelerator Titanium утверждают, что на основе их фреймфорка написано более 25 тысяч приложений. Исходный код проекта распространяется под лицензией Apache 2.

Corona SDK (www.anscamobile.com/corona).

Эта технология поддерживает основные платформы - iOS и Android. Фреймворк нацелен в основном на разработку игр. Еще бы, ведь разработчики заявляют о высококачественной оптимизации на OpenGL. Бесплатной версии у платформы нет, а цена довольно-таки кусачая: $199 в год за лицензию для одной платформы и $349 в год для iOS и Android. Corona предлагает свою IDE и эмуляторы устройств. Приложения под Corona пишут на языке, похожем на JavaScript.

Заключение

Мы создали простое мобильное веб-приложение и в несколько простых шагов портировали его на платформу iOS с помощью PhoneGap. Мы не написали ни строчки кода на Objective-C, но получили программу приличного качества, потратив минимум времени на перенос и изучение API PhoneGap. Если ты предпочитаешь другую платформу, например Android или Windows Mobile 7, то ты так же легко, без каких-либо изменений под эти платформы, сможешь собрать наше приложение (для каждой из них есть хороший вводный мануал и видеоурок: phonegap.com/start). Чтобы убедиться в состоятельности платформы, можно посмотреть на уже готовые приложения на PhoneGap, которые разработчики технологии собрали в специальной галерее (phonegap.com/apps). По факту PhoneGap - это идеальная платформа для создания как минимум прототипа будущего приложения. Ее главными преимуществами являются быстрота и минимум затратат, чем активно пользуются стартапы, которые во всех отношениях ограничены в ресурсах. Если приложение попрет, а внутренности на HTML+JS тебя по какой-то причине перестанут устраивать, всегда можно будет портировать приложение на нативный язык. Не могу не сказать, что PhoneGap изначально разрабатывался компанией Nitobi как открытый проект (репозиторий располагается на GitHub: github.com/phonegap). Исходники и дальше будут оставаться открытым, хотя в октябре прошлого года компанию Nitobi купил Adobe. Нужно ли говорить, какие перспективы появляются у проекта при поддержке в лице такого гиганта?

Путь к программным разработкам непрост, но если интересует, как и android, то с чего-то начинать нужно. Но, допустим, нет желания изучать языки программирования, а хочется сразу перейти к созданию готового продукта. Возможно ли такое? Да, ещё как! Вот мы и рассмотрим, как полному новичку (или на Android).

Поиск материала

Для создания хорошей игры многие ищут руководства. Они полезны для пошагового обучения и понимания азов, но для сложных проектов этого мало. Так, человек должен обладать навыками решения проблем, которые возникают. А это приходит только с опытом, и руководства, увы, здесь не помогут. Поэтому лучший ответ на вопрос «Как создать приложение для iOS 9 самостоятельно» (или на "Андроид") - это начать над ним работать. А вот как происходит этот процесс, мы давайте и разберёмся.

Выбираем направление

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

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

Обработка событий: главное

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

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

Различные действия

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

Выходим на более сложный уровень

Перед этим этапом человек уже должен понимать и знать, как создать приложение для iOS или "Андроид". Оно предусматривает наличие тщательно проработанной архитектуры, что обуславливает необходимость использования планирования. Так, часто необходимо иметь продвинутую физику (например, распознавать столкновения разных объектов и различных типов поверхностей). Это необходимо для того, чтобы приложения (в данном случае игры) были более реалистичными.

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

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

Работа над искусственным интеллектом

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

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

Используем сеть

Рассматривая вопрос о том, как создавать приложения для iOS или "Андроид", следует сказать, что добавление интернета значительно усложняет поставленную задачу. Так, например, необходимо позаботиться о том, чтобы действия одного игрока передавались другим. Для этого, как правило, используется сервер в качестве посредника. Чем лучше он будет сделан, тем более надёжной будет разработка. Но вместе с этим возрастёт и нагрузка.

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

Вот мы и рассмотрели, как создавать приложения для iOS с нуля. Как видите, для этого нужно много учиться и практиковаться. А можно ли обойтись без этого? Как ни странно, такое вполне реально. Давайте про это и поговорим.

Разработка без изучения программирования

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

В качестве примеров приведем следующие сервисы: AppsGeyser, TheAppBuilder, Appsmakerstore, Biznessapps, My-apps.com, iBuildApp, Viziapps, AppMakr, Mobile Roadie и AppsBuilder. Каждый из них обладает своими уникальными особенностями и функциями.

Также необходимо понимать, что практически все они являются платными. А бесплатные версии не обладают широким функционалом. Если же рассматривать их общую схему, то можно сказать, что они отображают рассмотренную нами ранее идею редакторов уровней. Но в данном случае они являются охватывающими очень широкие рамки. Здесь, отвечая на вопрос о том, как создать приложение для iOS без навыков программирования, нужно ещё и озаботиться тем, что за такую роскошь придётся заплатить, причем немаленькую сумму. Подобные серверы являются зарубежными или ориентированными в первую очередь на заграничных пользователей. Так, цена их услуг будет колебаться от 10 долларов до нескольких сотен за один месяц использования. То есть время - деньги. В данном случае необходимо будет позаботиться о том, чтобы представленные возможности использовались по максимуму.

Функционал сервисов

Вот мы и рассмотрели, как создавать приложения для iOS и "Андроид". Теперь давайте уделим внимание имеющемуся у них функционалу. Если его разделить по категориям, то у нас будет следующее:

  1. Нацеленные на работу с контентом. Такие сервисы помогают собрать информацию с сайта и объединить её в одно приложение. В качестве примера можно привести AppsGeyser. Причем в данном случае можно не только собрать информацию, но и размещать рекламу в приложениях.
  2. Условно-бесплатные сервисы , которые с использованием шаблонов и конструкторов позволяют создавать приложения для спорта, образования, музыки и так далее. Правда, в них будет присутствовать реклама, которую можно отключить за определённую сумму. В случае с TheAppBuilder это обойдётся в 5 долларов США.
  3. Платные сервисы-конструкторы , которые позволяют создавать приложения бизнес-направления. В качестве их функционала предоставляется корзина для товаров, геолокация, размещение информации об имеющихся товарах и услугах, ближайших событиях и акциях и так далее. В качестве примера можно привести упомянутый ранее сервис Biznessapps, но цены на нём кусаются, ведь они начинаются от 29 долларов США.
  4. Создание приложений бесплатное, деньги требуются тогда, когда оно публикуется в магазине (например, в "Гугл Плей Маркете"). В качестве примера можно привести BuildFire. Правда, его особенность в том, что платить здесь нужно только раз в месяц. Сумма в этом случае составляет 49 долларов США.

Как видите, есть два варианта создания приложений для iOS и для "Андроид". Какой из них в конечном счете выбрать, решает пользователь.