EclipSky200712

2,096 views

Published on

Eclipse Plugin開発勉強会200712の資料です。

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,096
On SlideShare
0
From Embeds
0
Number of Embeds
35
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

EclipSky200712

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

×