Gaia 位在 Firefox OS 的上層,其中包含系統管理功能以及一系列 Firefox OS 內建 apps。所有 Gaia 的原始碼 — 即便系統和鍵盤輸入法 — 都是由 HTML5 (HTML + CSS + JavaScript) 和 Open WebAPIs 技術所建構而成的,本文旨在說明 Gaia 內建的 apps 是如何運作之。
Gaia 功能類別
Gaia 內不同的 apps 大致上可以分成以下幾類。
Note: 許多 app 運作說明都會連結到 Gaia Github repo 上的 README 頁面,那是因為很多 app 都還在快速開發迭代階段,常常會有更動,所以一直更新 MDN 相當不切實際,如果想要進一步獲取最新的資訊,請再參考各 README 頁面。
平台類
包括系統、設定、螢幕鎖定、建置腳本和藍芽 apps。
平台類 apps:
- 系統 (System)
- System app 是第一個在 Firefox OS 開機程序 中被 Gecko 載入的web app,它負責處理許許多多系統運行工作,所以不算是在一般個別 web app 的範疇內。
- 瀏覽器 (Browser)
- Browser app (現在算是 System 一部分) 當有相關需求時,如網頁瀏覽、搜尋或書籤標記,提供瀏覽器類的功能。
- 視窗管理 (Window Management)
- Firefox OS 視窗管理功能 — 包括 app 生命週期和互動、通知、動畫等等 — 由 System app 特定一塊負責。
- 設定 (Settings)
-
Settings app 讓使用者設定裝置、回應當前活動呼叫 (帶有
configure
名稱的 Web 活動),讓其他 app 可以跳轉到 Settings app 其中的設定面板處理需要的設定任務 (例如說顯示 wifi 設定面板當數據傳輸無法使用時)。
通訊類
包括 Dialer, Contact, SMS apps 與 FTU apps.
生產力類
包括 Email, Calendar, 與 Clock apps.
生產力類 apps:
- 日歷 (Calendar)
- Firefox OS 內建 calendar app.
- 時鐘 (Clock)
- Firefox OS 預設 Clock app,具備鬧鈴、計時等功能
- Gaia e-mail app.
媒體類
包括 Camera, Gallery, Music, 和 Video apps 等等媒體相關功能,如桌布和轉送 DRM 鎖。
媒體類 apps:
- 影音 (Video)
- Video 是影音媒體撥放器。
- 相機 (Camera)
- Firefox OS 使用者透過相機照相、錄影,它也會回應 type 為pick 的 Web 活動,讓其他想使用相機功能的 app 使用相機。
其他 Gaia 特色功能
除了上述功能,Gaia 還有其他功能如 browser, homescreen, marketplace, test framework, PDF viewer, 和 app manager 等。
- pdf.js
- pdf.js 是 HTML5 基礎的 PDF 瀏覽器,Gaia 用其來瀏覽 PDF,請注意 pdf.js 的程式碼庫 (repo) 和 Gaia 是分開來的。