2009-02-23 2 views
14

최근에 Java 데스크톱 앱을 개발하기 시작했으며 관리자가 Rich Client Platform을 사용하도록 요청했습니다. , www link to ecipse rcp 사용할 리치 클라이언트 플랫폼

  • 하고, NetBean RCP - - Netbeans RCP web site,
  • 봄 RCP - spring rich client
  • 발키리 RCP - Valkyrie rich client
  • 사람이 가지고

    1. 이클립스 RCP : 나는 즉 자바 네 알고 이들 중 어떤 것에 대한 경험이 있다면 각각의 힘과 약점은 무엇입니까?

      덕분에 내 최종 사용자의 관점에서

    +3

    스프링 RCP가 이제 죽은 것처럼 보입니다. – givanse

    +0

    이것은 매우 늦었지만 5 년 전의 netbeans rcp 응용 프로그램을 개발 중입니다. 우리는 그것을 완전히 maven으로 마이그레이션 할 수있었습니다. 매우 적은 단계 만 거치면 IntelliJ IDEA로 앱을 개발하고 디버깅 할 수 있으므로 성숙한 rcp 플랫폼과 우수한 IDE를 가질 수 있습니다. – gorefest

    답변

    6

    I JSR 296을 살펴볼 것을 권장합니다. 아직 완료되지는 않았지만 실제로 핵심 기능을 제공 할 수있는 최적의 장소라고 생각합니다. 지나치게 복잡한 프레임 워크에 살도록 강요하지 않으면 서 모든 Java GUI 응용 프로그램에서 필요합니다.

    JSR 296을 사용하여 중간 크기의 응용 프로그램을 만들었습니다. 이 응용 프로그램의 창 레이아웃에 대해서는 MyDoggy을 사용합니다 (적극 권장). 레이아웃 관리를 위해 MiGLayout (Beyond recommended)을 사용합니다. 데이터 바인딩의 경우 JSR 295의 수정 된 형식을 사용합니다 (우리는 GUI 바인딩에 사용하는 JSR 295 위에 PresentationModel과 비슷한 것을 구현했습니다). 나는 Guice를 DI 메커니즘으로 통합하는 과정에 있지만 그 노력을 끝내지 못했습니다 (지금까지 JSR 296을 사용하여 여기저기서 '잘 동작 할 것'이라고 생각합니다). 보자 ... persistence는 큰 누락 된 링크입니다. 현재 XML 지속성을 위해 Simple을 평가하고 있지만 Guice와 같은 DI 컨테이너에서 작동하도록하는 문제가 있습니다. Betwixt이 있지만 Betwixt에 대한 의존성이 크기 때문에보다 간소화 된 것을 찾고 있습니다. 자바에 대한 다른 RCP 옵션에 대한

    의견 :

    넷빈즈 : 내가 넷빈즈에서 사용하는 방법 (제 취향에 너무 많은 디자인 안티 패턴)에 대한 몇 가지 근본적인 철학적 반대가있다. 결국 프레임 워크는 잘못된 디자인 결정을 내 리도록 강제합니다. IDE로 NetBeans를 사용하지 않으면 사용할 수 없습니다 (시도했지만 Eclipse에서 NB로 전환 할 수 없었 음). 아마 나 일 뿐이지 만, 복잡한 복잡한 마법사와 자동 생성 된 코드와 XML 파일을 사용하지 않고도 RCP 프레임 워크 용 코드를 작성할 수 있어야합니다. 비주얼 스튜디오에서 생성 한 오래된 Visual C++ 코드의 문제를 해결하는 데 너무 많은 시간을 쏟았습니다. 손으로 코딩 할 수없는 프레임 워크가 너무 까다 롭습니다.

    스프링 RCP : Spring의 사람들은 견고한 디자인이 좋지만 문서는 정말 약합니다. 속도를 높이기는 꽤 어렵습니다 (하지만 일단 그렇게하면 매우 빨리 작업을 완료 할 수 있습니다).

    Eclipse RCP : 배포 오버 헤드 때문에 Eclipse를 사용하지 않았습니다. (대상 사용자에 따라 다릅니다. 추가로 50MB의 런타임을 배치하면 작동하지 않습니다.) 의심의 여지없이 Equinox는 앱이 중요한 플러그인 기능을 필요로 할 때 아름답습니다 (물론 Equinox를 JSR 296으로 실행하거나 OSGi가 추진하는 Whiteboard 패턴과 유사한 디자인 패턴을 사용할 수도 있습니다).

    +0

    예, Netbeans RCP의 학습 곡선이 가파릅니다. 그리고 네, 어떤 이유로 다른 사람들이 사용하지 않는 독특한 디자인 패턴을 좋아합니다. 하지만 위의 게시물 이후로 크게 향상되었습니다. 대부분의 XML 파일이 단순한 주석으로 대체되었지만 마법사가 있지만 더 이상 사용할 필요가 없습니다. 훌륭한 입문서 (예 : https://leanpub.com/nbp4beginners)가 게시되었습니다. – Jirka

    +0

    @KevinDay 모든 업데이트가 있습니까? MyDoggy가 유지되지 않는 것처럼 보입니다. JSR 296은 죽었습니다. 오늘 우리는 어떤 옵션을 가지고 있습니까? – user3111525

    +0

    @ user3111525 소년 - 그게 $ 10M 질문입니다 ... 저는 JSR296과 JSR295를 사용합니다. 처음부터 프로젝트를 시작한다면 JavaFX를 진지하게 살펴볼 것입니다. –

    1

    .

    이클립스에서는 다른 두 가지보다 많은 구현을 보아 왔습니다. 사실 Netbeans 구현에 대해서는 알고 있지만 결코 손에 넣지는 못했습니다.

    봄부터 내가 처음 들었습니다.

    필자의 대답은 분명히 수퍼 10,000 피트 뷰이지만, 업계에서는 어느 것이 든 다른 것을 사용하는 것에 대한 선호도를 반영합니다.

    또한 차이점은 플랫폼을 사용할 수 있었던 시간에 비례합니다. 이클립스가 1.3에서 자바 스윙의 문제를 해결하기 위해 SWT를 생성한다는 사실을 기억하라.

    Netbeans은 JVM 개선으로 인해 많은 이점을 얻었으며 이제는 매우 빠르게 실행됩니다.

    봄은 아직 젊지 만 (다른 두 사람과 비교하여) 항상 새로운 것과 새로운 것을 배울 수 있습니다. 사용하는 것이 더 쉽습니다.

    다음은이 두 플랫폼 Eclipse RCP vs Netbeans RCP에 대한 기사입니다. 내가 명시 적 중 하나를 사용하지 않은 반면

    http://blogs.oracle.com/geertjan/entry/eclipse_platform_vs_netbeans_platform

    1

    도움이 될 수있다, 나는 이클립스 RCP의 일부를 사용하고 있습니다. 특히 필자는 이클립스 OSGi 런타임 (Equinox)과 일부 공용 유틸리티를 사용했으며 매우 기뻤습니다. OSGi는 함께 일하는 것이 환상적입니다. Eclipse RCP (사용하는 것 이상)를 사용하는 대규모 계약에 몇 명의 친구가 있습니다.

    내 프로젝트에 기존 스윙의 상당량이 포함되어 있지 않으면 Eclipse RCP가 가장 먼저 선택됩니다. OSGi는 너무나 재미 있습니다! (나는 스프링이 그것을 사용한다고 생각하지만 체크하지는 않았다)

    4

    Eclipse RCP에 대한 경험이 있고 그것을 추천 해 준다.

    장점 :

    • 구성 요소 - 구성 요소/PLU-의 모델을 재사용 할 수 있습니다.
    • 기본보기 UI를 허용하는 SWT 및 JFace 사용
    • Pluggable Views, Editors 및 Perspectives는 레이아웃을 쉽고 구성 가능하게 만듭니다.
    • Eclipse 확장 포인트를 사용하면 타사 API 및 도구를 쉽게 확장하고 통합 할 수 있습니다.

    단점 :

    • 이클립스 RCP는 도전적으로이 책을 얻을 선택하면 바로 프레임 워크를 밖으로 시작할 때

    , 그것은 invaluble입니다 학습 곡선 : http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

    1

    물론 모든 것은 제공하려는 응용 프로그램 및 서비스의 종류와 대상 환경에 따라 다릅니다. 그러나 OSGi를 개발 및 배포 플랫폼으로 추천 할 수도 있습니다. 기본 아키텍처 및 사양은 매우 잘 개발되고 입증되었습니다.

    Eclipse RCP 외에도 (더 작은) 오픈 소스 OSGi 프레임 워크 구현 인 Apache Felix (http://felix.apache.org) 및 Knopflerfish (http://www.knopflerfish.org)를 살펴 봐야합니다.

    0

    Eclipse RCP는 나중에 배치에서 새 기능을 추가 할 수 있도록 플러그인 메커니즘을 제공합니다. 또한 업데이트 메커니즘을 통해 사용자 간섭없이 시스템을 변경할 수 있습니다. 개발 단계에서 Eclipse RCP는 관점,보기, 편집기, 명령 및 조치 메커니즘을 사용하여 빠르고 견고한 기반을 제공합니다. 프로젝트에 툴바와 메뉴가 다른 많은 윈도우가 필요하다면 Eclipse RCP를 사용하는 것이 좋습니다. Netbeans 플랫폼의 비디오 만 확인하고 Helloworld 프로젝트를 실행합니다.하지만 느리고 서투른 것처럼 보입니다. 시작 시간은 40 초입니다. w/o를 다시 시작해도 응용 프로그램을 다시로드 할 수 있습니다. vogella.de는 다음과 같은 자습서 모음입니다. Eclipse RCP

    10

    INTRO - 결과에 관심이 있다면 건너 뛰십시오.)
    JSP와 매우 유사한 맞춤형 프로그래밍 언어 용 편집기를 개발하고있었습니다. 먼저 NetBeans 플랫폼을 사용하여 내 논문으로 편집기를 구현했습니다. 학교를 마친 후에 나는 직장을 가지고 있고 Eclipse RCP에 똑같은 것을 구현하기를 원했기 때문에이 프로젝트에서 직면했던 최소한 두 가지 플랫폼을 비교할 수 있습니다.

    RESULT - Netbeans 플랫폼과 Eclipse RCP 중에서 선택해야한다면 NetBeans 플랫폼을 선택해야합니다. 왜?
    좋은 스크린 캐스트, 좋은 자습서, 매우 적극적이고 유익한 커뮤니티, 매우 잘 문서화되어 있으며 소스 코드는 훌륭한 코드 규칙으로 잘 작성되어 있습니다. 또한 재미있는 도구 (쿠키, 조회)가 있습니다. 그것은 단순히 나를 맞는 것입니다.

    왜 Eclipse RCP가 저에게 적합하지 않습니까?
    문서가 약한이며, 규칙 및 API는이 같은 방법을 볼 꽤 ususal입니다 :-) 나를 위해 sometimes..ehm..too 이상한 있습니다

    /** 
    * Returns a description of the cursor position. 
    * 
    * @return a description of the cursor position 
    * @since 2.0 
    */ 
    protected String getCursorPosition() { 
    .. 
    } 
    

    가 잘 나는 그들이 농담해야 생각을 :-D 이 방법을 어떻게 사용해야합니까? 또는 다음과 같이 : 수와 속성의 fitts의 유형 비록

    /** 
    * Returns the range of the current selection in coordinates of this viewer's document. 
    * 
    * @return a <code>Point</code> with x as the offset and y as the length of the current selection 
    */ 
    Point getSelectedRange(); 
    

    , 나는 범위 ;-)

    이 theese 같은 surpises에서의 수 있습니다를 저장하는 Point 객체 이상적인 데이터 구조를 찾을 수 없습니다 Eclipse RCP

    3

    현재 스프링 RCP 애플리케이션을 개발 중입니다. 문서는 정말 약하다. 블로그와 포럼은 좋은 정보를 가지고있다. 일단 크루징을하면 일들이 상당히 빠르게 진행되고 프레임 워크에 익숙하지 않으면 기본적인 스프링을 배울 필요가 있습니다. VLDocking과 같은 Spring 라이브러리와의 통합도 탁월합니다.

    여러분의 유스 케이스가 독립형 자바 데스크탑 애플리케이션을 개발하는 것이라면 Spring Rich는 훌륭하다고 생각한다. 모듈을 배포하고 온라인 업데이트를 수행 할 필요가 없다면 대부분의 요구를 충족시켜야한다는 것을 의미합니다.

    +1

    그냥 리치 클라이언트 개발자가 최근에 RCP 코드를 'Valkyrie'라는 새로운 프로젝트로 이식했다고 발표했습니다. 몇 가지 업데이트와 향상된 기능을 소개합니다. 코드는 여기에서 찾을 수 있습니다 - http://www.gitorious.org/valkyrie-rcp - 여기에 자세한 정보가있는 스레드가 있습니다 - http://forum.springsource.org/showthread.php?101299-Trying-out - 새로운 경로 - 나는 지난 주 동안 틀을 어지럽 혀왔다. 지금까지는 멋지게 보였고 샘플 애플리케이션도 매우 훌륭했습니다. –

    7

    답변하기에는 너무 늦었지만 일부 사람들은이 페이지를 공격 할 수 있습니다.

    Netbeans RCP, 1) Netbeans 플랫폼으로 이동합니다. 그것의 성숙하고 진화 된 응용 프로그램을 개발하기위한 '사용하기 쉬운'플랫폼입니다.

    2) 이클립스 RCP의 학습 곡선이 꽤 가파르면서 시작하기가 매우 쉽다.그냥 고토, http://netbeans.org/kb/trails/platform.html, 자습서, 비디오 (상위 10 개 APi의 비디오를 보면서 책을 읽기 전에 자습서를 시험해보십시오. 그렇게하면 미리 물건을 얻을 수 있습니다).

    3) Netbeans RCP에 관한 책 (Netbeans RCP에 2 개가있는 것 같음)은 uptodate (많은 변경 사항이없는 경우에만 작은 변경 사항)입니다. 반면에 RCP에 관한 주요 책은 오랫동안 사용할 수 없었지만 (최근에, 2010 년 5 월에 새 판이 발표되었으므로 RCP 개발자들에게는 매우 좋은 일입니다. 새 버전을 게시하지 않는 저자들에게는 좌절감을 안겨주고 거의 모든 개발자가 새로운 문서를 읽는 것을 좋아합니다. 모든 사람이 문서를 읽는 것을 선호하지 않으며 업데이트 된 책을 게시하는 것이 거의 기술을 죽이지 않습니다. 나는 두 플랫폼 모두를위한 요리 책 형식 책을보고 싶다.

    4) Netbeans에는 완전한 통합 GUI 빌더가 있습니다. 이클립스 RCP, 당신은 코드를 넘겨 주거나 제 3의 GUI 빌더를 사야한다.

    5) Netbeans 플랫폼에는 모듈 간 통신을위한이 멋진 멋진 Lookup API가 있습니다. 이클립스 사람들은이 목적을 위해 확장 점을 사용한다고 생각합니다. 그러나 조회 api 일단 당신이 그것에 익숙해지면 쉽습니다.

    6) 어쨌든, 선택할 수있는 플랫폼에 대한 큰 디자인 결정. Netbeans 플랫폼이 나를 위해 작동합니다. 그것은 당신을 위해 작동하지 않을 수 있습니다. 두 플랫폼 모두 노력이 필요하며, 두 가지 모두 멋진 '아웃 오브 더 박스'기능을 제공합니다. 드라이브를 테스트하고 결정하십시오.

    +0

    Netbeans RCP의 훌륭한 소스 : https://leanpub.com/nbp4beginners. – Jirka

    1

    Netbeans RCP가 우수합니다. 몇 년 동안 먼 길을왔다. 많은 사람들이 사용하고 이해하는보다 강력한 기술 ('스윙')을 사용합니다. 이클립스 RCP (특히 SWT)는 나를 혼란스럽게 만들었다.

    관련 문제