Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

B2G OS アプリのアーキテクチャ

この記事は編集レビューを必要としています。ぜひご協力ください

アプリケーションを開発、配布するにあたって、B2G OS 上でアプリがどのように起動、管理されるのか、その詳細について理解する必要はありませんが、多少なりとも関心はあるかもしれません。また、この情報は B2G OS プラットフォーム開発者や、OS を新しいハードウェアへ移植するチームにとっても有益なものとなるでしょう。

アプリの起動プロセス

ユーザが起動したいアプリを選択した場合、あるいはアプリが起動される必要がある場合、App API からのアプリ参照を得ることによってホーム画面アプリが起動し、App.launch() メソッドを呼び出してアプリを起動します。

Gecko はそのリクエストを受け取り、System アプリへ mozChromeEvent を送り、アプリの詳細を伝えます。System アプリは、自身の DOM ツリーへ新しい <iframe> を挿入し、そこにアプリを読み込むことで、そのイベントを処理します。アプリが終了するまで、そのフレームがアプリの居場所となります。

各アプリはアプリの情報を記述したマニフェストを必要とし、そのパッケージ内で特定のファイル構造を持ちます。詳しくは アプリマニフェスト の記事を参照してください。

Gecko との通信

Gecko と Gaia の System アプリ間の通信は mozChromeEventmozContentEvent を通じて行われます。mozChromeEvent はクロームからコンテンツへの送出であり、mozContentEvent はコンテンツからクロームへの送出です。この通信は、信頼された UI の作成と閉鎖を管理したり、通知やその他のタスクのために必要な機能を挿入したりするのに使用されます。これにはあるアプリを起動するよう System アプリへ伝えることも含まれます。

注: これに関するドキュメントは、System アプリやその下層の対応コードに取り組んでいる開発者が主に関心を持つものとはいえ、整備する必要があります。今のところ、b2g/chrome/content/shell.js にあるコードを参照することで、これがどのように使われているか、多くの情報を収集できます。

関連記事

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: gurezo, hamasaki, kohei.yoshino, teoli
 最終更新者: gurezo,