Ответ 1
Я по существу дошел до сути этого вопроса, что я уверен, что другие будут и будут сталкиваться. Я рассмотрю эту тему в трех частях:
Могу ли я сделать [что-то] в PhoneGap (в отличие от родного iOS или Android SDK)?
Это вопрос, который я бы предположил, что многие разработчики, рассматривающие структуру PhoneGap, сами спрашивают, как и я. Короткий ответ: ДА, ВЫ МОЖЕТЕ МОЖЕТЕ.
Как мне сделать [что-то] в PhoneGap?
Плагины! Здесь rub: Cordova (PhoneGap) во всем этом блеске крайне ограничен в том, как он обращается к собственным аппаратным функциям, особенно когда вы попадаете в видео/фото/аудиозапись.
Здесь подключаются плагины. На данный момент есть тысячи плагинов PhoneGap. Многие из них так же просто, как 4 строки Java и Objective C, чтобы преодолеть некоторые простые вещи, которые PhoneGap просто не будет делать. Другие - большие проекты с собственными жизненными циклами.
В моем случае очень рано стало очень рано, что я не собирался создавать свое приложение с функциями захвата видео, которые существовали в PhoneGap. Тем не менее, я пошел за покупками для плагинов. К концу моего проекта у него было 2 плагина, которые расширили функциональность видео и еще четыре сделали другие небольшие вещи, которые мне нужны. В некоторых случаях плагины, которые я нашел, не имели всего, в чем я нуждался, и я заработал часть кода. Если проекты активны в GitHub, я настоятельно рекомендую это.
В конце концов, были вещи, которые я хотел сделать, чтобы я не мог найти плагины. У меня все еще есть планы построить некоторые из моих собственных, но я еще не там. Итог: за пределами игр и других приложений 3D-рендеринга вам будет трудно найти что-то, чего нельзя достичь с помощью плагина PhoneGap.
Для тех, кто заинтересован в видеозахвате, это 2 плагина, которые меня достали по горбу в моем проекте:
Должен ли я создать свое приложение, которое делает [something] в PhoneGap?
Конечно, этот вопрос зависит от каждого разработчика и от каких целей приложения. В моем случае очень простое приложение, которое, среди прочего, захватывает и загружает фотографии и короткие видеоролики. Есть, конечно, случаи, когда параметры и цели приложения делают его таким, что собственное развитие - лучший вариант.
Тем не менее, для большинства сольных разработчиков или небольших команд с ограниченными ресурсами и практически без опыта Java или ObjC ответ на вопрос "Должен ли я рассматривать PhoneGap?" был бы [в моем лучшем голосе Джима Халперта] "Абсолютно вам нужно". В качестве дополнительного бонуса я скажу так: в моем случае макеты HTML5 и большая часть JS на передней панели, которые использовались как для Android, так и для iOS-версий моего приложения, в значительной степени можно использовать для мобильной веб-версии моего приложения. Возможность поддерживать единую кодовую базу для этих трех вещей обеспечивает эффективность, которую не должны упускать даже крупные организации с ресурсами.