Написание приложения для радиостанции для мобильного телефона - жизнеспособен ли Javascript / HTML / CSS, или нам нужно перейти на нативный? - PullRequest
3 голосов
/ 15 октября 2010

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

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

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

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

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

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

Ответы [ 3 ]

4 голосов
/ 15 октября 2010

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

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

2 голосов
/ 15 октября 2010

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

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

0 голосов
/ 15 октября 2010

Спасибо, зацените Jango, www.jango.com, все его HTML / JS. Работает очень хорошо.

...