Как создать приложение для play market. Сделать приложение своими руками: мобильные конструкторы и их возможности

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

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

Не столько важно то, насколько хорошо вы подкованы в программировании, так как если вы сумеете овладеть набором разработки ПО для Android (SDK), то ваши приложения будут получаться просто превосходными. Итак, ознакомьтесь с представленными ниже материалами, чтобы влиться в процесс.

Java Development Kit

Первое, что вам понадобится, чтобы начать разработку java-приложений (основа Android-приложений), это Java Development Kit (JDK) от Oracle, который можно скачать по следующей ссылке.

Вероятно, вы в какой-то форме уже скачивали и устанавливали Java Runtime Environment (JRE), необходимую для запуская апплетов на вашем компьютере. Вам нужно удалить версию JRE, которая на данный момент установлена на вашем компьютере в случае, если она конфликтует с версией JDK, которую вы скачиваете. К счастью, вышеприведенная версия включает в себя последнюю и лучшую версию JRE, которая точно будет совместима с JDK, что исключает необходимость переустанавливать её.

Скачайте и запустите установщик, убедитесь, что ‘Development Tools’, ‘Source Code’ и ‘Public JRE’ включены в установку в окне ручной установки (можно увидеть ниже). Нажмите ‘Next’, прочтите условия лицензионного соглашения, если у вас есть достаточно свободного времени, и приступайте к установке.

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

Если вы используете Windows, пройдите в настройки системы из панели управления и выберите расширенные настройки системы. Здесь выберите ‘Environment Variables’ и найдите переменную ‘Path’. Добавьте пусть до файла в виде каталога ‘bin’ до вашей установки Java, как показано на примере ниже.

Чтобы проверить, все ли прошло успешно, используйте команды ‘java -version’ и ‘javac -version’. У вас должно отобразиться нечто следующее:



Установка IDE

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

Хотя в интернете существует множество IDE, здесь мы будем использовать бесплатное ПО Eclipse, так как Google предоставляет плагин для интеграции его с Android SDK. Скачать необходимую версию Eclipse можно .

Здесь все может отличаться от случая к случаю, но когда я скачивал ресурс, ПО было предоставлено в виде zip-архиве, который содержал файл ‘eclipse.exe’, работу с которым можно было начать без каких-либо установок. Если ваша версия требует установки, то самостоятельно произведите ее, так как здесь нет каких-то особенных требований и настроек. При первом запуске, ПО запросит у вас указать ‘Workbench’, где расположены ваши коды и сопутствующие файлы. Укажите удобное вам расположение.

Как только завершите, перед вами будет отображено следующее:

Если вам хочется немного ознакомиться с Eclipse перед работой, то откройте окошко Help, и просмотрите руководство Workbench User Guide. Здесь также можно видеть руководство Development User Guide, которое поможет вам освоить базовый навык работы с Java, если вы до сих пор не знакомы с этим языком.

Скачиваем Android SDK

Пройдите по этой ссылке и нажмите ‘Get the SDK’. На следующей странице вам будет предложена ссылка для установки Android SDK на ваш компьютер.

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

Когда установка будет завершена, откройте Android SDK Manager, и тогда перед вами окажется следующее окошко:

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

Устанавливаем плагин Android Development Tools

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

В Eclipse пройдите в ‘Help’ и выберите ‘Install New Software’. Нажмите кнопку ‘Add’, и тогда вы будете перемещены к окошку, которое позволит вам добавить онлайн-репозиторий ПО, содержащий плагин ADT. Задайте описательное название, и введите следующий URL в блок ‘Location’:

  • http://dl-ssl.google.com/android/eclipse

Нажмите ‘OK’. Выберите только что добавленный репозиторий и установите галочку ‘Developer Tools’.

Нажмите ‘Next’ , и пройдите по этапам установки файлов плагина. После завершения, в вашей панели управления Eclipse должны появиться следующие 2 иконки:

Теперь пройдите в ‘Window’ и ‘Preferences’, выберите раздел ‘Android’ и убедитесь, что SDK Location совпадает с SDK directory, которую вы указали ранее. В результате у вас должно получиться следующее:

Теперь вы являетесь владельцем плагина Android Development Tools.

Настраиваем эмулятор Android

Хотя это и помогает, на самом деле вам не обязательно иметь под рукой все модели Android-устройств, чтобы создавать под них приложения, так как Google снабжает нас отличным эмулятором собственной мобильной ОС вместе с SDK. Перед тем, как начать разработку, нам желательно настроить Android Virtual Device (AVD), чтобы платформа для тестирования была готова заранее.

Теперь нам нужно создать новое виртуальное устройство. Данный пример подразумевает создание общего устройства, но существуют также ресурсы для конкретных настроек под Android-устройства. Выберите ‘New’, и перед вами окажется пустое окошко, приведенное ниже:

  • Name: если вы хотите тестировать приложение на нескольких настройках устройств, то вам нужно будет ввести нечто описательное. С другой стороны, также можно использовать и более обобщенное название.
  • Target: это версия Android, на которую будет направлен эмулятор. В большинстве случаев, вашей опцией будет последняя версия Android, которая вместе с устанавливаемым SDK. Тем не менее, если вы хотите провести тестирование на более ранних версиях (что было бы довольно мудро, учитывая столь огромное множество различных версий и моделей), тогда воспользуйтесь SDK manager, чтобы установить дополнительные версии.
  • SD card: указатель дополнительного дискового пространства, которое будет использоваться в устройстве. По умолчанию, виртуальное устройство имеет 194 мегабайта «внутренней» памяти и SD-карту, поэтому вам нужно будет вручную указать необходимое значение объема дискового пространства.
  • Skin: вы можете использовать эту опцию для установки внешнего вида и конфигураций конкретного устройства (HTC One X, к примеру). Но в нашем случае мы используем стандартное значение.
  • Hardware: так как среди физических устройств на базе Android существуют существенные различия с точки зрения аппаратного оснащения, вы можете использовать эту опцию, чтобы добавлять любое оснащение, которое будет использоваться вашим приложением.

По завершеии окошко AVD Manager должно включать в себя ваше только что созданное устройство. Вы можете нажать ‘Start’, чтобы запустить это устройство, только учитывайте, что первый запуск может потребовать времени.



Ваш первый Android-проект

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

Чтобы начать, пройдите в ‘File’, ‘New’, ‘Project’ и раскройте вкладку Android. Выберите там ‘Android Application Project’, и перед вами откроется следующее окошко:

Вы можете воспользоваться выпадающими меню возле каждого поля, чтобы выбрать соответствующее значение. Главное, что следует учитывать, это ‘Application Name’, которое отвечает за название нашего приложение при установке, а также ‘Minimum Required SDK’, при помощи которого вы указываете самую раннюю версию Android, поддерживающую ваше приложение.

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

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

Когда вы определились с этими окнами, нажмите ‘Finish’. Eclipse соберет все необходимые для приложения файлы вместе, в которые вы будете вписывать код и/или изменять настройки для указания параметров вашей программы.

И на этом все! Все готово к тому, чтобы собрать готовое приложение. В Google можно найти полноценные руководства о том, как заниматься разработкой Android-приложений (для тех, у кого есть опыт в программировании). Всем, кто собирается заниматься Java-программированием, также следует сначала ознакомиться с руководствами вроде того, что нам предоставила компания Oracle.

Операционная система Android получила широчайшее распространение – по состоянию на конец 2015-го года, на ней работает более 80% мобильных устройства, а графики показывают неуклонный рост. Не угасает интерес и к мобильным приложениям, судя по количеству новинок в Playmarket’е. Как создать приложение для Android самостоятельно? Нужно ли быть для этого настоящим программистом? Об этом мы поговорим в нашей статье.

Профессиональный подход к программированию на Android

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

  • Книги по программированию;
  • Среда для разработки (включает в себя множество программ и плагинов);
  • Дополнительные мануалы по программированию под Android OS;
  • Знания в построении алгоритмов.

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

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

Конструкторы приложений для Android

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

  • Новостные приложения;
  • Каталоги кулинарных рецептов;
  • Мобильные блоги;
  • Интернет-магазины;
  • Приложения для заказа услуг;
  • Фото- и видеогалереи;
  • Текстовые приложения и многое другое.

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

Конструктор App2b

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

Как и многие другие инструменты для бизнеса, конструктор App2b является платным . На выбор пользователей и разработчиков представлен единственный вариант оплаты — 9900 рублей за одно приложение единоразово. В оплату входят доступ ко всем указанным возможностям, техническая поддержка, инструменты для продвижения, а также размещение приложений в Playmarket.

Справедливости ради стоит отметить, что этот конструктор умеет создавать приложения не только для Android, но и для смартфонов iPhone (с последующей публикацией в AppStore).

Конструктор Appsmakerstore

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

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

Ежедневно миллионы людей запускают на своих смартфонах мобильные приложения - это целая культура, развивающаяся в бешеном темпе. Разработчики этих приложений - новые романтические герои, люди, способные в одночасье стать миллиардерами, как создатели Instagram, имея под рукой несколько компьютеров и хорошую идею. Их нигде этому не учат, и в этом они чувствуют своё преимущество и уникальность - всё зависит от тебя самого. Ты берёшь и пишешь программу, и если она работает - значит ты всё сделал верно, если нет - твоё место в топе Apple Store займёт кто-то другой. Главное тут - скорость. Совершенно не обязательно пять лет сидеть за партой, чтобы начать программировать. Это как раз тот случай, когда всё зависит от желания и практики. С чего же всё-таки стоит начать разработку мобильных приложений, Look At Me обсудил с опытными девелоперами.

Мэтт Томпсон о том,
что лучшие программисты - самоучки

Мэтт Томпсон

разработчик и дизайнер в Heroku, автор блога про Objective-C и Cocoa NSHipster.com , автор многих Open Source проектов, например AFNetworking, который использовали хотя бы раз все iOS разработчики

Лучший и единственный способ стать мобильным разработчиком - начать разрабатывать! Правда, сейчас в интернете столько вспомогательных ресурсов, что освоить профессию просто, как никогда раньше. Никто, кроме вас самих, не научит вас программировать. Просто прочтите туториал в книге или в Сети и начните создавать интересующее вас приложение, начните с самого простого. Или я бы рекомендовал вообще начать с веб-разработки: HTML и CSS или jQuery, если вас тянет к приключениям.

Некоторые стремятся обязательно пройти школу программирования, но я не раз убеждался, что лучшие разработчики - самоучки, причём с разноплановым бэкграундом. Чёрт возьми, да я сам бросил курс Computer Science в университете, чтобы изучать философию! Хорошим программистом двигает страсть к поиску решений проблемы. Если в вас есть эта страсть - у вас всё получится.

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

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

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

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

Сергей Шаповалов

разработчик приложений для iOS и OS X, кандидат физико-математических наук, cоздатель приложений Qik, Auto-Assistant, Moow и др., в настоящее время живёт и работает в Кремниевой Долине, США

Современные языки программирования, используемые для написания приложений под мобильные устройства, довольно просты. Освоить азы и написать своё первое приложение за месяц нетрудно. Можно начать штамповать простенькие игрушки, стандартные безликие бизнес-приложения и т. д., даже получать какую-то прибыль с их продаж. Примеров таких разработчиков и таких приложений море: и в App Store, и в Google Play таких программ, наверное, 9 из 10. Но я бы посоветовал начинающему разработчику начать совсем с другого.

Чтобы сделать что-то своё, особое и неповторимое, по-настоящему оригинальное, нужен хороший фундамент. Надо изучать computer science, классические алгоритмы, структуры данных, знать, что такое быстрая сортировка и за какое время она работает, как устроены хэш-таблицы и многое другое. Нужно хорошо усвоить базовые понятия, используемые в программировании на любом языке под любое устройство: процессы и потоки, управление памятью, указатели, параллельные вычисления. Знать назубок C++ (пригодится, и ох как неправы те, кто отправляет его на свалку истории). Понимать и уметь применять на практике design patterns (шаблоны проектирования). Знать, что такое клиент-серверная архитектура и как правильно организовать взаимодействие клиента с сервером в условиях ненадёжного канала связи с помехами. В качестве факультатива почитать что-нибудь про шифрование, защиту данных, сетевые протоколы и ядро Unix.

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

.

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

Третья составляющая - маркетинг. Надо уметь чувствовать рынок, понимать, что окажется востребованным, а что будет никому не нужно. Это совсем не то же самое, что «следить за мировыми тенденциями». Есть изречение великого хоккеиста Уэйна Гретцки, которое очень любил повторять Стив Джобс: «Я мчусь туда, где шайба будет, а не туда, где она была». Вот именно это умение - понять, где на рынке есть новая ниша, которая пока никем не занята, но которую можно заполнить своей разработкой, - в сочетании с первыми двумя требованиями и приводит к успеху.

Нигде в мире нет такого места, где заплатив за курс обучения, вы сможете быть на 100% уверены, что станете успешным создателем мобильных приложений. Есть университеты, где хорошо учат computer science, и в смысле базового образования в России в некоторых местах до сих пор держат планку: МГУ им. Ломоносова, МФТИ, МГТУ им. Баумана, МЭИ и в некоторых других. Классикой жанра в части программирования (конкретно под мобильные платформы) считается курс лекций Стэнфордского университета (США). Конечно, всё то же самое можно узнать из книг и интернета, но, уверен, грамотно построенный курс позволяет достичь цели намного быстрее, спрямляя к ней путь. Но в любом случае самостоятельная работа по самосовершенствованию необходима.

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

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

Куда ходить

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

Приветствую вас, уважаемые любители операционной системы Андроид (Android). В сегодняшней статье я постараюсь максимально полно осветить очень интересную тему – подборку инструментов для создания своего приложения (онлайн) для гаджетов на базе, популярной, операционной системы Android.

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

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

Все инструменты отбирались по следующим критериям :

  • Удобство использования . Так как пользоваться таким инструментом будут, в основном, люди не знакомые с программированием и сложными элементами, то главный упор, в этой небольшой подборке, был сделан на удобство и простоту использования предложенных инструментов;
  • Интуитивно понятный интерфейс . Этот пункт и условие логически вытекает из предыдущего. Помимо того, что интерфейс инструмента создания приложений для ОС Андроид (Android) должен быть простым, он еще должен быть интуитивно-понятным;
  • Возможности . Чем больше различных вещей “умеет” делать инструмент – тем лучше. По сути, все представленные приложения имеют один и тот же набор инструментов, с небольшими различиями и изменениями.

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

TheAppBuilder

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

  • Большой выбор шаблонов для создания вашего Андроид (Android) приложений. Если вы хотите сделать простую программку, то из предложенных вариантов шаблонов вы без труда подберете нужный;
  • Возможность просматривать подробную статистику по созданному вами приложению;
  • Простая и понятная публикация, созданного вами, приложения в Google Play.

AppsGeyser


Еще один хороший, качественный инструмент заслуживающий пристального внимания. Как я уже говорил выше, чтобы создать )) вам не понадобится уметь программировать под Андроид (Android), в данной программе все настолько просто, что создать приложение для своего проекта вы сможете за несколько минут, просто собрав его из частей “конструктора”. Ниже, вы можете ознакомиться с возможностями предложенного инструмента :

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

AppsMakerstore




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

  • Возможность работать с конструктором в режиме онлайн;
  • Есть возможность зарегистрировать бесплатный аккаунт;
  • Большой архив шаблонов для вашего Android (Андроид) приложения, написать необходимое приложение сможете в два клика мышкой.

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

Поделиться: