More Related Content
More from Hiroki Kondo (17)
EclipSky200712
- 3. アジェンダ
連絡事項
20:00 まで借りています
その後懇親会 / 忘年会やりたいです。
特に予約はしてません。自由参加です
自己紹介
プラグインのコードを読むには ( 基礎編 / こんぴろ )
EclipseSpy のコードを読んでみる ( 毛利さん )
EclipsePlatform のコードを読むには ( 深海編 / こ
んぴろ )
- 4. 今回の自己紹介
新規ご参加 ITEngineer さん
その他リピーターさんいらっしゃい
でもやるよ自己紹介
- 5. お題 ( お一人様最大 5 分 )
お名前 (HN でもいいですよ )
普段のお仕事
母国語 ( プログラミング言語 )
ソースコード読んでます or 書くだけです or そう
いうお仕事ではありません etc...
- 6. へたこいた orz
1 枚ペらシート用意お願いするのわすれたー!
次回こそ必ず !
- 7. こんぴろの場合
近藤寛喜と申します
お仕事 :EclipseRCP を使ったアプリ開発
言語変遷 C+Pascal+Fortran( 学校 )→PHP
+SQL( 文化祭 )→VHDL/Ada( オブジェクト指向と
出会う )→EmacsLisp→Perl( 研
究 )→Python(Zope)→Java( お仕事 )→Ruby( 読
むよ !)
そーすこーどは読み物です。
書いたものは作品です。
英語にチャレンジ中
- 9. ソースコード読んでますか ?
ソースコードを読む利点
コンテキストって聞いたことありませんか ?
オブジェクト指向言語ではよく出てきます。
例 servletContext(J2EE)
例 Context(.NET)
その場の状態などを知っているもの = コンテキスト
ソフトウェアに携わるものにとっての「空気」
ソースコードを読んでいないとコミュニケーションしづら
い ( 形式手法 ( 仕様記述言語 ) でも同じ )
- 11. アジェンダ
環境整備
プラグインを彩るライブラリについて知っておく
プラグインの基礎情報を知る
依存関係について
拡張ポイントから攻める
PDE の使い方を共有する
( っていうか、未だによくわからん )
- 12. 環境整備
Eclipse 3.3 から環境ごとの配布になりました。
プラグインのソースを読む場合は以下
Eclipse for RCP/Plug-in Developers
Eclipse Classic
その他 EclipseSpy を入れておくと便利です。
kojihaji さんバックポートありがとう
https://bugs.eclipse.org/bugs/show_bug.cgi?
id=210162
- 13. プラグインを彩るライブラリ
Eclipse は UI に Swing/AWT を使いません
JFace/SWT を使います。
org.eclipse.swt や org.eclipse.jface のパッケージ
よくわかんないクラスは基本ぐぐる(やっぱり重要)
プラグインのベースについて知っておく
Equinox(OSGi) を使ってるということ程度
- 14. プラグインの基礎情報について知る
依存関係について
プラグインは基本的に既存のプラグインに機能を追加
していく
「 Plugin Registry 」ビューから「 Open Dependency 」
で依存しているプラグインを見られます。
もちろん PDE エディタでも見られます
拡張ポイントについて
既存のプラグインが機能を追加されるポイント
org.eclipse.ui.views とか org.eclipse.ui.editors とか
- 15. ui プラグインと何もないプラグイン
について
ほとんどのプロジェクトで JUnit で自動テストをして
います。
Mylyn/ECF は CI もやってます。
http://mylyn.eclipse.org/bitten/
テスト容易性を上げるため、 ui 関係のライブラリが
必要なプラグインとそうではないプラグインとで分
けられています。
- 16. org.eclipse.ui
EclipsePlatform の GUI のほとんどの機能を提供
しているプラグイン
エディタだったら org.eclipse.ui.editors
ビューだったら org.eclipse.ui.views
拡張ポイントのヘルプも参考に(英語 )
http://help.eclipse.org/help33/topic/org.eclipse.platform.d
oc.isv/reference/extension-points/index.html
- 18. CVS の設定 ( リポジトリパス )
について
巨大なプロジェクトはそれぞれリポジトリが作成ずみ
WTP/TPTP
Platform には Eclipse の基盤プロジェクト
Equinox/Launcher/JDT/PDE/SWT/JFace
Tools には開発を補助するツールのプロジェクト
Mylyn/GEF
Technology には新規技術のプロジェクト
ECF/RAP/Babel
その他詳しくは Web で (http://wiki.eclipse.org/CVS_Howto)
- 19. PDE の使い方
プラグインの依存関係や拡張ポイントを探すため
のパースペクティブ
Ui の拡張は Spy を使うと激しく便利
みなさんどうやって使われてますか ?
- 22. なぜ EclipsePlatform か
もはや Eclipse はただの IDE はない。
ポータブルに持ち運べる「環境」
Rich Ajax Platform
Rich Server Platform
- 23. EclipseLauncher
各プラットフォームごとにランチャーを作成
プロジェクト内で各プラットフォームごとにソースがある
EclipsePlatform の org.eclipse.equinox.executable
にソースコードがある
JRE 用のパスを用意するとそっちを参照したり、実は起
動スプラッシュと EclipseWorkbench の起動は別のプ
ロセスで立ち上がってるとかおもしろい
- 24. Equinox
Eclipse の基盤フレームワーク
ソースは添付済み
どうやってクラスをロードしているのか
どうやってプラグイン間の依存関係を作成しているのか
OSGi コンソールへのコマンドの追加方法
どんな風に Eclipse が起動しているのか
- 25. その他
org.eclipse.equinox.registry
拡張ポイントのプラグイン
org.eclipse.update
更新サイト用のプラグイン
だけと思いきや、起動時にプラグインを読み込むプラグ
イン