A Better Project@はてなダイアリー(インポート版)

基本的にここは更新されません。詳細はaboutへ。

Firefoxの-chromeオプション/Firefox・XUL使いへの道へ

Firefox Hacks―次世代ブラウザ徹底活用テクニック

Firefox Hacks―次世代ブラウザ徹底活用テクニック

Firefox Hacks―次世代ブラウザ徹底活用テクニック』を購入。購入した理由は1年ほどFirefoxから離れていたことの穴埋めをするためと、XULの情報をWebで探していたときに、著者の名前を見かけたからです。

まだ少ししか読んでないのですが、最初の方に、「-chromeオプション」を指定したら、HTAのようなウィンドウで起動できるという記述(実際には、「chromeフリーのウィンドウ」と説明されていますが)を発見。

試してみたところ、ローカルファイルだと、file:///形式でURLを指定しないと起動できない。これはIEが拡張子をHTAにするだけで良いのに比べて、遥かに面倒。

Firefox(正確にいえばGeckoXPCOM)でスタンドアローンアプリを作ろうと思えば、やはり、XULを使うしかないらしい。

これを機に、Sleipnir使いからFirefox使いへ再び戻ろうと思います。やはり、Phoenix(Linux時代に使っていました)からの腐れ縁はなかなか切れないらしい。Sleipnirへ一度舞い戻ったのは、Firefoxのメモリ関連のバグが我慢できなかったからなのですが、1.5ではメモリに関する議論がきちんとなされている(参考:メモリ使用量スレッド FAQ - えむもじら)ようですし、そろそろ戻れるだろうなと。

なぜ、XULか?というのは、クロスプラットフォームで動くアプリを作るのに、最初に通っても良い道だろうと考えるからです。N88日本語Basicがプログラミング初体験だった自分としては(自在に扱えるわけではなく、義務教育の授業などで少し触った程度ですが)、GUIを作るところから、コードでなければ納得できないんですよね。GUI部品を組み合わせて〜とかいう方式にはどうも違和感があります。XULを体験した後に、それがXULでは駄目だと思ったら、それを元に他の言語/ツールキットで作っても遅くないと思っています。しかし、MozillaXULで出来ている以上、XULでそこそこのソフトウェアが作れるとは思っていますが。

確かに、クロスプラットフォームで動くアプリを作りたいという願望には、多くの幻想が含まれているだろうことは否定しません。クロスプラットフォームで動くアプリを作るのは、そう優しいことでないとは十分承知しているつもりです。

はっきりいって、私はWindows派です。だけれど、LinuxMACも使いたいし、複数のOSがユーザやシステムの目的などに応じて、お互いに共存するべきだと思っています。確かにそのOSでなければ動かないソフトウェアというのは存在するでしょう。だけど、良く使うソフトウェアというものは、多くのOSで動くべきだと思います。実際、良く使われるソフトウェアは多くのOSに移植されています。Firefoxも、Netscape(Mozilla)がLinuxに移植されることがなければ、こうしてWindowsで広まることはなかったでしょう。

Windows Vista向けのソフトウェアを開発するために、.NETやそれに関連するXAMLを学ぶというのもひとつの選択であると思います。しかし、それはどうも気乗りがしない。

XULという、どう見ても、茨に見える道を選ぶ明確な理由を、今は持ち合わせていません。崖っぷち文系大学生がやるべきことでもないと思います。はっきりいって、現実から逃げている。わがままだろうなと思います。

それでも。私はあえてその道を行くことを選ぶ。18ヶ月?やってやろうじゃないですか。それ以上かかるかもしれないことも承知していますし。

Firefox のタブ機能を改造(鷹の島)のコメント欄を見ればわかりますが、potappoというのはFirefoxで何かしたくて作ったハンドル*1です。結局、一度Sleipnirに戻ってしまったのは、前述の通りですが。

まずはFirefoxの整備をしないとなあ。それもまた楽しいので、問題ないですが。やっぱり、自分流にカスタマイズできるのは嬉しいんですよね。なんにしても、改造大好きな人です。

なぜ文系に進んだかという最大の理由は、数学(主に計算)が苦手だからなので、その辺もなんとかしたいなあと思います。たぶん、そうしないと上にはいけない。あと、デザインセンス。

*1:今はこのハンドルしか使ってません。mixiなどの内輪で、本名のニックネームを使っていることを除いては。他はほぼ捨てハンな気も・・・。