2009-07-09 Google Chrome OS メモ Chrome OSってどんなもの? これまでのOSはユーザーとアプリケーションの両方を面倒見ていた。 Chrome OSはユーザーの相手しかしない。アプリケーションの代わりにサーバー側OSと通信するだけ。 必然的に、ユーザーの相手をする「クライアント側OS」と、アプリケーションの相手をする「サーバー側OS」の分業を明確にする。 逆に、ハードウェアを仮想化すれば、物理的に1台の機会でクライアント側OSとサーバー側OSの両方を動かし、現在のPCのように1台で完結して動くPCを作る事も可能なはず。 Chrome OSの新しい点 X Window System を知っている人なら、全く新しい概念ではないと思うだろう。 Chrome OS は、いわば「Xサーバーのみ搭載したOS」のみたいなものだ。*1 強いて新しい点といえば、Xクライアント側の機能を持たないであろうという事と、恐らくハードウェア(デバイスドライバ)のサポートがかなり限られたものになるであろうという点。 これまでも、「メインフレームとワークステーション」とか「サーバ機とシンクライアント」といった似たような考え方があったが、OSレベルでクライアント側の機能しか持たないという点も新しいと言えるかもしれない。 Androidとの違い 様々なデバイスのサポート必要性の有無(デバイスドライバを組み込む下地が必要) オフラインでも確実に稼働する必要性(IP網を使用しない電話機能など) ネイティブアプリケーションを追加する事で機能を拡充する必要性の有無 Androidは携帯電話やカーナビゲーション、電子楽器、医療機器、NC端末などの組み込み向け用途に発展しそう Chrome OSはいずれ殆どの事務用PCや学習用PCを置き換える事になると思われるし、テレビや家庭用のWeb端末の役割(現在はNet Bookが担っている役割)を担うことになると思われる。 他のOS(WindowsやMac OS)の今後は? ゲームや研究、開発用途など、上記に当てはまらないタスクをこなすもの 基本的には、自分でアプリケーションを作って自分で使うような人向け iPhone OS は Android と殆ど同じ立ち位置にいると思われるが、より個人ユーザー向けとなるだろう。 開発者がやるべきことは? あなたのアプリケーションをWebアプリケーションに書き換えよう! サーバー側OSはLinuxでもいいしFreeBSDでもいい。もっと言ってしまえばIISでも構わない! 手始めに、HTML5とJavaScript(Ajax)の参考書を買ってこよう! 追記:これから必要になりそうな技術 JavaScript(特にAjax関係) CSS(忘れちゃいけない!) AtomPub OpenID / OAuth ハードウェア仮想化 クライアントサイド・データベースストレージ (未知ではあるが)Chromeブラウザの拡張機能作成(特にオフライン処理) *1:もちろん、Webブラウザ機能が統合されてはいるが