Как разрабатывать приложения для android. Создание простого пользовательского интерфейса

Операционная система 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.

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

Что такое конструктор мобильных приложений?

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

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

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

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

Есть два типа приложений, которые умеют создавать эти платформы:

  • Гибридные (PWA). Это, фактически, приложения под веб, адаптированные по экран мобильного устройства. Они открываются на смартфоне при помощи браузера.
  • Нативные . Это, собственно, приложения, которые устанавливаются в операционную систему мобильного устройства. Нативные приложения наиболее удобны для пользователя и выгодны для предпринимателя.

Создание приложения само по себе может быть бесплатным, зато потом у вас есть два пути. Во-первых, вы можете купить у сервиса его исходники и самостоятельно поддерживать их и распространять приложение. Кроме того, вы можете купить платную подписку, и тогда команда сайта сама опубликует приложение в App Store/Google Play и будет поддерживать его за вас.

Помимо платы за поддержку, вам также придется купить аккаунт в App Store или Google Play, который стоит $99 и $25 соответственно. Чтобы окупить ваши затраты, у многих платформ есть программы лояльности, которые позволяют вам не только сделать приложение, но и зарабатывать на нем — например, подключив рекламу.

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

iBuildApp

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


iBuildApp

Сервис предлагает три тарифа поддержки: Бизнес (2400 р./год, 1 приложение, 500 установок готового приложения), Безлимитный (3700 р./год, 1 приложение, неограниченное число установок) и Корпоративный (27100 р./год, 10 приложений, неограниченное число установок).

Apps Globus

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


Apps Globus

Сайт работает в том числе и по модели «получи исходники и поддерживай сам». У него есть база знаний по разработке, поддержке и публикации приложений, а также форум. Доступно три тарифа: Start (550 р./мес., без исходных кодов, публикация только в Google Play), Studio (950 р./мес., исходные коды клиентской части и публикация в обоих магазинах), Nwicode (19900 единоразово, полные исходники, публикация в обоих магазинах и поддержка в течение года). Во всех трех случаях вы также получаете PWA-приложение.

Mo-Apps

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


Mo-Apps

Создание мобильного приложения бесплатно, но нужно платить за поддержку. Есть тарифы за 50 долларов в месяц и 480 долларов в год. Также доступны программы лояльности: подключение стоит 100 USD в месяц или 500 USD единоразово. Кроме того, доступен ряд дополнительных услуг, вроде платной поддержки приложения разработчиками сервиса.

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

  • Buildfire — конструктор мобильных приложений с огромной библиотекой готовой функциональности, но достаточно дорогой поддержкой (от $50 в год);
  • Goodbarber — конструктор мобильных приложений с потрясающе красивыми шаблонами, позволяющий создавать дизайн, близкий к профессиональному;
  • AppyPie — платформа-генератор, способная сделать приложение на базе вашего сайта.

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

Приходя в голову всем – опытным дизайнерам, студентам или владельцам малого бизнеса, не написавшим и строчки кода. Если у вас есть прекрасная идея, то как ее реализовать, если вы не понимаете разницы между Java и Javascript, или Photoshop и Illustrator?

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

  • Пол Ферро, президент 5 Nerds Software Development , агентства дизайна и разработки с полным набором услуг, начиная от брендинга и дизайна и заканчивая разработкой приложения с нуля.
  • Андрес Макс, основатель Ideaware , агентства, специализирующегося на продуктовой стратегии, UX/UI дизайне и фронте-энд оптимизации. До основания студии, Макс был ведущим UX дизайнером в Mashable.
  • Даниэль Хинди – Chief Technology Officer в BuildFire , платформе для создания мобильных приложений, которую использует более 50,000 компаний. Даже если вы не знаете как создавать мобильные приложения, при помощи WYSIWYG редактора BuildFire вы все равно можете сделать профессиональное приложение.

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

1. Мозговой штурм

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

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

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

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

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

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

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

Донесите свою идею до максимального количества людей, чтобы узнать их мнение о ней. Вот совет эксперта: когда вы представляете свою идею другим (друзьям или родственникам), расскажите им, что вы знаете кого-то с этой идеей и хотите инвестировать в нее. Затем объясните саму идею. Ваши слушатели будут гораздо более честными зная, что идея не ваша и что вы можете потерять ваши деньги, инвестируя в не столь и хорошее приложение. Спросите – будут ли они его использовать? Если будут, то почему? Если не будут, то почему?

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

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

3. Даже если вы не можете сделать мобильное приложение, вы можете сделать отличный прототип

Андрес Макс повторяет еще раз высказывание про важность проверки идеи на работоспособность и идет дальше: “Я всегда поощрял предпринимателей к тому, чтобы они проводили рыночные исследования. Копните глубоко, чтобы оценить спрос на вашу идею, что работало в прошлом, а что нет, затем, по необходимости, внесите коррективы”. Например, вы можете думать, что у вас восхитительная идея для приложения с фотографиями и только потом узнать, что оно уже сделано и продается. Это не значит, что надо прекращать работать над идеей – это просто информация для вас, которая поможет вам понять, что вы можете сделать лучше.

Один из лучших способов сравнить – это, конечно, сделать прототип . Макс говорит: “После того, как вы отточили идею, создайте и протестируйте прототип. Соберите на его основе всю ценную информацию”. Прототипом может быть просто скетч вашего дизайна, но можно и создать полнофункциональный прототип в каком-либо инструменте, например, в Proto.io. Для этого не требуется навыков в программировании или дизайне.

4. Решите, будете ли вы нанимать студию или разработчика – или научитесь сами разрабатывать.

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

“Изучение того, как создавать приложения, может быть сложной задачей, особенно если у вас нет опыта. Но это возможно. Особенно если ваша идея касается уникальности функций – а не самих технологий. Возьмите, для примера, Flappy Bird. Само приложение чрезвычайно просто. Но идея была уникальной и увлекательной. Теперь посмотрите на Apple Passbook. Идея относительно проста, но технологии, которые позволяют хранить ваши данные в безопасности, обращаться к ним продавцам, завязываться на отпечаток пальца и т.п., относительно сложные.

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

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

Но как набрать эту самую скорость? Вы можете либо пройти (для этого есть множество ресурсов), либо использовать для создания вашего мобильного приложения инструменты, доступные даже новичкам. Один из таких инструментов – BuildFire, объясняет Даниэль Хинди:

“Что если у вас убийственная идея, но вы не знаете, как создавать мобильные приложения? Именно эту проблему мы хотели решить в нашей платформе BuildFire. У нас более 80,000 приложений, их создают как маленькие компании, так и большие корпорации, все они сделаны вообще без или при минимальном знании программирования. Хотя это прекрасно подходит для простых приложений, но отсутствие навыков программирования обычно ограничивает вас тем набором функций, которые предлагает платформа. BuildFire решает эту проблему и скоро мы откроем API для разработчиков, который можно будет добавить в существующие BuildFire приложения.

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

6. Убедитесь, что вы нанимаете правильных людей

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

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

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

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

Пора действовать

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

Итак, вы сделали и выпустили приложение. Не останавливайтесь на достигнутом. Продвигайте его. Говорите о нем. Поделитесь им в социальных сетях – везде! Вам нужно, чтобы о нем говорили. Есть множество способов продвижения вашего приложения и вы должны попробовать их все. Блоги всегда ищут новые приложения, о которых можно рассказать. Свяжитесь с ними. Если ваше приложение - это утилита, выясните, где оно может пригодиться больше всего, и расскажите людям о нем. Что бы вы не делали, вы всегда должны делиться вашим приложением как можно больше.

А как у вас дела? Вы сделали приложение своей мечты? Расскажите нам о нем!

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

Как создать приложение для «Андроид». Основные этапы

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

Первый этап заключается в установке и настройке IDE для операционной системы. Это основное, что надо сделать пользователям, которые хотят постигнуть основы программирования через использование платформы Android. Необходимо сделать несколько простых шагов перед тем, как создать приложение для «Андроид».

Несколько простых действий

  1. Найти ту платформа, которая полностью отвечает вашим требованиям, и скачать ее. После того как программа будет скачана, выполняем ее установку. Следует отметить, что не будет работать, если
  2. Надо скачать приложение Eclipse Classic, выбрав определенную платформу. Например, Windows 64-bit. Для более качественной работы программы в нее устанавливается плагин Android Development Tools. Для этого нужно запустить утилиту, открыть меню Help и нажать на пункте Install New Software. После этого откроется окно, в котором потребуется щелкнуть на кнопке Add. Затем появится еще одно окно, в котором в строке с именем надо будет прописать какое-либо название. В пункте Location потребуется указать ссылку на тот ресурс, на котором находится необходимый плагин. Когда окно будет закрыто, на экране появится надпись Developer Tools. Напротив установите галочку и щелкните по кнопке «Дальше». Когда откроется следующее окно, смело жмите «Дальше», не внося каких-либо изменений. После инсталляции плагина надо щелкнуть по кнопке Finish. Для того чтобы произошла активация, перезапустите программу.
  3. Загрузить программу Android SDK и в случае необходимости обновить на последнюю версию.

Следующий шаг на пути к созданию

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

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

Вы поняли, как создать приложение для «Андроид» и добились этой цели? Теперь проверяем его. Для того чтобы протестировать созданное приложение, стоит воспользоваться виртуальным смартфоном под названием Android Virtual Device. Он поможет отобразить работу своего приложения в наглядной форме на разнообразных моделях мобильного устройства.

Использование программных средств для создания приложения

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

Просто надо обладать фантазией

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

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

Бесплатная программа, позволяющая спроектировать приложение

Программа Ibuildapp по праву считается отличным инструментом, который поможет создать интересные приложения для «Андроид». Для того чтобы начать работать в данной программе, не надо изучать языки программирования или читать специальную литературу в поисках каких-либо знаний. Сервис обладает русскоязычной версией, что значительно упрощает работу с подобным программным обеспечением. Кроме того, использовать его можно совершенно бесплатно. Для этого потребуется только выбрать соответствующий режим эксплуатации. За счет данной утилиты есть возможность создавать разнообразные интересные приложения для «Андроид» и публиковать их на соответствующем ресурсе под названием Google Play. Стоит отметить, что есть и платный режим, однако для начала лучше разобраться в бесплатной версии, а только потом переходить на платную.

Реализуем задуманное при помощи известной утилиты

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

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

Интуитивно понятный интерфейс - работаем с удовольствием

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

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

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

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

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



Статьи по теме