Статьи

Использование PhoneGap для разработки гибридных приложений

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

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

Заигрывая с разработкой веб-сайтов и веб-приложений, прежде чем подключить свою корзину к движущей силе разработки мобильных приложений, я почувствовал, что должен сделать попытку кросс-платформенной мобильной разработки. Когда я начинал, мои навыки веб-разработки были немного ржавыми, в то время как я был довольно хорош в разработке приложений для iOS и в среднем в разработке приложений для Android. Я выбрал PhoneGap, потому что он поддерживает большое количество платформ разработки: iOS, Android, BlackBerry, Windows, Symbian и даже Tizen.

Другая причина выбора PhoneGap заключалась в том, что он является нативным компонентом WebView с приложением HTML5-CSS3 и имеет структурированный API, который использует JavaScript для доступа к нативным функциям мобильных устройств. Это означает, что приложение, созданное вами на PhoneGap, может получать доступ к собственным функциям как с мобильных устройств, так и с мобильных устройств. Теоретически вы можете создавать высокопроизводительные приложения на PhoneGap и заставлять их работать на нескольких мобильных платформах.

Начало разработки PhoneGap  

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

Когда я освоил HTML5, JS и CSS3, мне пришлось узнать, как работает PhoneGap. Я потратил много времени на чтение и просмотр документации , сборок приложений и страниц GitHub для PhoneGap.

Большинство веб-разработчиков не понимают, что вам нужно приложить много усилий, чтобы понять, как работает PhoneGap. Но у вас не будет недостатка в ресурсах и разумных советах сообщества, пока вы в этом. При разработке моего первого приложения (для iOS, Android и Windows) я столкнулся со многими проблемами. Некоторые из них возникли из-за моих ржавых навыков, но я чувствовал, что немногие имеют непосредственное отношение к природе кроссплатформенной разработки.

Это наиболее распространенные проблемы, с которыми может столкнуться приложение, созданное на PhoneGap:

  1. Мобильные приложения с многочисленными графическими элементами или анимацией могут замедлить работу некоторых мобильных устройств и сделать просмотр приложений немного прерывистым. Даже с обычными приложениями наблюдается заметная задержка, поскольку большинство мобильных телефонов недостаточно быстры для запуска гибридных приложений. Android, особенно с его многочисленными версиями ОС и устройств, является большим кошмаром, чем обычно.
  2. Приложение не может использовать все функции телефона. И попытка использовать функции устройства требует много тяжелой работы. Кроме того, если вы хотите создать приложение для последней версии любой операционной системы, вам нужно дождаться обновления PhoneGap. Он должен оставаться на шаг позади родных платформ.
  3. Код, который вы пишете, работает везде, но вам также необходимо выполнить кодирование и настройку, специфичные для разных мобильных платформ. Это довольно много времени. Кроме того, для новичков исправление (и даже выявление) ошибок может быть огромной головной болью.
  4. Мне не нравилось создавать и развертывать PhoneGap, так как я должен ждать, пока PhoneGap завершит сборку. Это может занять от 2 до 20 минут — если вы нетерпеливы, это проблема. В противном случае это не большая проблема.

Хотя это довольно распространенные проблемы, для большинства из них есть решения. И если вы станете экспертом в разработке PhoneGap, есть много очевидных преимуществ:

  1. Вы пишете один код, немного его настраиваете для всех операционных систем, и у вас есть приложения для 2-6 мобильных платформ.
  2. Если вы знакомы с веб-разработкой и хорошо разбираетесь в JavaScript, кривая обучения PhoneGap не слишком крута.
  3. PhoneGap лучше, чем большинство других платформ, которые предлагают возможность многоплатформенной разработки, поскольку он позволяет опытным разработчикам поддерживать собственные функции и функции в приложении.
  4. Нет недостатка в инструментах — есть несколько мест, где вы можете быстро найти решение ваших проблем, и есть несколько библиотек JavaScript, которые облегчат вашу работу.

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

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

Знаете ли вы свой путь вокруг HTML5, JavaScript и CSS3? Если да, PhoneGap предоставляет отличную возможность использовать эти навыки для создания мобильных приложений.

Если вы уже занимаетесь разработкой собственных приложений, вы знаете Java или Objective-C; эти навыки также будут необходимы.

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

Тем не менее, если вы не слишком увлекаетесь HTML5 и JavaScript, нет смысла пробовать себя в разработке гибридных приложений — разработка нативных приложений будет продолжаться еще долго.