2

HTML5 + Javascript アプリケーションを作成し、Android に移植したいと考えています。WebKit が HTML5 アプリを実行できないことは既にわかっています。

  • 異種の Android コードベースは、最新の HTML5 の偉業をうまくサポートしていません

  • WebGLを使用しています

  • 複雑な HTML5 ユーザー インターフェイスは遅すぎて Android WebKit でレンダリングできません

ただし、コア アプリケーション ロジックは依然として Javascript に存在します。

今、方法を探しています

  • アプリケーション ロジックを直接移植 (コピー) した Javascript を実行する

  • 自身を Android Java UI API に簡単にバインド

  • この Javascript ロジックを中心にネイティブ Android UI を構築する

  • Android OpenGL ES 用の WebGL 互換バインディングを作成し、Javascript からグラフィックス API にアクセスします

  • うまくいけば、JITまたはまともなパフォーマンス

Android のカスタム JS ランタイムにはどのようなオプションがありますか? Firefox Aurora が既にこれを行っていることは知っています。Firefox は主に JS ベースのアプリであり、Aurora ビルドで XUL からネイティブ Android UI に切り替えました。

結果として得られるアプリケーションは製品品質であり、Android マーケットで配布される必要があります。

4

2 に答える 2

0

Firefox Mobileの新しいネイティブ UI コードを見てみましょう。これには Gecko (結果として SpiderMonkey) が組み込まれ、WebGL を含むデスクトップ用 Firefox のすべてのコンテンツ機能を備えています。

ただし、Firefox Mobile は、Gecko エンジンを埋め込み (そして必要なデバイス アクセス API を提供し)、XULと JavaScript を使用してすべての UI とアプリケーション ロジックを実行するという、ユーザーが望むものと非常によく似た処理を行っていたことに注意してください。これは重大なパフォーマンスの問題につながります。これが現在、モバイル用の Java UI に取り組んでいる主な理由です。

staktrace が述べたように、WebGL が必要な場合は DOM が必要です。つまり、Gecko 全体が必要になります。または、Android のグラフィック API で OpenGL ES を直接使用することもできます。Gecko の WebGL コードの一部を抽出または再利用して、独自の OpenGL JavaScript バインディングを作成することは可能かもしれませんが、それは WebGL ではありません。

于 2012-01-16T00:46:25.087 に答える
0

HTML5 (特に WebGL) のすべてが必要な場合は、SpiderMonkey の一部ではない DOM API も必要になります。SpiderMonkey は単なる Javascript 言語インタープリターのコアであり、window/document/element オブジェクトのようなブラウザー固有のバインディングは含まれていません。したがって、Android で HTML5+JS が必要な場合は、ブラウザ全体を埋め込む必要がありますが、これは Firefox Aurora では簡単に実行できません。

于 2012-01-12T15:34:02.733 に答える