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

Firefox OS apps 架構

本文旨在說明 Firefox OS 內部如何管理和啟動應用程式,主要是針對 Firefox OS 平台開發者以及正在移植 Firefox OS 到新硬體裝置上的開發者,如果你只是一個單純 App 開發者並不會需要知道,不過有興趣的話還是可以看看了解 Firefox OS。

App 啟動程序

當 app 被啟動時,主畫面 app (Home screen app) 會透過 App API 取得 app 的參照,然後呼叫 App.launch() 方法來啟動 app。

Gecko 收到相關請求後會發送一個含有 app 詳細資訊的 mozChromeEvent 到系統 app (System app),系統 app 接著會將一個 <iframe> 加入 DOM 樹(DOM tree)中,然後將 app 載入該 <iframe> 裡,直到 app 終止前這個 iframe 就是 app 的家。

每一支 app 都需要一個描述該 app 的 manifest 檔,app 包也需要遵照特定檔案階層,詳情請見 App manifest

和 Gecko 溝通

Gecko 和 Gaia' 系統 app 之間的溝通是經由 mozChromeEvent 以及 mozContentEvent 完成。 mozChromeEvents 是從 chrome 廣播到內容,而 mozContentEvents 是從內容廣播到 chrome,這些溝通主要在控管受信任 UI 的創建與終止,還有在為通知和其他任務,包括通知系統 app 啟動某個 app,提供必要的功能。

Note: 請參考 System app 文件 以取得更多有關這些事件如何運作的細節,同時也可以參考相關的原始碼 b2g/chrome/content/shell.js

延伸閱讀

文件標籤與貢獻者

 此頁面的貢獻者: chrisdavidmills, foxbrush
 最近更新: chrisdavidmills,