시소당
1. OSGI 프레임워크
- 설치된 플러그인을 모아서 결합, 상호 작용하도록 하는 것
- 별개의 컴포넌트들을 정의하고 실행하는 매커니즘을 제공
2. 런타임
- 플러그인간의 관계를 선언하는 메커니즘을 추가함
2.1 어플리케이션 모델
- 이클립스를 실행할 때 어플리케이션을 정의해야 한다.
- Standalone 제품 (기본)
- Extension 제품 (추가)
2.2 제품
- 어플리케이션 보다 상위 개념
- 사용자가 인식하고 실행할 수 있는 어플리케이션들의 집함 정도
2.3 확장 레지스트리 extension registry
- 플러그인은 확장점을 선언해서 자신을 확장하거나 구성할 여지를 놓을 수 있음
- 확장 과 확장점과의 관계는 plugin.xml 이라는 파일에 정의
(예)
UI - org.eclipse.ui.actionSets - IActionDelegate
<---- 기여, 구현
-----> 인스턴스 화, run() 호출
Extension-DebugAction
(특징)
- 확장과 확장점은 이클립스 전체에 걸쳐 매우 많이 사용된다.
- 코드 및 데이터를 기여하는데 사용된다.
- 선언적 형태
- 레이지 로딩
- 규모 확장
3. SWT
- 윈도우 시스템에서 정의한 위젯에 대한 접근
- 런타임 아래 자리 잡고 있는 것
- 저수준의 그래픽 라이브러리
- 리스트 , 메뉴 , 폰트 , 컬러 같은 표준 ui 컨트롤 제공
- 다양한 윈도우 시스템과 운영체제이서 사용 가능
- 최대한 많은 native widget 을 사용
- 이식성 & 고유성
- 런타임 이나 OSGi 프레임워크에 의존하지 않는다는 점
4. JFace
- 범용 UI 개념을 위한 구조 및 편의 기능 추가
- SWT와 같이 활용할 수 있게 설계되어 있음
- 이미지,폰트,텍스트,대화창,환경설정,마법사,진행상태알림,
- swt에 구조를 추가
5. UI WorkBench
- 워크 벤치는 jface에 프리젠테이션과 배치공간을 추가함
- 컨트리뷰션 기반 ui 확장성 제공
- 윈도우, 퍼스펙티브, 편집기, 액션 등을 갖춘 강력한 ui 패러다임
[출처] RCP 개념|작성자 2skfro
http://blog.naver.com/2skfro?Redirect=Log&logNo=80034398608