Я разрабатываю мобильное приложение, ориентированное на платформы 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 с этим уровнем сложности, или если это кроличья дыра, я хочу, чтобы я не упал.