Atenção: esse artigo tem uma palestra complementar. Clique e assista!
Apresentamos os principais lançamentos ou anúncios de software feitos pela Sun na JavaOne, incluindo o NetBeans 6.7, a JavaFX 1.2, e novas versões do JDK.
Para que serve:
Qualquer leitor da Java Magazine utiliza pelo menos alguma coisa revista pelo artigo – no mínimo, certamente, o JDK! E é importante manter-se atualizado sobre as últimas novidades e melhorias, e mesmo, as próximas que estão prometidas.
Para quem se interessa por GUIs, a cobertura da JavaFX 1.2 é especialmente importante, pois a Sun está colocando todas as suas fichas nesta plataforma. Mesmo quem ainda não conhece a JavaFX, ou talvez já conheça mas “não está convencido”, deve reavaliar após o release 1.2, que resolve muitas pendências das primeiras versões e é o primeiro release seriamente competitivo com outras tecnologias RIA.
Junho é o mês do Java, quando a comunidade se congrega em São Francisco para grandes anúncios e revelações. Nesta edição do evento, que talvez fique marcada principalmente por ser a primeira após a aquisição da Sun pela Oracle, ainda não foi possível ver nenhuma mudança de rota: a Sun continua veloz e furiosa lançando novas tecnologias Java e anunciando outras. Neste artigo, finalizado na semana da JavaOne, damos um primeiro round de cobertura ao evento, examinando lançamentos que já estavam “no forno” nos últimos meses e são de interesse especial desta coluna.
NetBeans 6.7
O principal release anual do NetBeans é sempre o da CommunityOne, a mini-conferência focada em projetos da Sun que acontece logo antes da JavaOne. Neste ano houve um ligeiro descompasso, e a versão liberada na CommunityOne foi a Release Candidate, não a versão final; mas esta virá em breve (ainda em junho), bem antes que você receba esta Edição.
E o que há de novo no 6.7? Lembro de há alguns meses ficar sabendo que a próxima versão, cujo número originalmente seria 7.0, sofreria um “downgrade” para 6.7. Um dos motivos seria o grande esforço da Sun na implementação da JavaFX e principalmente do JDK 6u10, que – em tempos bicudos de crise financeira mundial – exigiram rapinar as equipes de outros projetos, inclusive do NetBeans. É um dos motivos pelos quais o release 6.7 saiu bem “incremental”.
Outro motivo, claro, é o mesmo que já relatei para os últimos artigos sobre o Eclipse: o NetBeans também já atingiu um alto grau de maturidade, a partir do qual não há grandes lacunas que exijam atualizações revolucionárias. Para esta coluna, isso significa que acabou a era dos “mega-artigos” sobre novas versões dos mais populares IDEs Java. (A página wiki.netbeans.org/NewAndNoteWorthy lista um grande número de itens, mas a grande maioria é de refinamentos cada vez mais sutis em funcionalidades preexistentes.)
Vamos cobrir aqui as novidades do NetBeans 6.7, com um foco na plataforma Java – isto é, ignorando o suporte crescente a linguagens como PHP, Ruby e C++. Passaremos o olho apenas sobre o suporte a Groovy e Scala, por serem linguagens “parceiras” da plataforma Java SE.
Plataforma NetBeans
A melhoria mais importante da plataforma é o que a documentação chama de Features on demand, um controle mais inteligente dos recursos dos módulos. Você pode fazer uma instalação completa do NetBeans, e ele não ficará sobrecarregado por coisas que você usa raramente.
Fiz um teste com uma instalação completa do NetBeans, inclusive funcionalidades que nunca uso como C++ ou Ruby, e mesmo assim o tempo de inicialização e o consumo de memória do IDE foram visivelmente menores do que com uma instalação quase mínima do 6.5.1. É lógico que à medida que todos os recursos do IDE forem sendo efetivamente utilizados, serão carregados de forma incremental, impondo pequenos delays extras. O IDE aprende com os hábitos do usuário e, na próxima inicialização, fará a pré-carga dos módulos que você usa com mais freqüência. (Quem tiver hardware de sobra pode desativar este comportamento e carregar tudo na inicialização.)
Duas novas funcionalidades facilitam o desenvolvimento em time e a migração entre versões do IDE: importação e exportação de configurações, e importação de plugins de outra instalação do NetBeans. Esta última é especialmente boa para quem vive de testar os últimos betas...
Desenvolvimento “Conectado”: Kenai, Bugzilla e JIRA
Uma das novidades mais propagadas pela Sun é a integração total com o Kenai. Opa, com o quê? Kenai, outro projeto da Sun, é uma plataforma “na nuvem” de desenvolvimento colaborativo; algo como o SourceForge. No site kenai.com, apesar da tag Beta, você já pode encontrar cerca de 800 projetos. Para cada um deles são oferecidas ferramentas como fóruns, repositório de fontes, wiki, mailing lists, downloads de builds, issue tracking com o JIRA, e alguns recursos de networking. Se você possui um login na Sun Developer Network, já possui também um login em kenai.com.
Em resumo, o NetBeans facilita muito todo o fluxo de trabalho de projetos hospedados pelo Kenai. Com alguns comandos do IDE você pode localizar projetos, fazer checkout, criar novos projetos, participar de um chat, etc.; ver Figura 1.
O NetBeans 6.7 também oferece integração total de issue tracking, com o BugZilla e o JIRA. Esta integração é muito importante, permitindo automatizar e “amarrar” tarefas: por exemplo, patches arquivados num bugtrack podem ser aplicados diretamente no projeto, referências para bugs nos fontes podem ser clicadas de forma a abrir automaticamente o bugtrack, e assim por diante.
Figura 1. O NetBeans 6.7, destacando algumas novidades: Scala, Maven2, Kenai
Maven e Hudson
O NetBeans já era o IDE com melhor suporte ao Maven2, e a
versão 6.7 continua melhorando este suporte. A nova versão tem a opção compile on save para fazer o rebuild
via Maven sempre que arquivos do projeto forem alterados pelo IDE, e um suporte
bem melhor às dependências do Maven,
suportando cenários mais complexos com herança de POMs, e oferecendo
visualizadores de detalhes de artefatos e de gráfico de dependências (ver
novamente a ...