TelefónicaがローンチしたZTE Openは,完全なWebベースOSであるMozillaのFirefoxOSを搭載した,初の一般ユーザ向け携帯電話だ。ローエンド市場をターゲットとして,€30の通話付きプリペイドフォンが€69で販売される。同社では今後数週間のうちに,他の市場にもFirefoxOSフォンをさらに投入する予定だ。その他の通信事業者からも,今年後半にはFirefoxOSベースの携帯電話が発売される。
Boot to Gecko(B2G)という名称でも知られるFirefoxOSは,Mozillaにとって,モバイルフォン用オペレーティングシステム市場への第一歩となる。完全オープンソースであるこのオペレーティングシステムは,Telefónica, Deutche Telecom, Telenorといった大手携帯電話事業者の共同開発によるもので,すべてWebテクノロジをベースにしている。Androidのような他のオープンソースオペレーティングシステムと違うのは,FirefoxOSがすべてオープン開発されていることだ。メインソースのコードリポジトリはGithubにホストされている。コントリビュートに関心があるならば,bugzillaプロジェクトからバグをピックアップして,次期出荷バージョンのコードを取得するプルリクエストを発行するとよいだろう。
アーキテクチャ的に見たFirefoxOSは,3つのレイヤから構成されている。
- Gonk – FirefoxOSのインフラストラクチャレベルで,Linuxカーネルがベースである。コードの多くをAndroidと共有しており,ハードウェアとのインタラクションを処理する。
- Boot2Gecko – MozillaのGeckoレンダリングエンジンで構成されるレイヤであると同時に,HTML5テクノロジ全体やNFC,bluetooth,通信,Webアクティビティ,アラーム,課金などのデバイスAPIをJavaScript APIとして提供する。
- Gaia – ユーザインターフェースレイヤ。HTML5,CSS, JavaScriptを100%使って実装されている。ホームスクリーンやブラウザ,ダイアラ,SMSアプリケーション,カレンダ,Eメールアプリケーションといった。FirefoxOSのコアアプリケーションで構成される。
FirefoxOS用のソフトウェア開発は,通常のモバイルフォン用にWebアプリケーションを開発するようなものだ。FirefoxOSは,他の携帯電話ではサポートされていない APIをいくつかサポート しているが,最終的にはそれらのAPIがすべてに適用されることを目標にしている。その考え方としては,漸進的拡張がWeb開発の望ましい姿であるという発想と,JavaScriptを使えばデバイスの特徴検出は容易である,というものだ。したがって,FirefoxOSと同時にAndroidやiOSでも利用可能なモバイルWebアプリケーションを開発する場合には,オペレーティングシステムの深い部分に統合された機能は使用しない,ということが推奨されるだろう。Mozillaの目標はモバイルWeb開発全体の現状を改善することであって,FirefoxOSだけが目的ではないのだ。
初のFirefoxOSデバイスは,新興国やローエンド市場を対象としている。これまでは旧式のソフトウェアや貧弱な機能のブラウザしか持たなかった安価なハードウェア上で,完全なWebエクスペリエンスを提供することが目標だ。このような位置付けのため,今日の市場でハイエンドの位置にあるiOSやAndroidデバイスと比較した場合,エクスペリエンス的に見劣りする部分はあるかも知れない。将来的にはよりハイエンドな市場もターゲットにしているが,最初に重点を置くのはZTE Openのようなローエンドデバイスということになる。
FirefoxOSがコンシューマ市場で入手可能になったので,モバイルWeb開発者にとっては,そのプラットフォーム上でWebアプリケーションの動作検証を実施する価値があるかも知れない。この目的のため,Firefoxエクステンションとして FirefoxOSシミュレータ が公開された。また,今回ローンチされたZTE Open以外にも,2種類の 開発者向けデバイスがGeeksphoneから 提供されている。