XULRunner の目標は、(Firefox, Thunderbird に代表される) XUL アプリケーションを配布可能にする製品を提供し、さらに埋め込み技術を提供する事です。次に挙げる機能をすでに実装済み、あるいは計画をしています。
Gecko の機能
- XPCOM
- ネットワーク処理
- Gecko 描画エンジン
- DOM の編集及びトランザクションのサポート (UI以外)
- 暗号化
- XBL (XBL2 計画)
- XUL
- SVG
- XSLT
- XML 拡張機能 (
XMLHttpRequest
,DOMParser
など) - Web サービス (SOAP)
- 自動アップデートのサポート (まだ未完了)
- Type ahead find toolbar
- 履歴実装 (the places implementation in the 1.9 cycle)
- アクセシビリティのサポート
- IPC サービスによる Gecko ベースのアプリケーション同士の通信 (まだ未完了)
- ストレージ / sqlite のインタフェース (まだ標準では有効になっていません)
ユーザインタフェースの機能
XULRunner は次に挙げるユーザーインタフェースを提供し、埋め込み技術者によって適当な状況化で(意訳:ハードウェアに特化した実装という意味での)オーバーライドをするでしょう :
- XUL アプリケーションのインストール、アンインストール、アップグレードを行う API とユーザーインターフェイス。 詳しくは wikimo:XUL:Installation Story を参照。
- 拡張機能マネージャー
- ファイルピッカー (OSネイティブの適切なファイルピッカーを使います)
- 検索ツールバー
- ヘルパーアプリダイアログ / UI
- セキュリティ UI (SSL キーチェインの管理など)
埋め込み API
XULRunner は次に挙げる埋め込み向け API を提供しています :
- クロスプラットフォーム埋め込み (XRE_InitEmbedding)
- JavaXPCOM 埋め込み
- gtkmozembed (Linux のみ)
- ActiveX コントロール (Windows のみ) (まだ不完全)
- NSView-based-widget (Mac OS X のみ) (まだ不完全)
まだ "不確かな" リスト
次に挙げる機能についてはすでに議論されていて、開発の時間の余裕があり、コードサイズがさほど大きくなければ含めると思われます :
- LDAP サポート
- スペルチェックサポート (辞書を含めるかどうかは未定) 詳しくは bug 285977 を参照してください。
- プロファイルローミングの基本サポート (アプリケーション固有の拡張性を含む)
- PyXPCOM 埋め込み (まだ不完全) - PyXPCOM バインディングを含むカスタムビルドをコンパイルし、Python が利用可能であれば動作します。ActiveState 社は彼らの製品に PyXPCOM を使用しています。
除外
XULRunner は以下の機能は提供しません :
- ブックマークと履歴の UI (アプリケーション/埋め込みソフトで管理すべきです)
- XForms (XForms は拡張が利用可能となるでしょう)