Arsis

Разработка программного обеспечения

RU EN

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

До сих пор разработчики мобильных приложений следовали довольно предсказуемому алгоритму: сначала разработать приложение для iOS, потом — для Android, а потом для других платформ. Зачастую это приводило к увеличению времени разработки в разы, что является неприемлемым.

Одно из  решений  подобного  рода  проблемы  представила  компания  Nitobi,  выпустившая бесплатный  open-source  фреймворк  для  создания  мобильных  приложений с использованием JavaScript, HTML5 и CSS3 для следующих платформ:

  • IOS
  • Android
  • Windows Phone
  • BlackBerry
  • Bada
  • Symbian
  • webOS

Что позволяет PhoneGap?

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

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

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

Как это все работает?

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

Для каких приложений целесообразно использовать PhoneGap?

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

  • акселерометром,
  • камерой,
  • компасом,
  • контактами,
  • файловым хранилищем,
  • геолокацией,
  • базой данных,
  • событиями, уведомлениями,
  • медия и др.

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

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

Вторая замечательная особенность фреймворка заключается в возможности использования любых существующих JavaScript библиотек (JQuery, Prototype, Sencha Touch)

Производительность

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

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