Написание приложения радиостанции для мобильных телефонов – это Javascript / HTML / CSS, или нам нужно идти на родной язык?

Я хочу написать приложение, которое будет передавать MP3-файлы с сервера на любую из трех основных операционных систем смартфонов в США (iPhone, Blackberry и Android).

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

Если я использую одну из фреймворков там, чтобы записать ее в Javascript / HTML (например, Rhomobile Rhodes ), то у меня есть одна база кода для всех основных платформ, поэтому я не нарушаю DRY, и процесс разработки в этом отношении проще, Но а) пользовательский опыт будет страдать, и б) я сделал несколько простых тестов, используя SoundManager, чтобы воспроизводить файлы MP3 с Javascript на iPhone, и он сразу начал сосать (например, вторая фаза эксперимента после «круто, я могу играть» MP3 "was" У меня нет доступа к тегам ID3? Это отстой. ").

Мне интересно, может ли кто-нибудь, кто проявил себя в разработке для нескольких мобильных платформ, подтвердить или отменить мое впечатление: кросс-платформенная разработка с Javascript и HTML жизнеспособна (особенно для мультимедийного приложения)? Или это «разработка и поддержка трех отдельных нативных кодовых баз»?

Заранее спасибо.

Изменить: этот вопрос предполагает, что я должен сделать это как приложение. Я понимаю, что может быть гораздо лучше просто подавать mp3-файлы и разрешать пользователям iPhone / Android / Blackberry Media Player, но для моих целей эти решения находятся вне рамки этого вопроса.

Работая над несколькими мобильными приложениями для Pandora (в первую очередь BlackBerry), я могу сказать вам, что было бы очень сложно (если не невозможно) заставить пользователя работать так, как мы этого хотели, не делая каждый из них как родное приложение. Кросс-платформенные среды могут быть подходящими для «типичного» мобильного приложения, которое перемещается по некоторым меню в виде дерева, отображает информацию, делает несколько звонков на бэкэнд-услуги и т. Д. Но мне еще предстоит увидеть один, который предоставляет всеобъемлющий мультимедийный API. Я тоже могу понять, почему тоже – каждая платформа, безусловно, имеет свои причуды, когда дело доходит до воспроизведения медиа. Даже что-то простое, как предварительная загрузка следующей дорожки в списке воспроизведения, требует специального кода. Или выбрать, какой аудиоканал для маршрутизации аудио на (Bluetooth-наушники?). На BlackBerry потоковое аудио имеет особые сетевые требования, потому что вы не можете использовать по умолчанию транспорт BIS или BES – он должен быть через Direct TCP, WAP2 или Wi-Fi (если доступно). Так снова, больше пользовательского кода.

Если это какое-то утешение, можно поделиться немного кода между BlackBerry и Android – то есть бизнес-логикой, которая не использует собственные API. Поскольку BlackBerry использует J2ME, это всего лишь подмножество J2SE, которое использует Android.

Я бы пошел с «разработкой и поддержкой трех отдельных нативных кодовых баз». Как вы сказали, вы предложите более интегрированный и собственный пользовательский интерфейс и предложите функции, которые пока недоступны через HTML / JavaScript.

Я создал и поддерживал приложение, которое работает на Android, iPhone, J2ME и Symbian, и это не такая большая проблема.

Спасибо, проверьте Jango, http://www.jango.com, его все HTML / JS по внешнему виду вещей. Хорошо работает.

Intereting Posts