Приложения для разработки приложений: как сделать приложение для iOS и Android самостоятельно. Как создать программу для смартфона за полчаса Rookie: универсально под каждый жанр

Фильтры все еще в моде и наступила пора популярности чего-то нового. Все ищут как называется приложение с мордочкой зайчика и меняется голос.

Как называется приложение, где няшный зайчик и голос?

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

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

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

Как снять фото или видео с мордочкой зайчика и милым голосом?

Итак, результат на видео вы увидели и сейчас расскажу, как такое сделать и вам. Все очень просто и первое что нужно сделать, это скачать себе на телефон Snapchat.

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

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

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

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

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

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

Он включает в себя множество полезных функций: поддержка опции перетаскивания, обрезка, обрезка и поворот видео, она может улучшить видео, добавив текстовый эффект, такой как Mosaic, среди множества интересных функций. И вы можете добавить аудио или музыкальную дорожку к видео и легко отредактировать музыку. Одна важная вещь в Filmora Video Editor заключается в том, что она дает пользователям возможность экспортировать в любые другие видеоформаты, такие как WMV, MOV и FLV. Фактически, интерфейс видеоредактора Filmora можно использовать без каких-либо проблем.

Часть 1. Топ-5 приложений для создания видео на устройствах iPad/iPhone

1. TiltShift Videos


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

2. VidLab – Создатель видео и фильмов


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

3. Stop Motion Studio


Stop Motion Studio является профессиональным создателем видео и редактирования видео для вашего iPad и iPhone. Он бесплатный и может воспроизводить HD-видео и HD-видео на вашем iPhone и iPad и сохранять их в полном разрешении. У вас также есть возможность экспортировать как формат изображения GIF.

4. Magisto – Волшебный видеоредактор


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

5. iMovie


Приложение iMovie является одним из самых популярных приложений для создания фото и видео для iPad и iPhone. Это помогает пользователям создавать HD-видео без особого стресса. Он также имеет возможность делать голливудские фильмы в стиле фильма. Видео, созданные с помощью приложения iMovies, могут быть опубликованы в Vimeo, facebook и YouTube прямо из приложения. Он прост в использовании и поставляется с возможностью сохранения видео в полном разрешении.

Часть 2. Топ-5 приложений для создания видео на устройствах Android

1. Magisto


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

Скачать из Google Play: https://play.google.com/store/apps/details?id=com.magisto

2. AndroVid Video Editor


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

Скачать из Google Play: https://play.google.com/store/apps/details?id=com.androvid

3. Video Maker Pro


Video Maker Pro - это приложение для киностудии, чтобы сделать фото-видео на Android и редактировать, обрезать и добавлять медиафайлы в фильме. Он прост в использовании и, конечно, у вас не будет проблем при использовании приложения. У него также есть создатель слайд-шоу, который дает эффект каждому изображению. Это потрясающее приложение с хорошим рейтингом пользователей.

Скачать из Google Play: http://download.cnet.com/Video-Maker-pro/3000-2139_4-75792548.html

4. Andromedia Video Editor


Это приложение для создания видео и редактирования является одним из лучших инструментов для создания и редактирования видео в разных форматах профессиональным способом. Приложение бесплатное, и оно может создавать видео высокой четкости в 320, 480 и 720 пикселях. Он сочетает в себе те же функции других приложений для создания видеороликов с некоторыми дополнительными функциями, такими как поддержка других форматов, таких как MOV, WAV и другие. Он имеет простой дизайн макета, и он довольно прост в использовании.

Скачать из Google Play: https://play.google.com/store/apps/details?id=com.catflow.andromedia

5. VidTrimPro


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

Скачать из Google Play: https://play.google.com/store/apps/details?id=com.goseet.VidTrimPro&hl=en

Цена: Бесплатно

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

Наше приложение уже было скачано 10 миллионов раз со всех существующих платформ и имеет 2 уникальные особенности:

1) Используемый алгоритм искажения дает очень гладкие переходы, сравнимые только с профессиональными приложениями Liquify, которые дороже в сотни раз.
This is a simple but powerful photo distortion App. You can use it to simulate body transformations, improve your appearance on social networks, or have fun warping people.

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

Новая функция: теперь вы можете сохранять трансформирующиеся анимации как видеофайлы!


ВОЗМОЖНОСТИ ПРИЛОЖЕНИЯ
********************************

Этот фоторедактор позволяет обработать все части лица и тела:

Изменить форму носа;
Увеличение губ
Изменение контура подбородка и лица
Уменьшение веса, липосакция
Увеличение мышц
Операции с любыми частями тела, которые можно изменить, увеличить или уменьшить!

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


ИСПОЛЬЗОВАНИЕ ПРИЛОЖЕНИЯ
**************************************

Использовать приложение очень просто даже на небольших экранах:

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

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

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

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

Запустите анимацию «морфинга» между первоначальной и измененной фотографией, чтобы просмотреть переход от вашего старого облика к новому!

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

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

Замена лиц, смена пола, прически, макияж, коррекция фигуры, эффекты и маски на фото и видео для iPhone – 20 лучших приложений

Instagram (эффекты и маски)

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

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

Вконтакте (эффекты и маски по категориям)

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

Snapchat (возраст, смена пола, эффекты и маски)

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

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

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

Огромной популярностью пользуется и .

FaceApp (возраст, прически, смена пола, улыбки)

Данное приложение заставит улыбнуться даже самого сурового и серьезного человека. Также в программе можно состарить или же омолодить объект изменения и даже изменить ему пол. Для редактирования фотографии FaceApp использует ставшие популярными нейронные сети.

Приложения от ModiFace (изменение цвета волос, глаз и макияжа)

Известный разработчик ModiFace, специализирующийся на создании приложений с дополненной реальностью, представил три отдельных приложения позволяющих изменить цвет волос (Hair Color), глаз (Eye Color Studio) и макияж (MakeUp). Система распознает лицо пользователя и наносит на него виртуальные элементы.

Kirakira+ (анимация блеска)

Программа автоматически добавляет анимацию сверкающего блеска на различные объекты в кадре при съемке видео (работает и с фото, однако эффект менее реалистичный). Приложение самостоятельно определяет и «подсвечивает» нужные элементы – украшения, фрагменты макияжа, блестящие вещи и аксессуары.

Meitu (коррекция фигуры и формы лица, цвета кожи, удаление пятен и шрамов + эффекты и фильтры)

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

YouCam Makeup (подбор косметики, изменение цвета волос + эффекты)

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

Фоторедактор лица и фигуры Lite (коррекция фигуры и формы лица)

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

Fabby Look (измененение цвета волос)

Данный продукт дает возможность поэкспериментировать с экзотическими расцветками волос, например, с зеленым или даже фиолетовым. Создала приложение белорусская компания AIMATTER, чей создатель, Юрий Мельничек, известен в качестве сооснователя картографического сервиса maps.me.

Perfect 365 (коррекция формы лица, макияжа)

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

На вкладке Skin можно убрать темные круги под глазами и складки на коже. В Eyes предоставляется возможность изменить цвет глаз, а Mouth поможет виртуально отбелить зубы и сформировать голливудскую улыбку.

Wanna Nails (подбор лака для ногтей)

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

Фоторедактор Эффекты Color Pop (изменение цвета некоторых элементов на фото)

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

B612 - Beauty & Filter Camera (улучшение фото + эффекты и маски)

Основная функция приложения - коррекция лица в реальном времени (перед снимком или во время съемки видео). Разработчики предлагают боле 1500 различных «стикеров», которые можно примерить на свое лицо, добавив тем самым эмоциональной окраски портрету. Кроме того, B612 отлично справляется с автоматическим улучшением физиономии пользователя, избавляясь от дефектов кожи, складок, морщин и т.д.

Cymera (коррекция фигуры, ретушь фото + маски, эффекты и фильтры для селфи)

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

MomentCam (превращает фото в карикатуры и стикеры)

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

Visage Lab (ретушь и коррекция лица)

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

Bestie (камера для автопортретов, ретушь и коррекция лица + эффекты)

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

Zombify (делает лица зомби)

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

Face Swap Live (обмен лицами)

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

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

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

OldBooth (подставляет лицо в ретро-шаблоны)

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

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