2012-10-13

Разработка под мобильные платформы с использованием PhoneGap

Осмотримся

В мире становится все больше мобильных устройств, рынок мобильных приложений перспективный, поэтому нужно быть на волне прогресса.
Однажды я уже пробовал разработку под iOS и Android. С iOS что-то не срослось - Objective C и архитектуру приложений я не смог быстро понять, кажется, разработчики чего-то перемудрили. С Android все оказалось гораздо проще - тут и знакомый Java и свобода разработки. Но после того, как немного разобрался и попробовал написать демо-приложение, дальнейшая работа по изучению была прекращена, ибо есть еще много других более важных дел.
Есть несколько разных решений, позволяющих использовать для разработки не родные для платформ языки программирования. Я остановил свой выбор на продукции Adobe, это и Air приложения и PhoneGap. Приложения под Air, на мой взгляд, интересный проект, но еще не знакомый мне настолько, чтобы начать с ним работать, возможно, позже я к нему еще вернусь. А с PhoneGap было решено разобраться, ведь минимальных знаний Android SDK и большого опыта разработки сайтов вполне достаточно для хорошего начала.

Практика

Итак, вкратце, PhoneGap - это фреймворк для разработки под популярные мобильные платформы с использованием HTML5+CSS3+JavaScript. Имеется поддержка API мобильных платформ. На выходе получается родное приложение для нужной нам платформы.
Для успешной компиляции нам понадобятся следующие ресурсы:
1) Android SDK
2) PhoneGap
3) Eclipse + ADT Plugin
На приведенных выше сайтах есть подробные инструкции по установке и настройке, так что не буду здесь это описывать.
Следуя инструкциям http://docs.phonegap.com/en/2.1.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android мы получим наше первое простенькое приложение. Добавлю от себя, что в загруженной папке с PhoneGap есть интересные примеры, я их скопировал в свой проект и немного поигрался с API и фреймворком.

Делаем выводы

Для большинства приложений, функционала фреймворка более чем достаточно, к тому же проект молодой и продолжает развиваться. К огромным плюсам можно отнести возможность написания плагинов, расширяющих возможности фреймворка. Другими словами, нам не нужно отказываться от PhoneGap, если мы уперлись в невозможность реализовать что-либо средствами фреймворка. Нам достаточно написать плагины под каждую платформу, а JavaScript, при этом, останется платформо-независимым. Примеры плагинов можно посмотреть здесь https://github.com/phonegap/phonegap-plugins.

P.S. У Adobe есть еще интересный облачный сервис https://build.phonegap.com/ берущий на себя задачи по сборке финальных приложений и компиляцию.