Disclaimer:
Данная статья представляет собой вольный художественный пересказ-перевод вступления книги "App Savvy
Turning ideas into ipad and iphone apps customers really want "

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

Это правда, что ведущие разработчики живут очень хорошо – ведь наиболее популярные приложения, обычно это игры, такие как Angry Birds или Doodle Jump, получают миллионы скачиваний. Прикинув, что на каждой загрузке вы можете получать по 1 доллару, и посмотрев на колоссальные объемы скачиваний этих приложений, очень легко смотреть на App Store и видеть только пачки денег, которые уплывают мимо вас.


Business Insider: Angry Birds Maker Rovio Reports $200 Million Revenue in 2012 , изображение с techcrunch.com

В этот момент очень легко подумать «А почему не я?», сделать свое приложение - и столкнуться с суровой реальностью, которая обычно сильно отличается от безоблачного существования таких ведущих разработчиков. Как показывает статистика, более половины платных приложений в App Store не набирают даже 1000 скачиваний в год, а это значит, что после вычета комиссии Apple за все свои труды вы получите всего около 700$ - поэтому, на вашем месте, я бы не стал предаваться оптимизму, глядя на поражающие воображение показатели популярных игр.

Значит ли это, что если вы новичок в разработке мобильных приложений – вам лучше сразу отказаться от этой идеи? Не обязательно, но, в любом случае, сначала я предлагаю вам взглянуть правде в глаза и изучить все, что уже есть в App Store – тогда вы поймете, что у вас совсем немного шансов прийти в него и сразу запустить очень популярное приложение. Я не хочу сказать, что это невозможно, но многие успешные iPhone разработчики создали очень много приложений перед тем, как достигнуть своей цели. Главное, что вы получите от запуска вашего первого приложения – это знания и опыт самостоятельной разработки приложений.

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

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

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

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

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

Введение
Стратегия
Глава 1: Оцениваем идею вашего мобильного приложения
Глава 2: Что должно быть в вашем приложении?
Глава 3: От идеи к концепту

Разработка
Глава 4: Поиск команды: вам нужна помощь
Глава 5: Получаем рабочее приложение
Глава 6: Улучшаем приложение перед тем, как добавить его в App Store

Запуск
Глава 7: Готовимся к загрузке приложения в App Store
Глава 8: Строим нашу маркетинговую стратегию
Глава 9: Оцениваем успех и обдумываем будущие разработки

Операционная система 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. Нужно ли говорить, какие перспективы появляются у проекта при поддержке в лице такого гиганта?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    rutaxi.ru

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

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

Приходя в голову всем – опытным дизайнерам, студентам или владельцам малого бизнеса, не написавшим и строчки кода. Если у вас есть прекрасная идея, то как ее реализовать, если вы не понимаете разницы между 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, или создаете приложение с нуля, важно найти подходящего разработчика, говорит Ферро:

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

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

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

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

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

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

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