Подтвердить что ты не робот

Ограничения видеозахвата в телефонном разрыве + плагины для родных

Я разрабатываю мобильное приложение, ориентированное на платформы iOS и Android. Приложение будет состоять из:

  • Относительно простой пользовательский интерфейс входа/регистрации и список типов элементов базы данных, основанный на уже построенном веб-сервисе и существующем веб-приложении.

  • Функция захвата и выгрузки видео с использованием встроенных плагинов.

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

Однако, учитывая ограничения API Capture PhoneGap (org.apache.cordova.media-capture), нецелесообразно захватывать видео для загрузки, в основном из-за отсутствия контроля над спецификациями видео. (На большинстве устройств видеозахваты будут огромными HD файлами, которые не подходят для загрузки, даже на Wi-Fi и, конечно, не более 3g/4g.)

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

Тем не менее, я рассматриваю 2 варианта:

  • Первым, и, вероятно, самым рациональным, является то, что я выбираю платформу с большей долей рынка моей существующей пользовательской базы (iOS), высасываю ее и начинаю работать.

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

Требования моего плагина видеозахвата будут следующими:

  • Полностью контролируйте характеристики записанного видео, самое главное разрешение и битрейт. (Предположительно с AVFoundation и т.п. В SDK Adroid).

  • Управление пользовательским интерфейсом функций захвата видео.

Очевидно, что я знаю, что эти задачи очень возможны на обеих платформах при разработке в составе api, как это видно из существующих приложений на рынке. (Vine и т.д.).

Мой реальный вопрос: какие ограничения и проблемы с расширением собственной функциональности через API плагина PhoneGap? Практически нет примеров работы, выполненной в PhoneGap с таким уровнем собственной реализации захвата видео, Один из примеров, который я нашел, - это плагин, VideoCapturePlus, который, хотя я не смог работать, кажется многообещающим.

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

4b9b3361

Ответ 1

Я по существу дошел до сути этого вопроса, что я уверен, что другие будут и будут сталкиваться. Я рассмотрю эту тему в трех частях:

Могу ли я сделать [что-то] в PhoneGap (в отличие от родного iOS или Android SDK)?

Это вопрос, который я бы предположил, что многие разработчики, рассматривающие структуру PhoneGap, сами спрашивают, как и я. Короткий ответ: ДА, ВЫ МОЖЕТЕ МОЖЕТЕ.

Как мне сделать [что-то] в PhoneGap?

Плагины! Здесь rub: Cordova (PhoneGap) во всем этом блеске крайне ограничен в том, как он обращается к собственным аппаратным функциям, особенно когда вы попадаете в видео/фото/аудиозапись.

Здесь подключаются плагины. На данный момент есть тысячи плагинов PhoneGap. Многие из них так же просто, как 4 строки Java и Objective C, чтобы преодолеть некоторые простые вещи, которые PhoneGap просто не будет делать. Другие - большие проекты с собственными жизненными циклами.

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

В конце концов, были вещи, которые я хотел сделать, чтобы я не мог найти плагины. У меня все еще есть планы построить некоторые из моих собственных, но я еще не там. Итог: за пределами игр и других приложений 3D-рендеринга вам будет трудно найти что-то, чего нельзя достичь с помощью плагина PhoneGap.

Для тех, кто заинтересован в видеозахвате, это 2 плагина, которые меня достали по горбу в моем проекте:

VideoCapturePlus

Скриншот видео

Должен ли я создать свое приложение, которое делает [something] в PhoneGap?

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

Тем не менее, для большинства сольных разработчиков или небольших команд с ограниченными ресурсами и практически без опыта Java или ObjC ответ на вопрос "Должен ли я рассматривать PhoneGap?" был бы [в моем лучшем голосе Джима Халперта] "Абсолютно вам нужно". В качестве дополнительного бонуса я скажу так: в моем случае макеты HTML5 и большая часть JS на передней панели, которые использовались как для Android, так и для iOS-версий моего приложения, в значительной степени можно использовать для мобильной веб-версии моего приложения. Возможность поддерживать единую кодовую базу для этих трех вещей обеспечивает эффективность, которую не должны упускать даже крупные организации с ресурсами.