Copa do mundo de APIs(e assemelhados)

pessoal, vamos fazer um joguinho diferente…
Tem que ser assunto necessariamente ligado ao Java(ou uma linguagem de script que se utilize junto). Ponha uma pergunta(ou dúvida) de um assunto entre dois proponentes e depois uma resposta(entre esses dois).(se não souber, deixe para quem saiba arriscar a responder no post subsequente).
Se alguem não concordar com a resposta, contestar/explicar o porquê em até 5 linhas e continuar com a postagem. Vou começar(com 2 logo para servir de estímulo!):
1)Preciso enviar emails. Javamail ou Commons?
R.: Commons Email. ( http://jakarta.apache.org/commons/email/ )

2)Preciso de persistência transparente para pequena aplicação, poucas atualizações, muitas consultas com alta velocidade, e com baixo custo. MySQL ou Prevayler?
R.: Prevayler. ( http://prevayler.org )

Pô vcs estão devagar hj hein…hehehe
Preciso trafegar dados em um ambiente distribuído.Uso só um DAO ou DTO?
DTO.

[quote=Ironlynx]Preciso de persistência transparente para pequena aplicação, poucas atualizações, muitas consultas com alta velocidade, e com baixo custo. MySQL ou Prevayler?[/b]
R.: Prevayler. ( http://prevayler.org )[/quote]
Não concordo. HSQLDB com Hibernate + Hibernate Annotations.

Para uma pequena aplicação cujo um diferencial seja a necessidade de consultas rápidas?Explique-se!(e faça um questionamento tb!)

quero uma aplicação em que eu faça conexão com no máximo 500 usuários, uns 10 simultâneos.uso Singleton ou um Pool.
Pool de Conexões.

Para uma pequena aplicação cujo um diferencial seja a necessidade de consultas rápidas?Explique-se!(e faça um questionamento tb!)[/quote]
Sim, o HSQLDB tem o modo de tabelas IN MEMORY. Fica tudo na memória e é EXTREMAMENTE RAPIDO. A vantagem HIPERBÓLICA sobre o prevayler é que eu sei onde estão os dados, posso ver, manipular, mudar tudo, fora da minha aplicação de maneira facil, rápida e EFICIENTE :).

Classe para manipular datas?
Calendar

PS.: Complicado esse negocio de perguntas e respostas hem! hehe

Criptografia em Java: JCE ou Bouncy Castle?
Resp.: Bouncy Castle. Mais leve, mais rápida e menos complicada legalmente falando.

Fico com Bouncy Castle tambem, bem legal.

Dentre as opções, fico com HSQLDB. Nunca usei prevayler, motivo: uma comparação entre prevlayer e oracle que existe no site deles. Não sei de onde tiraram essa ideia de comparar duas coisas tão distintas. Inclusive aquela comparação foi motivo de piada de um dos desenvolvedores do oracle in-memory, conhecido meu. (gostaria que eles comparassem o produto deles com o oracle in-memory)

Bom, aí no caso é de quem gosta de manipular SQL contra quem prefere manter no “puro” Java. Ah, vc falou de usar Hibernate com Annotations, mas aí entrará um (pequeno) custo do mapeamento O-R.
Jah mexi com os 2(Prevayler e HSQLDB) e prefiro o Prevayler.(Com o Preclipse vc nem pensa… é quase automático…)
Mas como a versão do hsqldb q eu usei efetivamente era a 1.7, não dá para fazer um juizo 100%.Deve ter melhorado pacas…

Framework Web.Uso Struts ou Mentawai?
Mentawai.

Framework IoC: Spring ou PicoContainer?
Spring. É mais fácil gerenciar quando envolve uma quantidade grande de componentes, e sua integração com outros frameworks é mais documentada.

Entendo mas não vejo por esse lado. Desenvolvi uma arquitetura para swing que utilizava hsqldb com hibernate e annotations. O hsqldb rodava embutido na aplicação, ou seja, quando o driver ia procurar ele o banco “levantava” sozinho. O Hibernate gerava as tabelas pra mim, e com isso eu não precisava mexer nos SQL NUNCA. Só criava os Java, colocava as anotações e mais nada. Isso é Java puro. A vantagem que eu vejo é tu poder entrar no cliente de SQL e conectar no hsqldb para ver e manipular os dados se tu PRECISAR, e isso era um requisito da arquitetura. Trabalhar com hibernate annotations é muito bom. E como o swing não tem nem 10% dos problemas do ambiente WEB fica bem facil.

Veja bem, não to dizendo que é melhor, e nem do dizendo que o hsqldb é mais isso ou aquilo. Mesmo porque nunca usar prevayler para saber. Só to descrevendo minha experiência e posso dizer que HSQLDB in memory é muito RÁPIDO, e com hibernate fica “pure” java! :).

Mapeamento O-R com controle total sobre os SQL?
ibatis

[quote=marcelomartins]Desenvolvi uma arquitetura para swing que utilizava hsqldb com hibernate e annotations. O hsqldb rodava embutido na aplicação, ou seja, quando o driver ia procurar ele o banco “levantava” sozinho.
[/quote]

Você rodava o hsqldb em modo single user com hibernate? Funciona legal?
Preciso fazer uma aplicação swing stand-alone com o bd embutido.

[quote=grprado][quote=marcelomartins]Desenvolvi uma arquitetura para swing que utilizava hsqldb com hibernate e annotations. O hsqldb rodava embutido na aplicação, ou seja, quando o driver ia procurar ele o banco “levantava” sozinho.
[/quote]

Você rodava o hsqldb em modo single user com hibernate? Funciona legal?
Preciso fazer uma aplicação swing stand-alone com o bd embutido.[/quote]
Funciona muito bem, e é altamente recomendavel. O hsqldb é muito facil de se usar imbutido.

Basicamente tu poe o jar dele junto com tua aplicação, e manda conectar no banco! :slight_smile:

Popular beans com hashmaps?
Jakarta commons collections

[quote=Ironlynx]
Framework Web.Uso Struts ou Mentawai?
Mentawai.[/quote]

Por quê?

Porque dando uma olhada básica nos 2, eu achei a curva de aprendizado do Mentawai muito menor, mais simples de configurar(deve ser minha aversão/dificuldade com megaxmls) e adaptável(nota:quando usei não tinha nem tradução para o português).

Leitor de XMLs.JDOM ou XStream?
XStream. rápido, fácil e não dá cáries. :wink:

Pergunta: Swing ou SWT?

Resposta: Swing.

FrameWork WEB. Struts ou JavaServerFaces?

Um tiro na boca! Ok, tem que responder: JSF, apenas por ser um padrão J2EE.

Testes: JUnit ou TestNG?

JUnit. Integrado com várias IDEs, simples, efetivo e não tem um monte de configurações medonhas.

[quote=marcelomartins]Classe para manipular datas?
Calendar[/quote]

Nem morto. Use o Joda Time.

Pergunta: Java ou C++?
Resposta: FlameWars! :lol:

Banco embarcado, HSQLDB ou Derby?