先取り! Google Chrome Extensions

第1回 Google Chrome Extensionsとは

この記事を読むのに必要な時間:およそ 3 分

この記事で取り上げているAPIは現在と使い方が異なっていたり,使用できなくなったものを含んでいます。

特にToolstrips APIは最新のChromeでは使用できなくなっています。詳しくは続・先取り! Google Chrome Extensionsをご覧ください。

はじめまして。株式会社ALBERTの太田と申します。Google Chromeのベータ版公開から早1年が経ち,開発版には待望の Extensions が実装されています。今回から4回にわたって,この Extensions の導入や開発手順について,解説させていただきます。

Google Chromeの開発版とExtensions

Google Chrome には3つのバージョンがあります。一般ユーザー向けの正式リリースであるstable版,テスター向けのbeta版,開発者向けのdev版の3つです。

さらに,ChromiumというChromeのベースになっているオプーンソースのWebブラウザがあります。誤解されがちですが,Chromiumの開発元はChromium Authorsとなっており,(形式上)Googleの名前はありません。

stable版は2008年12月12日に正式リリース(version1),2009年5月21日にGoogle Chrome 2としてリリースと,今のところ半年程度の頻度でアップグレードされています(セキュリティフィックスは随時行われています)。

これに対して,beta版は月に1回,dev版は週に1回程度の頻度でアップデートされます。beta版は正式版の公開に向けたテスト用のリリースで,次期stable版の候補となります。dev版は新機能の開発がメインになっていますので,新機能が搭載されている代わりに不具合が出る可能性が高くなります。これらのバージョンはEarly Access Release Channels から それぞれのバージョンのインストーラーを使用するか,Channel Changerで使用するチャンネルを切り替えることで利用できます。

図1 Google Chrome Channel Changer

図1 Chrome Channel Changer

Channel Changerのインターフェースは非常にシンプルで,3つのラジオボタンから1つを選んでUpdateボタンを押すだけです。あとはChromeを起動し,「Google Chromeについて」を表示し,必要に応じてアップデートを行えば,そのチャンネルにおける最新版のChromeに更新されます。

2009年8月末時点で,このbeta版とdev版では Extensions が搭載されており,実際にその機能を試すことが可能となっています。

【2009/9/17追記】2009年9月16日にstable版のChrome 3(3.0.195.21)がリリースされましたが,このバージョンではExtensionsを有効にすることができないように修正されました。このためバージョン3系統ではbeta版を含めてExtensionsを試すことはでき なくなりました。

Extensions のインストール

パッケージ化されたExtensionsを利用するには前述のbeta版かdev版をインストールした上で,起動オプションで --enable-extensions をつけてChromeを起動する必要があります(dev版では,このオプションは不要になる予定です。代わりにdisable-extensionsオプションというextensionsを無効にするオプションが追加されます)。

Windows XP

"C:\Documents and Settings\[username]\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" --enable-extensions

Windows Vista

"C:\Users\[username]\AppData\Local\Google\Chrome\Application\chrome.exe" --enable-extensions

Windowsで起動オプションを指定するには,コマンドプロンプトからアプリケーションを起動するか,ショートカットに起動オプションを記述しておくなどの方法があります。ほかのアプリなどから関連付けで起動した場合などは起動オプションを指定できない点に注意が必要です。

このほかにも、 Chrome は開発中の機能などを起動オプションで指定する方法を取っています。具体的には、 User Scripts を有効にする --enable-user-scripts や,デバッグログを出力する --enable-logging などがあります。

なお,いずれもテスター,開発者向けの機能のため,これらの機能についてサポートはありません。バグを発見した場合はフィードバックすることが望まれます。

Extensions の構成

Extensionsを構成するのは,一般的なウェブサイトのようにJavaScript,CSS,HTML(と画像ファイルなど)です。これらに加えて,manifest.json という名前のJSONファイルで,その Extension の仕様を定義します。

これらのファイルを,Chrome本体の機能を使ってzip形式でパッケージしたファイル(拡張子は crx)がExtensionsの本体になります(パッケージング方法は次回に解説します)。

なお,NPAPIプラグイン(FlashPlayer などで利用されているNetscape由来のプラグインインターフェース)を利用することも可能ですが,本稿では取り上げません。

著者プロフィール

太田昌吾(おおたしょうご,ハンドルネーム:os0x)

1983年生まれ。JavaScriptをメインに,HTML/CSSにFlashなどのクライアントサイドを得意とするウェブエンジニア。2009年12月より、Google Chrome ExtensionsのAPI Expertとして活動を開始。

URLhttp://d.hatena.ne.jp/os0x/

コメント

コメントの記入