Hatena::Groupmoz-addon

Ci.nsIZIGOROu

2007-12-23俺様が31歳になりました

Japanese Mozilla Hackers

| 03:23 |  Japanese Mozilla Hackers - Ci.nsIZIGOROu を含むブックマーク はてなブックマーク -  Japanese Mozilla Hackers - Ci.nsIZIGOROu

知ってる限りの人を晒し上げ。(d:id:antipop:20050628:1119966355Mozilla版)

で趣旨もPerl版と同じなので、ここに挙がってるのは僕が知ってる限りの情報でよしあしは勝手に判断しる。


もっと居そう~。

自薦・他薦受け付けます(ぇ

404 Not Found辺り見ればいいんじゃないかと言う気がしてきた。w


MozillaにもCPAN的な機構が欲しい

| 02:25 |  MozillaにもCPAN的な機構が欲しい - Ci.nsIZIGOROu を含むブックマーク はてなブックマーク -  MozillaにもCPAN的な機構が欲しい - Ci.nsIZIGOROu

と言う事を以前から思ってた訳です。CPAN的な機構と言うのは、

って機構の事。

例えばちょうどd:id:cho45最近書いてた内容で、

なんかすげーめんどくさいなぁ。Java 並のめんどくささ。しかも Java ほどセオリーっぽい書きかたがない…… (仕様変更がどうとか……) 実はラッパがあったりしないのかなぁ…… XUL/XPCOMでのファイルのよみかき

って言ってるけど、これこそCPAN的な機構があって誰かが既に便利なwrapperを書いてればそれで済む話なんだよね。

拡張開発ってどれもこれもそういう枠組みがないから、同じコードが何度も登場したりする。全然DRYじゃない。そういう経緯があって、 em:requiresを使った依存関係の記述と挙動について - Ci.nsIZIGOROu - Mozilla 拡張機能勉強会とか、もっと前の JavaScriptの実行環境と周辺についての雑文 - Ci.nsIZIGOROu - Mozilla 拡張機能勉強会などを書いた。特に後者コメント欄d:id:mal_blueさんが色々教えて下さったので読んで頂けると。

を見るとjsmって言う拡張子JavaScriptimportする枠組みがあるみたいだけど、このjsmってのは開発者間でより拡張して、さらには他の開発者も利用する事が出来るんだろうか。この辺りは自分でも調べてみないとなぁ。

思ったんだけど、CPANで言うところのCPAN.pm的な拡張を作って、その拡張内にjsm的なファイルを管理できる枠組みがあったらいいんじゃないかなーって思う訳です。

みんなが拡張作る際に、この拡張にのみ依存関係を指定して、その拡張に対してIO関連のなんちゃらって言うjsmが必要だぜって指定してあげると良しなにやってくれるみたいな。

これじゃ僕の考えって伝わらないかな?(誰

追記1 (2007-12-24T02:28:00+09:00)

JSANとは決定的に違う物であって欲しい。

Mozilla系の実行環境で動く物だからもっとそれに依存した機能はモリモリ使って良いと考えてる。

こういう仕組みが出来れば、ササっとProxy ServerをMozillaで書くとか変態的な事が出来るようになるんじゃないかなーとか思ったり思わなかったり。

あとこういう枠組みが出来たら、デスクトップアプリ開発環境としては相当画期的なんジャマイカAirとか目じゃないよ。


em:requiresを使った依存関係の記述と挙動について

| 01:57 |  em:requiresを使った依存関係の記述と挙動について - Ci.nsIZIGOROu を含むブックマーク はてなブックマーク -  em:requiresを使った依存関係の記述と挙動について - Ci.nsIZIGOROu

今日で31歳になったid:ZIGOROuです。

皆さん、クリスマスリア充でしょうか。

(中略)

Mozillaのextensionはinstall.rdf中で以下のような記述によって、他のextensionへの依存関係を指定する事が出来ます。

<em:requires>
  <Description>
    <em:id>foobar@art-code.org</em:id>
    <em:minVersion>1.0</em:minVersion>
    <em:maxVersion>1.0.*</em:maxVersion>
  </Description>
</em:requires>

以前のMozilla拡張勉強会の3次会にてPiroたんに質問した時に教えて貰ったんだけど、挙動に関しては知りませんでした。

今回激しく寝坊して全然プレゼン聞けなかった第8回Mozilla拡張勉強会二次会にて、d:id:takenspcさん*1に聞いてみたんだけど、「試してみるしかないのでは?」と言われたので、えいやと調べてみました。><

何はともあれ二つ拡張を用意する

em:id, em:nameはそれぞれ、

em:id em:name
foobar@art-code.org FooBar
barbaz@art-code.org BarBaz

とした。em:requiresは前述の通りなんだけど、一応全部晒すと、

<?xml version="1.0" encoding="UTF-8"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
  <Description about="urn:mozilla:install-manifest">
    <em:id>barbaz@art-code.org</em:id>
    <em:name>BarBaz</em:name>
    <em:version>1.0.1</em:version>
    <em:creator>Toru Yamaguchi</em:creator>
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <!-- firefox -->
        <em:minVersion>1.5</em:minVersion>
        <em:maxVersion>2.0.0.*</em:maxVersion>
      </Description>
    </em:targetApplication>
    <em:requires>
      <Description>
        <em:id>foobar@art-code.org</em:id>
        <em:minVersion>1.0</em:minVersion>
        <em:maxVersion>1.0.*</em:maxVersion>
      </Description>
    </em:requires>
  </Description>
</RDF>

みたいな感じ。

実験方法

新しくプロファイルを作って以下の手順でどのようになるか。

  1. BarBazをインストール (依存しているFooBarが無い場合どうなるか)
  2. FooBarをインストール (きちんと使えるのか)
  3. FooBarをアンインストール (FooBarに依存しているBarBazの扱いがどうなるのか)

結果

BarBazをインストール

f:id:ZIGOROu:20071224014013p:image

こんな風にアドオンマネージャで怒られる。

但しアドオンマネージャからは何の拡張依存しているかまでは何も教えてくれない。

とにかくBarBaz使えない状態。

FooBarをインストール

f:id:ZIGOROu:20071224014012p:image

画面キャプチャーは有効後に敢えてFooBarを削除しようと試みている状態です。

とにかくFooBar, BarBaz供に仕える状態になっています。

FooBarをアンインストール

f:id:ZIGOROu:20071224014011p:image

と言う訳でBarBazは無効になります。

この辺りはきちんと出来てるみたいです。

まとめ

参考


第8回Mozilla拡張勉強会の後に思った事メモ

| 23:56 |  第8回Mozilla拡張勉強会の後に思った事メモ - Ci.nsIZIGOROu を含むブックマーク はてなブックマーク -  第8回Mozilla拡張勉強会の後に思った事メモ - Ci.nsIZIGOROu

ku0522ku05222007/12/25 18:40seleniumIDEを作っているShinya KasataniさんはXULまわりかなり詳しそうですよ。

ZIGOROuZIGOROu2007/12/25 19:41> id:ku0522さん
おお、情報ありがとうございます。
早速探してきます。

nanto_vinanto_vi2007/12/26 01:28Mozilla Japan の中野さんの「もずはっく日記」は外せないかと。
http://www.d-toybox.com/studio/weblog/show.php

d'Arcd'Arc2007/12/26 10:47もじらあんてなの中の人です。あんてなは最近ずっとメンテせずに放ったらかしです><

ZIGOROuZIGOROu2007/12/26 14:32> nanto_viさん

ありがとうございます。追加しました。

> d'Arcさん

いやいや、昔からやってる方がむしろ上がって来ない事が多いので参考になりました。

shogo4405shogo44052007/12/27 22:39JavaScripterな人もYet Anotherで晒して欲しいと言ってみるテスト><w

ZIGOROuZIGOROu2007/12/29 05:32> d:id:shogo4405さん
いやー、JSerは大体相場が決まってるでしょーw

NephiNephi2012/01/01 10:52Intelligence and simplicity - easy to udnreastnd how you think.

xzsewmhbxzsewmhb2012/01/01 20:42caZlkp <a href="http://hxwfveigjjbu.com/">hxwfveigjjbu</a>

fdplfnjfdplfnj2012/01/03 04:14RULYwL <a href="http://myfukajsmxzt.com/">myfukajsmxzt</a>

xumaditxumadit2012/01/03 23:57GYJr4A , [url=http://vksxdmpdzmwf.com/]vksxdmpdzmwf[/url], [link=http://rlifdubrtctn.com/]rlifdubrtctn[/link], http://vidudulgeiyl.com/