FLOSS桜山: Firefoxの拡張機能をつくる

さて、今夜19時より
FLOSS桜山 勉強会 〜第2回 Firefox 拡張機能〜へ行きます。


どんな機能作ろうか、未来の履歴を察知する拡張とか、ぷちセマンティックに望むRSSを引っ張ってきてくれる拡張とか、ボタン1つで1万種を超えるブラウザ全てのビューが見れる拡張とか、
ん、まてよ、FireFox関係ないけど、

私の使っているThinkPad には指紋センサーがある。これを応用して、指先から汗を感知し、そこから血内アルコール比率を割り出すとか、できるのかな、webカメラから素面の顔を保存しておき、酔ったか判断するプログラムとか、

よし、Hellow World からはじめよう。


参考サイト
mozilla Developer Center
mozilla Developer Center 日本語版
http://developer.mozilla.org/ja/docs/Building_an_Extension


基本のファイルの構成

install.rdf


<?xml version="1.0"?>
"http://www.mozilla.org/2004/em-rdf#"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
"urn:mozilla:install-manifest"
>
helloworld@bigchu.com
2
helloworld
0.1.0.0

"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
em:minVersion="2.0.0.0"
em:maxVersion="2.*" />

Show HelloWorld Dialog
bigchu
http://bigchu.com/


詳しくは後日まとめます。
新鮮すぎる知識であいまいな所があるので、後日修正を入れまくる可能性がありまう。

Firefox 拡張機能入門

日時: 2007-06-01
場所: 名古屋市立大学 経済
スピーカー: 小沢英裕さん

とりあえずアンチ"青いe"で楽しかったです。
名古屋でもこうしたデベロッパーな方々の集まりがあるんだと確信。これらの勉強かいをもっとディープに交差していったらしゃばぃ!


小沢さんが作った拡張機能をザクッ!っと説明していただきました。
メールサービスなどにすぐにログインできるもの、様々なメールサービスを使っている場合は重宝される。
これはもともとFirefoxは入力したIDやPasを覚えるので、それをただ出しているだけ。とのこと。


小沢英裕さんはどんな人?
Firefox のバグつぶしの経験あり。ver.8,9あたりではバグが多かったらしいので小沢さん活躍したのでしょうか。
日本一のFirefox 開発者の育ての親である。


まずFirefoxの歴史などを講義いただきました。

  • Netscape Public License (NPL) と Mozilla Public License (MPL)の違いは NPL はNetscapeにライセンスがある。
  • GNU General Public License (GPL)。
  • mozilla.org はツリーに登録されている全てのコードに MPL/LGPL/GPL のトリプルライセンスを与えるように作業中とのこと。
  • Firefox で提案がある場合、採用されればOK。

参考)http://www.mozilla-japan.org/MPL/


Firefox のアーキテクチャ

  • CSS でビジュアルを定義する
  • Javascript で全体を動作制御する
  • XUL 構造、ワイヤーを形成する
  • XPCOM 特殊な機能を提供する。ブラックボックス。

参考)
資料: The Mozilla Platform(後日図解説明するかも)


苦労話(2.0になったとき、バグバグだった。)


Firefox ver3.0 について

  • 3.0に向けてSQLiteを使い、履歴やBookmarkなどを管理しよう。SQLiteで書き換えよう!となっている。SQLite はあれこれいじりたいかも!
  • 画像をXMLで書こうとしている。
  • セキュリティ0フィックスをする。
  • 3.0では様々なUIが増える予定


Firefox 4.0

  • XPCOMの一部を廃止する。
  • 裏での通信のつり返しがムダになっている。XPCOM書き換えようという動きがある。


XUL (XML User-Interface Langage)

  • HTMLアプリケーションをブラウザなしで開ける。
  • Geckoエンジンで書いたものをXULで動かすことできます。
  • キオスク端末のような使いからをできる。XULが動かすことができれば、htmlアプリがいける!むしろそういった動きに展開できたらいいなと小沢さん。


それでも。
やはりセキュリティーホールが危険なのか。
署名を行い、安全で使いやすい環境にして、Mozilla を使おう!アンチ"青いe"

拡張機能をつくる

  • 基本はutf-8
  • htmlベースで使えるものは何でも組み込めます。swfでも。読み込む記述をしてやればOK


結論

  • 少し、web開発者との壁を感じたが、変人はみな変人でまとまる。次回も参加よっ