3

サーバーから米国の 3 つの主要なスマートフォン オペレーティング システム (iPhone、Blackberry、および Android) のいずれかに MP3 をストリーミングするアプリを作成したいと考えています。

私が懸念しているトレードオフは次のとおりです。アプリをネイティブに作成すると、最高のユーザー エクスペリエンスが得られ、必要に応じてさらに多くの機能を追加することができますが、3 つの個別のコードベースがあり、 DRY原則。

そこにあるフレームワークの 1 つを使用して Javascript/HTML で記述した場合 (例: Rhomobile Rhodes )、すべての主要なプラットフォームに対して 1 つのコードベースを使用できるため、DRY に違反しておらず、その点で開発プロセスがより単純になります。しかし、a) ユーザー エクスペリエンスは損なわれます。b) iPhone で Javascript を使用して MP3 ファイルを再生するために、 SoundManagerを使用していくつかの簡単なテストを行ったところ、すぐにうまくいきませんでした (たとえば、実験の第 2 段階で「かっこいい、再生できる」 MP3" は "ID3 タグにアクセスできないのですか? それは最悪です.")。

複数のモバイル プラットフォーム向けの開発経験のある人が私の印象を肯定または否定できるかどうか疑問に思っています: Javascript と HTML を使用したクロスプラットフォーム開発は (特にマルチメディア アプリの場合) 実行可能ですか? それとも、「3 つの個別のネイティブ コードベースの開発と保守」がここでの方法ですか?

前もって感謝します。

編集:この質問は、アプリとしてこれを行う必要があることを前提としています。mp3 を提供し、ユーザーの iPhone/Android/Blackberry Media Player で処理できるようにする方がはるかに優れていることは理解していますが、私の目的では、これらのソリューションはこの質問の枠組みの範囲外です。

4

3 に答える 3

4

Pandora (主に BlackBerry) 用のいくつかのモバイル アプリに取り組んできたので、それぞれをネイティブ アプリケーションとして実行せずに、希望どおりのユーザー エクスペリエンスを実現することは (不可能ではないにしても) 非常に困難であると言えます。クロスプラットフォーム フレームワークは、いくつかのツリー メニューをナビゲートしたり、情報を表示したり、バックエンド サービスをいくつか呼び出したりする「典型的な」モバイル アプリに適しているかもしれません。しかし、包括的なマルチメディア API を公開するものはまだ見ていません。その理由も理解できます。メディアの再生に関しては、各プラットフォームには間違いなく癖があります。プレイリストの次のトラックをプリロードするような単純なことでも、カスタム コードが必要です。または、オーディオをルーティングするオーディオ パスを選択します (Bluetooth? ヘッドフォン?)。BlackBerry では、オーディオのストリーミングには特別なネットワーク要件があります。t デフォルトの BIS または BES トランスポートを使用します。ダイレクト TCP、WAP2、または Wi-Fi (利用可能な場合) を介する必要があります。繰り返しになりますが、カスタム コードを追加します。

なんらかの慰めになるとすれば、BlackBerry と Android の間でコードを少し共有することが可能です。つまり、ネイティブ API を使用しないビジネス ロジックです。BlackBerry は J2ME を使用するため、Android が使用する J2SE のサブセットにすぎません。

于 2010-10-15T19:20:02.023 に答える
2

私は「3 つの個別のネイティブ コードベースの開発と保守」に取り組みます。あなたが言ったように、より統合されたネイティブなユーザー エクスペリエンスを提供し、HTML/JavaScript では (まだ) 利用できない機能を提供します。

Android、iPhone、J2ME、および Symbian で実行されるアプリを正常に構築および維持しましたが、それほど大きな問題ではありません。

于 2010-10-15T13:42:15.733 に答える
0

ありがとう、Jango 、 www.jango.com 、そのすべての HTML / JS を調べてみてください。本当にうまく機能します。

于 2010-10-15T16:05:26.393 に答える