Использование Phonegap для разработки собственных приложений - программирование
Подтвердить что ты не робот

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

Недавно я встретил Phonegap. Попросите кого-нибудь из вас попробовать. Это невероятный инструмент, в котором утверждается, что разработчики могут использовать платформу на основе HTML 5, такую ​​как Sencha touch и Jquery, в то же время имея доступ к родным функциям на телефоне. Кроме того, код переносится с Android на Iphone с некоторыми усилиями. Прежде чем окунуться в него, я хочу знать, что такое форум с помощью Phonegap. Какие точки боли и действительно ли они масштабируемы для разработки приложений на уровне предприятия.

4b9b3361

Ответ 1

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

Disable device-based features you're not using По умолчанию функции акселерометра, геолокации включены. Если вы их не используете, я бы отключил их, так как ваше приложение будет загружаться быстрее (инициализировать) и работать более плавно.

onDeviceReady. Это метод, который вызывается после того, как телефонная заправка загружена и готова. $(document).ready или независимо от того, к чему вы привыкли, на самом деле не применяется здесь, если только вы не используете только интерфейс/жестко закодированный материал HTML. Если вы взаимодействуете с функциями iPhone, такими как GeoLocation, вам нужно будет сделать все после onDeviceReady.

Pick a UI/library Существует тонна опций для интерфейса/библиотек, jquery-mobile, sencha touch, jqtouch и т.д. Каждый из них предлагает уникальный подход и набор функций. Сделайте некоторые исследования и используйте их, но избегайте комбинирования. Вы можете прочитать о дополнительных опциях, здесь: http://www.phonegap.com/tool (ссылка обновлена)

Also, more on just mobile development in general, with PhoneGap Если вы хотите создавать приложения, которые распространяются через рынок Android и iPhone App Store, я прочитал бы их исчерпывающие списки для руководства по разработке вашего приложения. Например, в ссылке инструментов выше есть "инструмент/плагин", называемый Easy APNS - в то время как это полезно для Android - и технически выполнимо на iPhone, он нарушает соглашение о разработке, поскольку он утверждает, что вы должны использовать сеть уведомлений Apple и т.д. Это просто пример, но чтение на этом материале сэкономит вам много головных болей, если это ваша конечная цель.

В целом, это отлично подходит для легких приложений, особенно если вы работаете на фоне веб-разработки. LocalStorage, GeoLocation и т.д. Работает очень хорошо. Надеюсь, это немного помогает... и я задаю вопросы.

Дополнительное редактирование:

Я действительно думаю, что это сводится к тому, что вы хотите делать, и тому, что вы знаете, как это сделать. Мэтт отметил, что разработка родных приложений, для iOS лучше и т.д. Да, если у вас есть время и знания, чтобы узнать, что, естественно, родной будет лучше. Но PhoneGap создан для веб-разработчиков, которые могут использовать свой набор навыков и создавать приложения. Кроме того, PhoneGap позволяет быстро создавать приложения для iOS, Android, Symbian, Palm, Blackberry. С небольшими изменениями в вашей кодовой базе для каждого.

Ответ 2

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

Вот лучшие самородки:

Советы по настройке PhoneGap/Mobile Web

Включение новых функций

Архитектура

Архитектура вашего приложения в Ext JS 4: http://www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-2

Ответ 3

Прежде чем выразить свое мнение о Phonegap, мне нужно выпустить небольшое выражение об отказе от ответственности, в котором говорится, что я, ни в коем случае, не веб-разработчик. Для меня написание JavaScript и CSS - это как вытаскивание зубов. Тем не менее, мне не нравится Phonegap.

Есть несколько очень привлекательных аспектов структуры, в основном призыв "Write-Once-Run-Anywere" и "I-Don't-Have-To-Learn-Objective-C?". обжалованию. Структура может даже дать вам доступ к некоторым аппаратным функциям, таким как акселерометр. Все они действительны, в определенной степени.

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

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

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

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

Ответ 4

Процедура установки включает в себя несколько пакетов (Java, Apache Ant, Ruby, iOS SDK, Android SDK и PhoneGap), которые все должны быть правильно установлены и настроены. Это может быть серьезное усилие. Справедливости ради, у них есть что-то, что называется PhoneGap Build в бета-версии, что должно сделать это намного проще.

Мы используем его с NS Basic/App Studio для создания приложений, подходящих для магазинов приложений.

Ответ 5

если вы не создаете игру или виджет, просто одно красивое приложение, тогда выбор телефона - это ваш выбор.

Но вы должны позаботиться о своем JS, не делайте ничего в JS например, если вы хотите сделать какую-либо анимацию, не устанавливайте таймер с небольшими интервалами (например, 100 мс), избегайте jquery и похожих анимаций. Например, вместо того, чтобы анимировать затухание, установив кратковременный таймер, уменьшающий непрозрачность в каждой точке шаг за шагом (это как работает jquery fade), вы должны использовать css3 переходы от непрозрачности 1 до непрозрачности 0.

Мой совет - пойти с чем-то вроде zeptojs.com, ведь телефонная игра не будет работать ie6: -)

Посмотрите несколько руководств о том, как сделать ваш JS более легким.

http://bcksp.blogspot.com/

Ответ 6

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

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

Ответ 7

Одна "боль" не упоминается при развертывании между несколькими различными устройствами: чем больше устройств, тем больше кривая обучения. Для развертывания на устройствах iOS с помощью PhoneGap вам необходимо изучить основы Xcode на Mac. Для развертывания на Android вам нужно будет установить и изучить Eclipse, Android SDK и т.д. На других платформах необходимо использовать собственные SDK. Изучение некоторых рудиментарных Xcode, Javascript и Java помогает мне понять ошибки и общий синтаксис.

"Создайте один раз, повесьте повсюду", оставляйте много шагов!