Firefox OSとは
Firefox OSとは、人気のWebブラウザである「Firefox」で知られるMozilla Foundationが開発を進めているオープンソースのモバイル用OSです。現在は、2013年の第一四半期にZTEからの製品化を目指して開発が進められています。当面は、発展途上国向け(最初はブラジルで発売されるとされています)のローエンドスマートフォン向けとされるようで、iOSやAndroid OSとの直接対決は避けるようです。
このFirefox OSは、名前に「Firefox」が付いています。この部分だけを見ると、WebブラウザがOS?と頭の上に疑問符が並ぶ方が多いと思うので、まずは、Firefox OSがどのようなものなのかをご紹介します。
従来とは異なる考え方のOS
誤解を承知で、ざっくりと説明するとLinuxが基盤OSとなり、その上でFirefoxで使われているHTMLレンダリングエンジン「Gecko」が直接動作しているものが、Firefox OSと言えます。よって、Firefox OSで動作するアプリは、すべてWebアプリということになります。
たとえば、Android OSでWebアプリを動かそうとした場合、Linuxが基盤OSとなるのは同じですが、その上でDalvik VMが動作して、そして、Webブラウザが動作し、その上でWebアプリが動作することになります。
Firefox OSでは、Dalvik VMのような中間レイヤがほとんどない状態で、Webアプリが動作します。Webアプリ側からは、WindowsのようなOSに相当する部分は見えず、従来のWebブラウザに相当する部分だけが見えていることになります。
こうしたコンセプトのOSは、Firefox OSがはじめてではありません。
Palm社が開発し、Hewlett Packard社が買収後、オープンソース化されたOpen webOSも似た仕組みをとっています。また、登場直後のiOSは、ネイティブアプリの開発を許しておらず、サードベンダはHTMLアプリケーションのみだったので、Firefox OSに近いところを狙っていたのかもしれません。
もうひとつ、フォームファクタが異なり、OSと呼ぶよりもWebブラウザに近い実装ですが、ノートPCで動作するChrome OSも似たコンセプトです。いずれもメジャーではありませんが、従来とは異なる考え方を持ったOSと言えますし、近い将来、このような仕組みを持つOSがメインストリームになっていく可能性は、十分に考えられます。
Firefox OSになるとアプリはどうなるのか?
iOSやAndroid OSの台頭で、モバイルアプリはネイティブアプリでないと、キビキビしないという認識があるかもしれません。FacebookがHTML5ベースで書かれたアプリを捨てて、ネイティブアプリをリリースしたことで、これが確定的になったとも言えます。
技術的には、HTML5でモバイル向けのWebアプリが開発できる状況が整っていますが、iOSやAndroid OSで動作しているWebアプリは、ネイティブアプリと比較して見劣りするものを多く見かけます。先で説明したように、基盤OSから数レイヤを経てWebアプリが動作していることを考えると、ネイティブアプリのような動作をさせるために、努力を必要とするのはご理解いただけるはずです。
ただし、Firefox OSのように、Webアプリを直接動作させることを前提に開発されたOSであれば状況が変わってくるはずです。Webアプリから基盤OSまでの中間レイヤが非常に少ないので、Webアプリを効率的に動作させることが可能になります。
また、Firefox OSの特徴として、Webブラウザと非常に似ているために、これ専用にアプリを開発することなく、従来のWebアプリに多くの手を加えることなく動作させることが可能で、セキュリティモデルも同様とさせれています。
アプリ開発者は、ディスクトップはWebアプリ、モバイルはネイティブアプリとつくり分けをする必要がなくなりますし、新たな学習に多大な時間を割くことなく、これまでの経験値を活かして開発を行うことが可能になると言うワケです。
Web技術で開発されたOS
Firefox OSでは、Webアプリを開発すれば、それがネイティブアプリという扱いになります。たとえば、現状のFirefox OSでは、電波強度やバッテリ残量表示の制御から、カメラや電話、SMS、音楽やビデオ再生のアプリまでWeb技術で開発がされているという徹底ぶりで、Web=Nativeといったような状況です。
ただし、現在は、ソフトウェアの最適化が進んでいないためか、既存のOSと比較するとのんびりした動きをしています。動き自体は、iOSやAndroidと遜色ないので、動作速度が改善されれば実用です。次回では、ソフトウェアのほうへフォーカスを移して詳しくご紹介していきます。