Este é um post disponível para assinantes MVPArtigo Java Magazine 33 - Prepare-se para o Mustang
Artigo Publicado pela Java Magazine 33.

Prepare-se para o Mustang
Explorando Todas as Novidades do JSE 6.0
Conheça todas as melhorias e novidades da próxima versão da plataforma Java Standard Edition, com lançamento final previsto para o meio de 2006
Osvaldo Pinali Doederlein
Não passou muito tempo desde o release de produção do J2SE 5.0 (Tiger) – 14 meses no momento em que escrevo – e o primeiro beta do JSE 6 (Mustang) já está disponível com o release final previsto para o início do segundo semestre deste ano. Esta velocidade pode assustar os desenvolvedores mais preocupados com a estabilidade da plataforma e com a curva de aprendizado que acompanha novas versões. Mas não há motivo para preocupação, pois ao contrário do Tiger o Mustang não é "revolucionário"; em especial, não introduz nenhuma novidade na sintaxe da linguagem Java.
Pelo contrário, o Mustang é uma atualização mais suave. Temos melhorias importantes de implementação, como novas otimizações do HotSpot – mas estas, como de costume, são transparentes, não exigindo alterações de código. Há APIs completamente novas, como a JSR-223 (javax.script) e a JSR-269 (javax.annotation), porém são a minoria, e são bastante especializadas. Há muitas atualizações incrementais, que adicionam algumas classes ou métodos a APIs existentes como o JDBC ou o Swing. Finalmente, temos APIs que só agora foram integradas à plataforma JSE, mas que já estavam disponíveis como extensões ou na plataforma JEE, como é o caso de diversas APIs de XML e web services,.
Em comparação com o Tiger, o Mustang realmente tem um foco maior em melhorar, corrigir, integrar e aperfeiçoar o que já existe (veja o quadro "Versionamento e evolução do Java SE"). Por outro lado, a ausência de novidades bombásticas (como os tipos genéricos do Tiger) não significa que o Mustang seja uma atualização trivial, um "J2SE 5.1 disfarçado". Melhorias incrementais também podem ter um alto impacto quando somadas e combinadas. Em especial, várias das novas APIs "não tão novas" do Mustang, além de meramente embutidas no JRE, foram atualizadas para dar suporte a um modelo de programação simplificado, dirigido por anotações.
Neste artigo, apresentaremos as novidades do JSE 6, no ponto em que se encontra na especificação Early Draft Review (dezembro de 2005) e na implementação Beta 1 (janeiro de 2006); veja links. Para facilidade de consulta, seguimos a ordem de apresentação de itens da especificação. Mas o objetivo é começar a partir do ponto em que a especificação termina – comentando mais à fundo os itens mais relevantes e interessantes, mencionando detalhes de implementação que já pudemos observar, ilustrando novidades com exemplos, enfim, tornando a especificação mais clara e concreta.
A especificação do JSE 6.0, a JSR-270, também referencia uma série de outras JSRs, que iremos indicar neste artigo. De uma maneira geral, as funcionalidades mais volumosas ou complexas, como APIs totalmente novas, exigem uma JSR à parte. Já os itens mais simples, como alterações pontuais em APIs existentes, são especificados na JSR raiz.
Features: Client (Desktop e GUI)
O grupo de recursos voltados a aplicações clientes compreende melhorias em Java 2D, AWT, internacionalização (I18N) e Swing. Inclui novidades importantes como acesso ao System Tray e novas opções de modalidade de diálogos.
Suporte à geração de GIF
A API javax.imageio já suportava vários formatos de imagem (JPEG, PNG, BMP, WBMP e GIF), mas até o J2SE 5.0 o suporte ao formato GIF era somente para leitura. Esta restrição não era de ordem técnica, e sim legal, pois o GIF era coberto por uma patente da CompuServe (empresa posteriormente adquirida pela Unisys). (Para ser preciso, a patente cobria a compressão LZW usada pelos arquivos GIF, entre outros formatos.)
Após 20 anos, em junho de 2004, essa patente expirou, permitindo o uso irrestrito do formato GIF. É uma boa notícia para quem desenvolve aplicações web que precisam gerar gráficos nesse formato (ex.: com o JFreeChart), pois o GIF ainda é muito popular. Por outro lado, já não é mais tão atraente quanto foi no começo da Web, tendo sido amplamente superado por formatos mais modernos como o PNG.
O suporte à criação de GIFs não exige mudanças de API, pois a javax.imageio abstrai a maior parte das diferenças entre formatos, através do uso de nomes simbólicos e de plug-ins que implementam interfaces genéricas. Para criar um GIF no JSE 6, escreve-se código como:
RenderedImage image = ...;
ImageIO.write(image, "gif", new File("imagem.gif"));
Integração com o desktop
A nova API java.awt.Desktop possibilita a execução de aplicações nativas registradas pelo gerenciador de desktop (ou área de trabalho) do sistema operacional. Por exemplo, o método browse(URI) abre uma URI usando o navegador web default do sistema, e o método "
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor


0
0
