SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Ubiquityを使った簡単なFirefoxアドオンの作成

  • X ポスト
  • このエントリーをはてなブックマークに追加

 Firefoxアドオンの開発は手間がかかります。しかし、「Ubiquity」ならもっと簡単に実現できます。UbiquityはMozilla Labsで開発中の実験的なFirefoxアドオンで、ブラウザ用のコマンドラインを使用可能にします。公開されてからまだ日が浅い技術ですが、新しいタイプのWebオペレーティングシステムの基盤として期待されており、大きな注目を集めています。本稿では、Ubiquityでのマクロフィルタの作成方法を紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 2004年に、私はあるゲームソフトメーカーの依頼で、同社の業務で使われているXMLベースのワークフローを修正する仕事を担当しました。依頼の内容は、SFとゲームのカンファレンスに出席しているライターが、インターネットに接続していない環境でも自分のノートパソコンにレポートを書き込めるようにしてほしいというものでした。当時はFirefoxが爆発的に普及し始めていたので、私はもっとよく理解しようと、このブラウザのXULインターフェースをかなり詳しく調べました。

 作業の末にかなり高度なエディタを何とか作り上げ、その過程でFirefoxの仕組みをかなりの程度まで理解することができました。また、XHTMLとJavaScriptとCSSの組み合わせは、XULと同じくらい強力で、XULよりも柔軟性に優れ、しかも多くのアプリケーションでXULよりもサポートが進んでいるということも分かりました。

 さらに、Firefoxのアドオンを作成するのはそう難しくないことも分かりました。とは言うものの、開発には何かと手間がかかります。なぜなら、特にアドオン作成専用の正式な開発IDEがあるわけではないからです(最も近いのはVenkmanですが、そのものではありません)。そのためコンポーネントを作成する場合は、XULのサポートとオーバーレイを構築し、JavaScriptとCSS(とサポートに必要な任意のXBL)でバインドしてから、1つ以上の構成ファイルを更新することが必要になります(構成ファイルはバージョンが変わるたびに変更されると思われます)。そして、内容をzipファイルに圧縮し、新しいアドオンを読み込み、ブラウザを再起動し、ブラウザをクラッシュさせるようなミスを犯していないかどうかドキドキしながら待つことになります。

 大きなアプリケーションの場合はそれでもアドオンを作成するだけのメリットはありますが、単純なものならばバインドしてzipし、更新するという面倒な手続きをせずに済む“その場しのぎ”の拡張を作成するのがよいでしょう。特に作成しようとするアドオンが、単にシステムの基本的なタスクを実行するシステムシェルスクリプトのようなものである場合は、その方が手軽です。

 Mozillaの研究開発チームがUbiquityを作成しようと考えたのもそのためです。これは、ブラウザ用のコマンドラインを使用可能にするアドオンと言えます。例えば、私はいつもかなり長い記事を書いてしまうのですが、私のコンテンツ作成の場は最近ますますWeb上へと移っているので、1段落にどのくらいの単語数を書いたか簡単にはわからないことがあります。

 Ubiquityを使えば、テキストを選択して、Ctrl+Spaceキー(キーは変更可能です)を押すことでコマンドライン"shell"を起動し、プロンプトに"word-count"と入力できます。これで、プロンプトの真下に選択範囲内のかなり正確な単語数が表示されます。Returnキーを押すと、コマンドラインが消えて単語数はポップアップメッセージとして画面の右下隅に表示されます。

 Ubiquityの各種コマンドはJavaScriptで書かれており、ローカルリソースとして内部に保管されています。ブラウザから通常使用できる一連のJavaScript機能に加えて、Ubiquityはページの閲覧や変更を容易にする数多くの追加機能もサポートしています。また、マウスクリック、キープレス、ページロードやアンロードなどのイベントをキャッチするフックも用意されています。この点に関しては、UbiquityはGreasemonkeyと非常によく似ています。ただし、Greasemonkeyはロード時に文書上のスクリプトを実行します。それに対して、Ubiquityスクリプトはロード時だけでなく、いつでも使用できるという長所があります。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Ubiquityのマクロフィルタの作成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Kurt Cagle(Kurt Cagle)

ライター、情報アーキテクト、XML News NetworkとMetaphorical Webのウェブマスター。カナダ、ブリティッシュコロンビア州のビクトリア在住。XMLToday.orgの編集長、O'Reilly Mediaの寄稿編集者。現在、XBRLに関する著書を執筆中。彼のTwitterはtw...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3404 2009/01/21 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング