Pergunta

Nós recentemente começou a desenvolver um aplicativo de desktop Java e gerenciamento pediu que fazemos uso de rico Client Platform. Eu sei de quatro para Java a saber:

  1. Eclipse RCP - www link para Ecipse rcp ,
  2. NetBean RCP - Netbeans RCP web site ,
  3. Spring RCP - primavera cliente rico
  4. Valkyrie RCP - Valkyrie cliente rico

Alguém tem alguma experiência em qualquer um destes e se assim o que são a força e weaknesess de cada um?

graças

Foi útil?

Solução

Eu recomendo que você dê uma olhada JSR 296 - não é completo ainda por qualquer trecho, mas eu acho que atinge o ponto ideal para a prestação de determinadas funcionalidades do núcleo que você realmente precisa em todos os aplicativos Java GUI, sem forçá-lo para viver em um quadro excessivamente complicado.

Eu tenho usado JSR 296 com sucesso para criar uma aplicação de médio porte. Para layout da janela neste app, usamos MyDoggy (altamente recomendado). Para o gerenciamento de layout, usamos MigLayout (Beyond altamente recomendado). Para a ligação de dados, usamos uma forma modificada da JSR 295 (implementamos algo semelhante a PresentationModel no topo da JSR 295 que usamos para a nossa ligação GUI). Eu estou no processo de incorporação Guice como um mecanismo de DI, mas não terminei esse esforço (até agora, eu acho que vai 'jogar bem' com JSR 296 com um ajuste aqui e ali). Vamos ver ... persistência é o grande elo perdido aqui - estou atualmente avaliando Simples para persistência XML, mas am correndo em problemas com fazê-la funcionar com recipientes DI como Guice. Eu tenho Betwixt de trabalho, mas as dependências em Betwixt são enormes por isso estamos à procura de algo mais simplificado.

Os pareceres sobre outras opções de RCP para Java:

O NetBeans: Tenho algumas objeções filosóficas fundamentais para a abordagem utilizada pelo NetBeans (demasiados projeto anti-padrões para o meu gosto). No final, as forças estruturais que você tome decisões de design pobre - e é quase impossível de usar se você não usar o NetBeans como seu IDE (eu tentei, mas eu simplesmente não podia mudar de Eclipse para NB). Provavelmente é só me, mas parece que ele deve ser possível escrever código para um quadro de RCP sem o uso de grandes assistentes complicados e resmas de arquivos de código e XML gerados automaticamente. Eu passei muitas horas a solução de problemas de idade Visual C ++ código gerado pelo Visual Studio que estou extremamente desconfiado de qualquer estrutura que não pode ser codificado-se com a mão.

Spring RCP: O pessoal da Primavera tem um bom design sólido, mas a documentação é muito, muito fraco. É muito difícil chegar até a velocidade sobre ele (Mas uma vez que você fizer isso, você pode fazer as coisas muito rapidamente).

Eclipse RCP: Não usei Eclipse apenas por causa da sobrecarga de implantação (depende do seu público-alvo - para nós, a implantação de um extra de 50 MB de tempo de execução simplesmente não funciona). Sem dúvida Equinox é uma coisa bonita, se seu aplicativo precisa de funcionalidade significativa plug-in (é claro, você pode executar Equinox com JSR 296, bem como, ou padrões de uso de design semelhantes ao padrão Whiteboard promovido pela OSGi).

Outras dicas

INTRO - pule se você está apenas interesterd no resultado;)
Eu estava desenvolvendo um editor de uma linguagem de programação personalizada muito simmilar para JSP. Primeiro eu tenho implementado o editor como minha tese usando plataforma NetBeans . Depois de terminar a escola, eu tenho um trabalho e eles queriam me para implementar a mesma coisa em Eclipse RCP , então agora eu pode comparar estas duas plataformas, pelo menos em coisas que eu estava enfrentando durante esse projeto.

RESULTADO - Se eu tivesse uma escolha entre a plataforma NetBeans e Eclipse RCP, eu definitelly escolher uma plataforma NetBeans . Por quê?
Grandes screencasts, bons tutoriais, comunidade amigável e útil muito ativo, muito bem documentado eo código fonte é escrito bem e com boas convenções de código. Também tem alguns gadgets interessantes (biscoitos, pesquisa). Ele simplesmente me convém.

E por Eclipse RCP não combina comigo?
A documentação é mais fraco e convenções e API são sometimes..ehm..too estranho para mim :-) É muito ususal para ver métodos como:

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

Bem, eu pensei que eles devem estar brincando comigo :-D Como vou usar esse método? Ou assim:

/**
* 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();

Embora o número e tipo de atributos fitts, eu não encontrar a estrutura Ponto objeto ideal de dados para armazenar gama; -)

Há um número de theese tais surpises em Eclipse RCP

Tarde demais para responder, mas alguns caras podem bater nesta página.

Gostaria de ir para Netbeans RCP, 1) plataforma Netbeans. sua bastante maduro e tem evoluído é uma plataforma de 'fácil de usar' para desenvolvimento de aplicações.

2) É muito fácil para começar com, enquanto que a curva de aprendizado da RCP eclipse é bastante íngreme. Apenas Goto, http://netbeans.org/kb/trails/platform.html , lá você vai tutoriais, vídeos (fazer assistir a vídeos no top 10 da API mais experimentar tutoriais antes de ler livros, de que maneira você vai ter um jeito das coisas de antemão).

3) Livros sobre netbeans RCP (i acho que existem 2 no netbeans RCP) são uptodate (pequenas alterações só que você não terá muito problemas com). Considerando que o principal livro sobre RCP não estava disponível por um longo tempo (recentemente .que é, de maio de 2010, a nova edição foi lançada, então isso é uma coisa muito boa para desenvolvedores Eclipse RCP. Ele não estava lá quando eu estava tentando para aprender isso. Fico frustrado com autores que não publicam novas edições, quase deixando novos desenvolvedores em apuros. nem todo mundo gosta de ler docs. não publicar livros atualizados quase equivale a matar a tecnologia). Eu adoraria ver um livro tipo livro de receitas para ambas as plataformas.

4) Netbeans tem construtor de GUI integrado completo, que é grande vantagem. Eclipse RCP, ou você tem que codificar manualmente ou comprar um terceiro construtor partido GUI.

5) plataforma Netbeans tem esta muito legal Lookup API para comunicação intermódulos. Eu acho que caras eclipse usar pontos de extensão para esta finalidade. Mas api pesquisa é fácil uma vez que você começa um jeito dele.

6) De qualquer forma, é uma grande decisão design, sobre qual plataforma escolher. Plataforma NetBeans funciona para mim. Ele pode não funcionar para você. Ambos plataforma exigem esforços, tanto fornecer maravilhoso 'fora da caixa' características. Test drive ambos e depois decidir.

Eu tenho experiência com o Eclipse RCP e gostaria de recomendar-lo.

Pros:

  • Componentes - Componente / plu-in modelo permite a reutilização.
  • SWT e JFace que permite nativa procurando UI
  • Vistas plugáveis, editores e Perspectivas fazer layouts fácil e configurável.
  • pontos de extensão Eclipse tornam a extensão e integração com APIs do 3o partido e ferramentas fáceis.

Contras:

  • curva de aprendizado

Se você escolher Eclipse RCP, desafiadoramente obter este livro, é invaluble quando apenas começando com o quadro: http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

Atualmente estou desenvolvendo uma aplicação de Primavera RCP. A documentação é realmente fraco, isso é certo, mas os blogs e fórum tem uma boa quantidade de informações para começar. Uma vez que você começa de cruzeiro, as coisas se movem muito rápido e você realmente só precisa de aprender Primavera básica se você não está familiarizado com a estrutura. As integrações com Primavera bibliotecas como VLDocking é excelente também.

Eu acho Primavera Rich é grande se seu caso de uso é desenvolver um autônomo aplicação desktop Java. O que quero dizer com isso é que você não precisa distribuir módulos e fazer atualizações online, então ele deve cumprir a maioria das necessidades.

Embora eu não tenha usado explicitamente qualquer um deles, eu tenho porções usados ??do Eclipse RCP. Especificamente, eu usei o tempo de execução Eclipse OSGi (Equinox) e alguns utilitários comuns e eu muito satisfeitos. OSGi é fantástico para trabalhar. Tenho vários amigos em grandes contratos que usam Eclipse RCP (mais do que eu uso) e eles rave sobre ele.

Se o meu projecto não continha uma grande montagem of Swing legado, Eclipse RCP seria minha primeira escolha. OSGi é muito divertido! (Imagino Primavera usa-lo também, não ter verificado embora)

Claro que tudo depende do tipo de aplicações e serviços que deseja fornecer, e o ambiente de destino. Mas eu também pode recomendar OSGi como uma plataforma de desenvolvimento e implantação. A arquitetura e especificações subjacentes são muito bem desenvolvidos e comprovada.

Além do Eclipse RCP que você deve ter um olhar para Apache Felix ( http://felix.apache.org ) e Knopflerfish ( http://www.knopflerfish.org ), que são (menor) de código aberto OSGi implementações quadro.

Da minha perspectiva do usuário final.

Eu vi mais implementações em Eclipse do que nos outros dois. Na verdade, eu sei sobre implementações Netbeans, mas nunca recebi um em minhas mãos.

A partir da Primavera esta é a primeira vez que eu ouvi sobre isso.

Enquanto a minha resposta é definitivamente um super 10.000 pés ver, reflete de alguma forma, a preferência da indústria tinha tido sobre o uso de um ou outro.

Além disso, a diferença é proporcional ao tempo a plataforma está disponível. Lembre-se Eclipse criar SWT para resolver os problemas java swing tinha em 1.3, onde é foi simplesmente prohibitely lento.

O NetBeans foram muito beneficiados pelas melhorias JVM e agora corre muito, muito rápido.

Spring ainda é jovem (em comparação com os outros dois), mas como sempre, as coisas novas aprender com o antigo, as chances são de que é simples de usar.

Aqui está um artigo sobre estes dois plataforma Eclipse RCP vs Netbeans RCP. Pode ser útil

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

O NetBeans RCP é excelente. Sua percorreu um longo caminho ao longo dos anos. Ele usa uma tecnologia mais robusta ( 'Swing') que muitas pessoas usam e entender. Eclipse RCP (mais especificamente SWT) apenas me confundiu.

Eclipse RCP fornece plug-in mecanismo para que você possa adicionar novos recursos depois da implantação. Também através do mecanismo de atualização, você pode mudar o sistema sem interferência do usuário. Na fase de desenvolvimento, Eclipse RCP fornece um rápido solo, robusta com mecanismos de perspectivas, vistas, editores, de comando e de ação. Se o seu projeto requer muitas janelas diferentes, com diferentes barra de ferramentas e menus (e também personalizados menus de contexto) Eu sugiro que você usar o Eclipse RCP. Eu só verificar os vídeos de Plataforma Netbeans e executar o projeto Helloworld mas parece lento e desajeitado :) 40 segundos para iniciar-up (você pode recarregar o aplicativo que w / o reinício.) Vogella.de é uma boa coleção de tutoriais para Eclipse RCP

Há também geração de interface de usuário baseada Reflexão e personalização.

Em vez de personalizar um IDE para atender às suas necessidades, você vai personalizar um GUI gerado por padrão. Pode ser interessante para tentar uma nova abordagem.

https://github.com/dotxyteam/ReflectionUI

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top