Как сделать приложение для Android самостоятельно. Разработка и создание мобильных приложений: с чего начать? Как легально создать приложение

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

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

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

RAD Studio

Новая версия RAD Studio под названием Berlin — это полноценный инструмент разработки кроссплатформенных приложений, в том числе и мобильных программ, на языках Object Pascal и C++. Его главное преимущество перед другими аналогичными программными средами состоит в том, что он позволяет очень быстро вести разработку за счет использования облачных сервисов. Новые наработки этой среды позволяют в режиме реального времени видеть результат выполнения программы и все процессы, происходящие в приложении, что позволяет говорить о точности разработки.

Здесь можно гибко переключаться с одной платформы на другую или на серверные хранилища. Минус RAD Studio Berlin — это платная лицензия. Но при регистрации можно получить бесплатную триал-версию продукта на 30 дней. Интерфейс — английский.

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

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

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

Путь к программным разработкам непрост, но если интересует, как и 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 и для "Андроид". Какой из них в конечном счете выбрать, решает пользователь.

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

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

Идея

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

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

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

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

Типы приложений

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

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

Варианты монетизации

Если вы не Евросеть или Мегафон, не интернет-портал AliExpress, то вы возможно захотите заработать на создании вашего приложения.

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

  1. Что представляет из себя ваше предложение, какую пользу оно приносит людям?
  2. Какими преимуществами обладает по сравнению с конкурентами?
  3. Сколько скачиваний у конкурентов?

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

Другие варианты монетизации:

  • встроенные покупки;
  • реклама в приложении;
  • спонсорство и офферы;

Разработка

У вас есть идея, но нет никакого опыта в программировании, тогда для вас следующие варианты:

  • сайт AppBooker выдаст вам список популярных разработчиков, с учетом вашего бюджета и потребностей;
  • apps4all.ru — здесь хороший список отечественных разработчиков;
  • самый дешевый вариант — это обратиться на биржу фрилансеров.
Самый дешевый, не значит плохой, но значит более рискованный: вам могут сделать отличное приложение, но вам и может попасться недобросовестный работник.

Стоимость разработки

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

Чтобы узнать примерную стоимость разработки, придуманного вами приложения, можете зайти на сайт howmuchtomakeanpp.com. Полученную цену смело делите на 3 и узнаете стоимость российских производителей. Примеры выполненных приложений и их стоимость можете посмотреть на сайте crew.co.

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

Если вы обладаете хотя бы минимальными навыками программирования, тогда вам в помощь онлайн конструкторы мобильных приложений. В них обращайте внимание на то, для какой системы пишется мобильное приложение, например, для iPhone или Nokia Corporation, Android, Java. Наиболее популярная система — Android. Алгоритм создания мобильного приложения схож с алгоритмом создания сайтов. Но учтите сразу, что если вы желаете создать нечто уникальное в высшей степени, то ваша разработка потребует или денег, или серьезного вложения времени.

Сколько можно заработать?

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

Исследование же, проведенное компанией Giga OM Pro показало что заработок почти половины, опрошенных ими разработчиков мобильных приложений составляет не более 200 долларов в месяц. ? В первую очередь, решите, что будете инвестировать в проект: время или деньги.

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

С помощью онлайн-конструкторов действительно можно сделать работоспособные качественные мобильные приложения. В дальнейшем их стоит рекламировать, публиковать в Google Play и AppStore. Покупки приложений приносят дохода на 25% меньше, чем покупки в самом приложении, - по данным исследования Apple, — но на 30% больше, чем реклама внутри сервиса и другие способы заработка.

С уважением, Настя Чехова

Изучить новый язык и среду разработки - это минимум, что от тебя потребуется, если ты захочешь написать свое первое мобильное приложение. Чтобы с пониманием набросать элементарный 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. Нужно ли говорить, какие перспективы появляются у проекта при поддержке в лице такого гиганта?

«Как бы мне хотелось самому создать игру для Андроида!». Кому из нас это не приходило однажды в голову? Создать своё собственное приложение или игру на андроид без знаний программирования – Реально! Достаточно скачать программу или воспользоваться онлайн-сервисом (конструктором) приложений. Конструкторы бывают платные и бесплатные, а так же с возможностью заработка на рекламе, которая будет показываться в ваших приложениях.

Приложения для создания игр

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

1. Draw Your Game (Нарисуй Свою Игру)

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

  1. Нарисуйте мир своей игры на листе бумаги, используя четыре различных цвета (черный, синий, зеленый и красный).
  2. С помощью приложения сфотографируйте свой рисунок.
  3. Подождите 10 секунд, пока DYG превратит рисунок в игру.
  4. Играйте в свою игру, управляя ее персонажем.
  5. Поделитесь своим творчеством с другими пользователями.

СКАЧАТЬ В GOOGLE PLAY

2. Apper (Создай свою программу)

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

Приложение является бесплатным, но для публикации своего проекта в App Store или Google Play, вам необходимо приобрести платную подписку.

СКАЧАТЬ В GOOGLE PLAY

3. AIDE- IDE for Android Java C++

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

Основные функции:

  • Совместимость с проектами Eclipse.
  • Java / XML и Android SDK.
  • C / C ++ и Android NDK.
  • Java консольные приложения.
  • Синхронизация с Dropbox.

СКАЧАТЬ В GOOGLE PLAY

4. Createrria 2 craft your games

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

Основные возможности:

СКАЧАТЬ В GOOGLE PLAY

5. STRUCKD – 3D Конструктор Игр

Объединяет в себе игровое сообщество и продвинутую площадку, в которой можно создавать уникальный 3D мир и обмениваться своими творениями с другими людьми. На выбор доступны жанры, начиная от гоночных игр и заканчивая Tower Defense и Action Puzzlers.

  • 3D игровой конструктор с drag-and-drop.
  • Коллекция из нескольких тысяч созданных другими пользователями игр.
  • Игровое сообщество: ставьте рекорды и поднимайтесь в турнирной таблице.

СКАЧАТЬ В GOOGLE PLAY

6. Sketch Nation Create

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

СКАЧАТЬ В GOOGLE PLAY

Онлайн конструкторы игр и приложений

Если вы решили попробовать более серьёзную платформу для создания игр и приложений, с дальней публикацией в Google Play и AppStore, то рекомендуем попробовать любой, из представленных ниже, онлайн конструктор для пк.

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

  1. www.appsgeyser.com – Наверное лучший онлайн конструктор на сегодняшний день. Appsgeyser позволяет бесплатно создавать различные виды игр и приложений в неограниченном количестве. После проверки и тестирования своего софта, вы можете свободно и без каких-либо ограничений опубликовать его. Кроме этого вы будете получать 50% дохода от показа рекламы.
  2. www.unity3d.com – одно из крупнейших в мире творческих сообществ - и платформа для разработки игр номер один. С Unity вы сможете создавать любые 2D- и 3D-игры. Процесс разработки будет легким, а результат - глубоко оптимизированным и красивым.
  3. www.c2community.ru – Делай игры без усилий! Construct 2 - это конструктор игр для Android, который позволяет создавать потрясающие игры без программирования и скриптов!
  4. www.russia.ibuildapp.com – Платный конструктор приложений для вашего бизнеса. Позволяет бесплатно создавать приложения для Android или IOS (iPhone и iPad). Созданные с помощью конструктора приложения могут быть не только анимированные, но и дополнены видео и звуком.
  5. www.mobiumapps.com – платное создание мобильного приложения для телефонов iOS (Apple) и Android (Google) в режиме онлайн.
  6. www.viziapps.com – Создание и запуск мобильного приложения в 3 быстрых шага.
  7. www.appmakr.com – сделай своё приложение за 20 минут или воспользуйся готовым шаблоном.
  8. www.theappbuilder.com – бесплатный онлайн-сервис для быстрого создания мобильных приложений для бизнеса.
  9. www.appsmakerstore.com – онлайн-сервис для создания своего приложения в несколько кликов. Создавайте бесплатно свои приложения, публикуйте и зарабатывайте на рекламе за каждые 1000 просмотров.
  10. www.biznessapps.com – Создание приложения для малого бизнеса, с широкими возможностями.

А каким способом удалось создать своё приложение вам? Поделитесь своим мнением, оставив комментарий внизу страницы, возможно ваше сообщение окажется полезным и поможет определиться с выбором другим пользователям.