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

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

PascalABC.NET – это простая бесплатная среда разработки для языка Паскаль. Именно ее чаще всего используют в школах и университетах для обучения. Эта программа на русском языке позволит вам создавать проекты любой сложности. Редактор кода будет подсказывать и помогать вам, а компилятор — указывать на ошибки. Обладает высокой скоростью выполнения программ.

Преимущество использования языка Паскаль — он представляет собой объектно-ориентированное программирование. ООП гораздо удобнее процедурного программирования, хотя и объемнее.

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

Free Pascal

Фри Паскаль – это кроссплатформенный компилятор, а не среда программирования. С его помощью вы можете проверить программу на правильность написания, а также запустить ее. Но вы не сможете откомпилировать ее в.ехе. Free Pascal имеет высокую скорость выполнения, а также простой и понятный интерфейс.

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

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

Turbo Pascal

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

Turbo Pascal обладает такой интересной функцией, как трассировка. В режиме трассировки вы можете наблюдать за работой программы пошагово и следить за изменением данных. Это поможет обнаружить ошибки, найти которые сложнее всего — логические ошибки.

Хотя Turbo Pascal прост и надежен в использовании, все же он слегка устарел: созданный в 1996 году, Турбо Паскаль актуален только для одной ОС — DOS.

Это визуальная среда программирования на языке Паскаль. Ее удобный, интуитивно понятный интерфейс позволяет с легкостью создавать программы с минимальными знаниями языка. Lazarus практически полностью совместим с языком программирования Delphi.

В отличии от Алгоритма и HiAsm, Лазарус все таки предполагает знания языка, в нашем случае — Pascal. Здесь вы не только собираете программу мышью по кусочкам, но также и прописываете код для каждого элемента. Это позволяет вам больше понимать процессы, происходящие в программе.

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

К сожалению, если у вас возникнут вопросы, то ответы искать вам придется в интернете, так как Лазарус не имеет документации.

HiAsm

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

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

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

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

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

В бесплатной версии можно компилировать проект из.alg в.exe только на сайте разработчика и только 3 раза в день. Это один из основных минусов. Вы можете приобрести лицензионную версию и компилировать проекты прямо в программе.

IntelliJ IDEA – это одна из самых популярных кроссплатформенных IDE. Эта среда имеет бесплатную, слегка ограниченную версию и платную. Для большинства программистов вполне хватает и бесплатной версии. Она обладает мощным редактором кода, который будет исправлять ошибки и завершать за вас код. Если вы допускаете ошибку, среда сообщает вам об этом и предлагает возможные варианты решения. Это интеллектуальная среда разработки, которая предугадывает ваши действия.

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

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

Чаще всего Eclipse используют для работы с языком программирования Java, но он также поддерживает работу и с другими языками. Это один из основных конкурентов IntelliJ IDEA. Отличие Eclipse от ему подобных программ в том, что к нему можно устанавливать различные дополнения и его можно полностью настроить под себя.

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

Отличие Eclipse от IntelliJ IDEA — интерфейс. В Эклипсе он гораздо проще и понятнее, что делает его более удобным для новичков.

Но также, как и все IDE для Java, Эклипс все же имеет свои системные требования, поэтому работать он будет не на каждом компьютере. Хотя не такие уж эти требования и высокие.

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

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

Начало работы

Новичкам в программировании поможет наша .

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

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

Вы всегда можете найти у нас на сайте.

FAQ

Я хочу начать разрабатывать под Android. С чего мне начать?

Первый и важнейший шаг в разработке под Android – это изучение Java и XML. Как только вы более менее познакомитесь и с тем, и с другим, изучите официальную Документацию по Android и пройдите несколько уроков, пока не почувствуете себя достаточно уверенным для создания собственных проектов. Удачи!

Нужно ли мне Android-устройство для разработки?

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

Какую IDE мне лучше использовать?

  • Android Studio - официально поддерживаемая IDE для разработки под Android. Именно она используется в современных руководствах и видео, в том числе и от Google.
  • Eclipse была основной IDE для разработки под Android на протяжении многих лет, поэтому большинство устаревших уроков, ресурсов, видео и скриншотов сделаны на ней.
  • IntelliJ IDEA был альтернативой Eclipse, но в настоящее время разумнее начать с Android Studio. Android Studio – это ответвление IntelliJ IDEA, так что вы получите все её преимущества плюс бонусы под Android.

Может, мне стоит забыть про Java и начать учить Kotlin?

Google теперь официально поддерживает Kotlin как язык разработки под Android, но это не значит, что про поддержку Java можно забыть. В ближайшем обозримом будущем документация, инструменты, новые фичи платформы будут поддерживать как Kotlin, так и Java. Хотя Kotlin - более молодой язык с некоторыми приятными особенностями, вы всё ещё можете создавать отличные приложения на Java. Выбор зависит только от вас, но если вам не принципиально или вы новичок, то, возможно, лучше сделать выбор в пользу Kotlin.

Ресурсы

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

Официальные ресурсы Android

Дизайн

  • Красивости для Android – вдохновение для создания графических интерфейсов под Android.

Рассылки

  • Android Weekly – замечательная рассылка, помогающая быть в курсе последних разработок Android.

Коллекции библиотек

Инструменты

  • Genymotion – крайне полезный и функциональный эмулятор.
  • Android Asset Studio – отличная коллекция инструментов для создания/редактирования иконок, изображений и т.д.
  • Codota Plug-in для Android Studio – замечательные примеры кода прямо в Android Studio.

Примеры open source приложений

Идеи для приложений

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

Каков мой бюджет?

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

Какая у меня маркетинговая стратегия?

Вы собираетесь использовать обычное сарафанное радио или готовы платить за известность?

Какой список задач у данного проекта?

А также, какие есть ограничения? Сколько мне нужно разработчиков?

Откуда будут приходить/где будут храниться данные?

А также, как они будут использоваться? Разработана ли у меня соответствующая политика приватности?

Есть ли цель заработать денег?

Если да, как вы собрались её достигать? Через рекламу, IAP , подписки, платные приложения? Всё вышеперечисленное?

Как вы будете платить вашим разработчикам?

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

Какой будет способ тестирования?

На какой тип устройства вы собираетесь устанавливать его? Как много итераций вам нужно? Каких людей вы хотите вовлечь?

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

Это однозначно повлияет на конечный доход.

Будете ли вы требовать или предлагать регистрацию/интеграцию с социальными сетями?

Продумайте реализацию этой функциональности.

Какова ваша целевая аудитория?

Это нишевое приложение или оно может быть распространено повсюду?

Реализована ли уже моя идея?

Если да, как я могу улучшить её или что в ней отсутствует?

Что делать с идеями для приложений, если вы не разработчик?

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

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

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

Поймите, что разработка требует значительных усилий. Представьте, что разработчик работает полный рабочий день (8 часов) на протяжении 2 месяцев, чтобы создать ваше приложение. И вы также работаете полный рабочий день. Что вы делаете в это время? Если ваша работа, по вашим представлениям, заканчивается раньше, то нужно пересмотреть идею. В этом сценарии разработчик выполняет большую часть работы, и вы, честно говоря, бесполезны. То, что вы можете дать после того, как приложение закончено, не имеет особого значения и не будет мотивировать разработчика заканчивать продукт.

Пересмотр вашей идеи

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

  • Распределяйте работу настолько справедливо, насколько это возможно.
  • Фокусируйтесь прежде всего на ваших навыках.
  • Ваша загрузка должна примерно равняться 2 месяцам полноценной работы. Для простых приложений загрузка, конечно, может быть меньше. Вы можете попросить сообщество (например,

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

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

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

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

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

  • Генераторы . Это платформы, которые создают мобильное приложение на основе вашей существующей веб-страницы. Вы даете генератору 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. Нужно ли говорить, какие перспективы появляются у проекта при поддержке в лице такого гиганта?

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

Свяжитесь с нами Обсудим?

Стоит ли делать свое мобильное приложение

Стоит. Если не верите на слово, вот несколько фактов:

  • По данным Flurry Analytics и comScore, владельцы смартфонов и планшетов пользуются браузером только 14 % от общего времени работы с девайсом. А 86 % времени они тратят на разные приложения.
  • Установленное приложение - ваш прямой канал связи с потребителем. Только подумайте: вам не нужно тратить деньги на рекламу или ждать, когда человек найдет вас с помощью «Яндекса». Остается поддерживать нужную пользователю функциональность и предоставлять ему релевантный контент.
  • Число покупок, сделанных с помощью планшетов и смартфонов, растет как в интернете в целом, так и в рунете. По информации маркетингового агентства Criteo , уже в 2016 году более половины онлайн-транзакций в рунете будут совершаться с помощью мобильных девайсов.

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

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

Когда можно создать приложение самостоятельно

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

Вы помните, когда бизнесу можно самостоятельно сделать сайт? Правильно, когда денег на сотрудничество с профессионалами еще нет, а время и желание разобраться с WordPress или «Джумлой» есть. Такая же ситуация с приложениями. Созданные самостоятельно программы для iOS и Android можно условно сравнить с сайтами на «движках» с открытым кодом.

Чтобы начать работать, регистрироваться не придется. Нажмите кнопку Create Now на главной странице или выберите меню Create App в правом верхнем углу на любой странице сервиса.


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

  • Manual . Этот шаблон позволяет сделать программу-гайд.
  • Blog . Приложение поможет аудитории вашего блога читать новые заметки с экрана смартфона или планшета.
  • Website . Шаблон конвертирует в приложение сайт.
  • Pages . С помощью этого шаблона можно сконвертировать в приложение с простой функциональностью любой контент.
  • News . Шаблон позволяет создать приложение агрегатор отраслевых или региональных новостей.
  • Page . Шаблон конвертирует в приложение офлайн-контент, например, электронную книгу.
  • VK Page и Facebook Page . Создайте приложение, позволяющее следить за обновлениями открытых групп во «Вконтакте» и в Facebook.
  • YouTube . Используйте шаблон для продвижения своего канала на YouTube.

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

Воспользуйтесь шаблоном Blog. В соответствующем поле укажите URL блога или RSS-канала. Выберите цвет заголовка заметок.


Укажите название приложения.


Добавьте описание.


Выберите стандартную или добавьте произвольную иконку. Подходящий размер изображения - 512 на 512 пикселей.


Для создания загрузочного файла нажмите кнопку Create App. После этого необходимо зарегистрироваться в системе. Подтвердите регистрацию и перейдите в личный кабинет. Здесь вы можете установить приложение на свое мобильное устройство, опубликовать его в Google Play и Amazon App Store. Также система предлагает опцию монетизации. Если вы воспользуетесь этой функцией, в приложении будет отображаться реклама.


Проверьте, как работает приложение на вашем мобильном устройстве. На планшете программа должна отображать список публикаций в блоге в формате заголовка и анонса.

Откройте шаблон и настройте внешний вид приложения. Выберите способ отображения контента: по одному шагу на экране или список шагов.


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


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

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


8 конструкторов аналогичных AppsGeyser

Если универсальный конструктор AppsGeyser вам не подошел, обратите внимание на аналогичные сервисы:

  • AppsMakerStore . С помощью сервиса можно создавать приложения разных типов: от программ для Ecommerce до решений для контент-проектов. Конструктор делает приложения для iOS и Android. Интерфейс сервиса русифицирован. Для новичков есть информативное руководство по использованию конструктора. Сервис платный.
  • Mobincube . Инструмент для создания и монетизации iOS и Android-приложений. Базовая функциональность сервиса доступна бесплатно. Конструктор позволяет сделать приложения разных типов.
  • Good Barber . С помощью этого сервиса можно разрабатывать Android- и iOS-приложения. Конструктор платный, стоимость использования составляет 16 USD в месяц.

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

Конструкторы приложений: каменный топор или тонкий современный инструмент?

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

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

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

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

Свяжитесь с нами Обсудим? Закажите бесплатную консультацию