SWT/JFace를 사용하는 대신 Eclipse Rich Client Platform을 내 애플리케이션의 기반으로 선택해야하는 이유는 무엇입니까?SWT/JFace 또는 Eclipse RCP?
답변
Eclipse RCP는 GUI (SWT/JFace)가 아니라 OSGi 기반 플랫폼입니다. 하기 위해
그래서, 당신은 RCP 프레임 워크를 선택할 것 :
- 는
- 자신의 라이프 사이클을 관리하여 다른 모듈의 더 나은 정의를 가지고 있고, 버전 호환성
- 는 classloader issues을 격리 할 것.
응용 프로그램이 하나의 모 놀리 식 GUI 글꼴 끝인 경우 RCP가 약간 과장 될 수 있습니다. 추가에서
그 VonC has pointed out (은 OSGi 플랫폼 케이크 : 모듈화, 클래스 로더 분리, 확장 가능한 아키텍처를) 포인트 :
이클립스 RCP로, 이클립스 RCP는 최종 제품의 전반적인 개발을 쉽게 할 수 많은 응용 프로그램 수준의 서비스를 제공 당신은 얻을 것이다 :
- 준비하고 확장 가능한 UI 응용 프로그램 프레임 워크
- 관점을위한 분리 이산 응용 분야 키 바인딩 문맥 핸들러 바인딩 툴바 및 메뉴
- 와 자신
- 명령 추상화주기와 UI 재사용 블록을 제공
- 보기 및 편집자 전체 이클립스 생태계의 모든 장점
- p2 provisioning 설치 관리 및 자동 실행 응용 프로그램의 날짜는
- ECF communication framework
- BIRT reporting tools
- EMF 및 modeling tools
- 더 많이 ... 물론
- 후반 반드시 당신이를 사용하는 것은 아닙니다 거대한 플랫폼 인 Eclipse RCP 플랫폼을 사용하면 이점을 얻을 수 있습니다.
응용 프로그램의 범위에 따라 Equinox를 기본 OSGi 컨테이너로 사용하고 그 위에 고유 한 GUI 클라이언트를 빌드하는 것이 좋습니다.
또한 Eclipse RCP는 SWT/JFace에서 GUI 프레임 워크를 결정할 때 유일한 게임이 아닙니다.더 나은 귀하의 요구에 스위트하는 심각한 경쟁자가 있습니다
- Riena Platform Project 자신의 말 을 인용되는이
- E4 Project 프로젝트를 "다중 계층 엔터프라이즈 클라이언트/서버 응용 프로그램을 구축하기위한 기초는"진행중인 작업에이다 훨씬 더 모듈 식 설계를 염두에두고 차세대 Eclipse RCP 플랫폼을 구축하십시오.
편집 : 이클립스 E4 프로젝트는 내 원래의 대답이 자신의 완전히 가능한 리치 클라이언트 응용 프로그램 프레임 워크/플랫폼이되었다 지금 게시 된 이후 진행중인 단지 작품 인 졸업했다. 최신 Eclipse 4.2 (Indigo) IDE의 기본 플랫폼으로 사용되는 시점까지 성숙해 왔습니다.
내 2 센트짜리지만, 바닐라 SWT/JFace는 학습 곡선이 적을 수 있습니다. 사실 단순한 GUI 일뿐 아니라 "플랫폼"(RCP 방식)을 배우지 않아도 SWT 구성 요소를 파악하고 GUI를 구축 할 필요가 없습니다. 전반적으로, 나는 그것을 더 단순한 것으로 본다 (그렇지만 나는 RCP에 대해 많이 모른다!).
이클립스 4 의존성 주입 메커니즘은, 플랫폼,
모델 편집기 함께이 E4 도구에 추가, 매우 가볍고 당신이를 저장할 수 있습니다 E4와 이클립스 RCP, 지금을 선택하는 훌륭한 자산입니다 많은 시간
RCP가 부담이되는지 아닌지 OSGi (Roland Tepp의 대답 (http://stackoverflow.com/a/2055496/2986905) 참조)를 추가한다고 수정하고 싶습니다. depedning 손에있는 유스 케이스에. 또한 SWT/JFace는 RCP없이 OSGi에서 실행될 수 있습니다. –