Pergunta

Estou trabalhando no design e construção de um aplicativo de desktop.Estou pensando em usar Eclipse ou NetBeans como base desta aplicação.No entanto, nunca construí em nenhuma dessas plataformas.Pessoalmente, estou inclinado a usar o netbeans porque parece que essa plataforma tem uma curva de aprendizado mais fácil.Mas eu queria perguntar às pessoas que realmente construíram nessas plataformas antes de qual delas é mais fácil de usar?

Minha definição pessoal de facilitador é a seguinte:

  • Fácil de começar

  • API consistente e lógica

  • Boa documentação

  • Fácil de construir e implantar

Muito obrigado,

Josh

Foi útil?

Solução

Não posso dizer o suficiente sobre a plataforma Eclipse RCP.Eu o recomendaria para qualquer desenvolvimento de aplicativo de desktop Java.

É gratuito, tem ótimos tutoriais e permite o desenvolvimento multiplataforma de aplicativos de desktop avançados que usam o kit de ferramentas de janelas do sistema operacional nativo, o que significa que seu aplicativo parecerá nativo em qualquer plataforma.Ele também tem uma API limpa que fica fora do seu caminho e torna a implantação em qualquer plataforma muito fácil.

Se você estiver interessado, dê uma olhada neste livro: http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

Outras dicas

  • Fácil de usar:Tenho experiência em desenvolvimento em Eclipse e devo dizer que não é fácil entender seu modelo de desenvolvimento.Claro que para coisas básicas tem alguns assistentes que facilitam, mas para algo um pouco mais complexo é simplesmente difícil.Não sei sobre o Netbeans, mas ouvi dizer que é mais fácil.
  • API consistente:Acho que o Eclipse vence nesse aspecto.Ele roda sobre OSGI (embora traga alguma complexidade) e possui extensões de plugins para praticamente tudo.Parece ser a plataforma preferida para desenvolvimento de plugins, então posso assumir que é confiável.
  • Documentação:Eclipse vence de longe.A ajuda do site Eclipse é excelente e a lista de discussão contém muitas perguntas dos usuários.

Eu usei o Eclipse como base do framework, mas na maioria das vezes usava apenas SWT - na verdade não usamos muito o RCP.

Realmente depende do que você está escrevendo, mas pelo que aprendi usando o Eclipse, ele é adequado apenas para escrever um aplicativo que envolve a edição de dados usando várias visualizações (assim como a edição de código).

Qualquer coisa mais aleatória que possa fazer com que você comece a empurrar a estrutura em uma direção em que não foi projetada e causando falhas massivas.

Você usará o Swing para desenvolver seu aplicativo porque qualquer outra estrutura de janelas será útil apenas se você tiver conhecimento prévio ou experiência apropriada.

Você pode confiar http://www.javadocking.com/ para agilizar sua aplicação.

Se os requisitos do seu aplicativo são altamente focados na interface do usuário, talvez você possa olhar em outra direção, como o Adobe Air.

O RCP tem uma curva de aprendizado maior, mas depois que você aprende o básico, o próprio Eclipse IDE suporta muito bem a construção de aplicativos RCP.Eu construí apenas um plugin para NetBeans (não criei um aplicativo completo) e a curva de aprendizado foi menor do que para o aplicativo RCP.O livro Plataforma Eclipse Rich Client:Projetando, codificando e empacotando aplicativos Java(TM) fornece uma introdução detalhada à construção de aplicativos RCP.

Por favor, veja alguns dos aplicativos de código aberto em http://www.eclipse.org/community/rcp.php antes de opinar que o RCP serve apenas para construir um editor de texto.Obrigado.

Tenho uma tarefa semelhante e também estou considerando estruturas diferentes.Tenho alguma experiência com Eclipse (cerca de 4 meses desenvolvendo RCP) e agora com Netbeans (experimentei por alguns dias).IMHO, essas estruturas são muito complicadas.Você acaba depurando em carregadores de plugins específicos do Eclipse tentando descobrir por que você obtém um ClassNotFoundException ou um NullPointer.A mesma história com o NetBeans:de alguma forma, em algum lugar, lê arquivos de configuração xml e cria UI a partir deles, legal, contanto que você siga o tutorial.E é claro que você não pode desenvolver um RCP baseado em Eclipse usando algum outro IDE, o NB também tem muito ciúme de seu uso (a menos que você faça alguns hacks como eu fiz).O que me falta é uma maneira clara de depurar meus threads desde o principal até a ação executada.Em vez disso, sempre me dizem o que devo fazer para evitar exceções.E então eu tenho que manter meus dedos cruzados cada vez que tento fazer algo novo.E nunca dá certo na primeira vez.Agora pensei nos recursos que preciso e procurei projetos menores que visam funcionalidades específicas como gerenciamento de plugins, por exemplo.E há muitos.Basta compilar uma lista das funcionalidades necessárias e começar a adicionar estruturas menores, integrando-as ao seu projeto.Isso também faz sentido, já que seu projeto deverá consumir menos RAM no final.

Trabalhei um pouco com ambos, mas apenas em aplicativos relativamente simples.Ambos parecem ter capacidades aproximadamente iguais.Pessoalmente prefiro a plataforma Netbeans porque faz mais sentido para mim.

Você também deve considerar o JSR-296, o Swing Application Framework.Ele fornece uma estrutura básica para construir aplicativos Swing, gerenciar recursos de aplicativos, estado, etc., mas sem tanta "bagagem" quanto Netbeans e Eclipse.O Netbeans IDE possui diversas ferramentas para construir aplicativos no SAF.Ver https://appframework.dev.java.net/ para mais informações.

Sem saber mais sobre seu aplicativo, é difícil apontar os pontos fortes/fracos apropriados das duas plataformas.

Se você realmente deseja evitar a manutenção de plataforma cruzada, trabalhe com Swing.Isso compra todas as plataformas.O RCP requer bibliotecas nativas para cada plataforma.

Tivemos boas experiências com Swing.

Eu usaria o Eclipse RCP quando você realmente precisa de uma plataforma construída em cima, não apenas "widgetery" como swing ou swt.O RCP é sólido e consistente, modular e muito flexível.Depois de dominá-lo, você obterá enormes benefícios.Por ser uma plataforma, ela oferece as coisas mais usadas - preferências, configurações, atualizações automáticas, gerenciamento de layout, marca e coisas assim.Você constrói um produto, não um aplicativo.Mas a curva de aprendizado é bastante íngreme no começo.

O Swing, por outro lado, não é uma plataforma, você reinventará a roda escrevendo suas próprias coisas que mencionei acima.Mas sim, o swing é mais rápido para aprender e começar.Acho que se adapta melhor a aplicações menores com vida útil mais curta.

Veja alguns dos aplicativos de código aberto em http://www.eclipse.org/community/rcp.php antes de abrir esse RCP é apenas para construir coisas.

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