Twitter用のnpm比較検討

ちなみにまだほとんど動かしてません。ドキュメントやソースを見ただけでの検討です。

ntwitter

まずはよく使われているntwitter。でも検討しない。なぜなら

DEPRECATED

This repository has been unmaintained for two years, is deprecated on npm, and should not be considered an authoritative source of anything. Sorry for the inconvenience.
AvianFlu/ntwitter

だから。

twitter

つづいて名前そのままの twitterGithub だと desmondmorris/node-twitter なのだけど、npm には別の node-twitter があったりするのでとてもややこしい。

twit

そして twit 。
ドキュメントとしてはこれが一番しっかりしているようだし、Twitter API への対応もこれが一番な気がする。
例えば Streaming のときの message type の区別がしっかりされている。これは Streaming message types | Twitter Developers に載ってるのだけど、delete とか friends とかの通知。 twit はこれら通知のイベントをまとめて message で拾えるけど、全て別イベントとして区別出来る( https://github.com/ttezel/twit/blob/master/lib/streaming-api-connection.js#L262 以降参照)。そして user stream の message も区別されている。
先に挙げた twitter では user stream の messageしか区別していない( https://github.com/desmondmorris/node-twitter/blob/master/lib/parser.js#L39 参照)。

まとめ

ので個人的には twit を使っていきたいと思っています。
もちろん REST API 相手だと twit でも twitter でも get/post メソッドに REST API のパス、ツイート内容などを含むオプション、そしてコールバック関数、この3つを渡すという点は全く同じなので、使い方で比較出来るところはないと思います。
twitter のソースは非常に短い( https://github.com/desmondmorris/node-twitter/tree/master/lib 参照)ですし、依存しているモジュールも request, deep-extend の二つだけなので、使う上で非常に軽いはずです。