Javascriptでライブラリを作るとき何を基準にしたらいいか

Javascriptでライブラリを作るとき、どのライブラリを基準(ベース)に作ったらいいか。

タイトルそのまんまな質問を はてなで聞いていたりする のだけど、回答がいまいち集まらないので、こっちでも聞いてみる。

Javascriptの場合、何も外部ライブラリ使わずに書こうとすると、結構面倒だったり、車輪の再開発みたいなコードを書く破目になったりする。

なので外部ライブラリ使うことになるんだけど、じゃあ、何を使ったらいいでしょうか、ということになる。

個人的に、ライブラリ使う場合は、

  • 外部ライブラリにあまり依存したくない
  • 依存関係が簡単に解決できる
  • 必要最小限のライブラリだけをロードするようにしたい
  • なるべく汎用化して使いまわせるようにしたい

と考えていたりする。

例えばprototype.jsなんかだと、必要の無かったりする関数まで、読み込むことになったりする。で、上記の条件に合いそうなライブラリはJSAN(:=Javascript Archive Network)とかMochikitかなと思っている。他にも色々ありそうな気がするんだけど(何せ数が多い)、JSAN+Mochikitという組み合わせもひとつの手と考えていたりする。

ただJSANの場合、prototypeによるビルドインオブジェクト拡張のネームスペースをどうしたらいいかとか、あと結構導入するまでが面倒そうだとか、さらにコレが多分日本ではやらない原因なんだろうけど、日本語の情報がほとんど無かったりとかする。他にも、パッケージの仕組みが無かったりするので、階層の深いJSANライブラリ書こうとすると結構無駄が多いコード書くことになったりする。

とりあえず、

  • 外部ライブラリの動的読み込み
  • 最小限のライブラリ構成
  • 依存関係が容易に解決できる

というのが、理想的だったりする。

で、そんなライブラリはなさそうなので、自分で作ることになりそうなんだけど、実際に書くとなると、どう考えても車輪の再開発なので、非常にやりたくない。(Perlプログラマの三大美徳に反する)

となると、既存のライブラリを活用できるような構造を作る必要があるか、もしくは既存ライブラリを補完する形で、自分のライブラリを作っていくことになる。

で、ループしてどのライブラリ使うかという話になる。Javascriptのライブラリって、どれも一長一短だったりする気がするので、本当にどれ使ったらいいかが決まらない。

ま、実際に使ってみればいい話なんだけど、Javascript自体滅多にコード書かないので、使う機会が無かったりする。

そういうわけで はてなで聞いてみたり したんだけど、いまいち回答がない。というわけで、誰か回答をプリーズ。

といっても、今まで、そう回答があったためしがないような。

nyarlaが大体

Scrapbox でコメントや意見を書く