ECF(その2)

ECFで何ができるか、分かってきたことを簡単に。

  • 様々なチャットプロトコルをサポート!(今のところIRC,XMPPがサポートされてます。)
  • Eclipse同士で編集している内容を共有

上記の二つがサポートされるだけでなんと離れたところでペアプロできちゃうんですね。
これってすごいことだと思いませんか?ECFの"C"の部分は"Communication"らしいけれど、実は"coraboration"を目指しているんでしょうね。実際付属するサンプルプラグインのプラグイン名は"corab"だし。次のマイルストーンリリースではSkypeとかGoogleTalksのプロトコルもサポートされるらしいです。

そのほかにも

  • 接続しているEclipseにファイルを送信したり、ビューを開け!とか、ファイルを開け!とか合図できる
  • プロジェクトのデータをシェアできる。
  • ネットワーク上のサービス(mDNS)を検索できる。

そんな感じです。

で、使い方ですが・・・。まだ良く分かっておりません。
Eclipse同士で編集している内容を通信するために独自プロトコルを用いるんですが、
そのためには現状はサーバーを立ち上げてそこに接続させるのです。
今さっき書いたmDNSで引っかかればいいのですが、まだそこは未実装らしいです。

で、中身ながらサンプルをいじくっているわけですが、
クラスごとの責務がいまいちビビっと理解できておらんのです。

チャット関係の処理は
org.eclipse.ecf.provider以下のプラグインをおっかければよろし。らしいですし、 

Eclipseのデータ共有に関しては
ISharedContainerを作ってサーバーへ接続
IChanelを開いてチャンネル同士でメッセージをやり取り。
それを耳立てて聞いているオブジェクトを用意してあげて
Viewまで引き上げるのが基本らしい。

もう少し分かってきたらサンプルを書いてみたいと思います。