Bem, durante esse JavaOne tentei fazer uma cobertura simultânea do evento em dois idiomas; descobri que nem em um dá pra fazer. Isso não quer dizer que não possa postar um resumão aqui :-)
Na segunda (07/05) ocorreu o NetBeans Day. Muitas coisas legais foram mostradas no evento, como o suporte a Ruby/JRuby, que é impressionante e as novidades do editor (que correspondem a uns 95% das reclamações do povo que usa Eclipse). Aproveitei a sessão sobre as novidades do Matisse para o NetBeans 6 para expor uma questão que já tem uns 2 anos e que eu detalhei em inglês no java.net. Basicamente, faz dois anos que peço que o Matisse seja extensível e permita implementações genéricas de binding, mas depois de tanto tempo os caras vão se amarrar com a solução da JSR-295, que é extremamente limitada. Aguardem mais explicações sobre o assunto no meu blog em inglês.
No final do dia, durante a apresentação do James Gosling, o Bruno Souza foi convidado a subir o palco para falar do NetBeans Dream Team, que também foi convidado a subir ao palco. Essa equipe inclui dois brasileiros: o Vinícius Senger, da Globalcode, e o Edgar Silva, do JBoss. É o Brasil mostrando sua relevância na comunidade Java mundial.
No dia seguinte, na sessão inicial do JavaOne, o John Gage disse a sua já célebre frase: durante o JavaOne, todos devem ser brasileiros. Durante o keynote, Richard Green anunciou que o JDK finalmente é open-source e está disponível através do projeto OpenJDK. Para garantir que o projeto seja tocado de forma justa e com a devida participação da comunidade, foi eleito um corpo governante do projeto, que inclui a Fabiane Nardon, nossa conterrânea e ganhadora do Duke Awards.
O foco do Java no cliente foi enfatizado através de diversos anúncios. Primeiro, que as novas vers&oatilde;es do Java SE começando com o 6 update 2 terão diversas melhorias de performance e um download inicial reduzido, que se comenta que estará entre 2 e 4 Mb. A tecnologia oficial de combate ao Flash foi lançada: JavaFX, um conjunto de tecnologias voltada ao desenvolvimento de clientes ricos. Possui uma linguagem de script própria, JavaFX Script, que será suportada no NetBeans. Há também o JavaFX Mobile, que permite rodar aplicações Java SE, Java ME e também trabalhar com Java FX em dispositivos móveis, como celulares.
Na sequência, assisti a palestra do Danny Coward sobre o futuro do Java SE e ele citou a JSR-310 como parte das JSRs que vão integrar o Java SE 7. Foi o primeiro pronunciamento oficial da Sun sobre o assunto e eu e o Stephen, que também estava assistindo a palestra, ficamos muito felizes de ver nosso trabalho reconhecido.
Durante a general session da tarde, Bob Brewin mostrou, junto com um sujeito da NASA, um projeto muito legal chamado NASA World Wind, que é uma API que pode ser usada na sua aplicação e permite fazer coisas a la Google Earth. Bem ridícula de usar, por sinal e impressionante ao mesmo tempo. Foi mostrada também uma applet que permite edição de fotos online.
Depois fui a uma session sobre a JSR-296, o Swing Application Framework, da qual faço parte do Expert Group. Meu objetivo era ver como o NetBeans suporta a JSR e fiquei bastante impressionado; muita coisa já foi feita na ferramenta, e bem feita, por sinal. Na palestra de EJB 3.1 foram mostradas algumas das funcionalidades sendo consideradas, incluindo:
- Eliminação da necessidade de se ter uma interface para o componente
- Permitir que EJBs sejam empacotados no próprio war, junto com os componentes web
- Criar um modelo assíncrono, suportando inclusive sincronia gerenciada pelo bean com
synchronized
- Suporte a singletons
- Criar um modelo assíncrono, suportando inclusive sincronia gerenciada pelo bean com
synchronized
- Melhorias no suporte a timer, incluindo um modelo declarativo que inicie um timer sozinho no deployment
- Suporte a stateful webservices
Talvez eles usem a nossa JSR para implementar as melhorias do timer. Isso seria bom, pois faria com que a nova API fosse incluída já no Java EE 6, que deve sair ano que vem.
O BOF do Neal Gafter sobre closures foi meio decepcionante em conteúdo se você já leu o blog dele e a proposal que ele escreveu para adicionar closures ao Java SE 7. Depois teve um BOF com o Alex Buckley e o Peter von der Ahé sobre as mudanças de linguagem que estão sendo consideradas para o Java SE 7, incluindo sobrecarga de operadores. Eu particularmente tenho alguns receios a respeito, mas também entendo que certas coisas seriam bem práticas na nossa JSR, permitindo algo como:
CalendarDay depoisDeAmanha = today() + 2;
Na quarta, começei assistindo a palestra do Gavin King e do Bob Lee sobre o Web Beans. O suporte de injeção de dependências que eles estão planejando é fantástico, uma fusão entre o que o Guice e o Seam suportam. Se tudo der certo, isso vai ser separado da spec e vai poder ser usado no desktop também. Muito bom mesmo.
Nosso BOF a noite foi muito bem-sucedido. Além de termos uma sala relativamente cheia para 10 da noite, o público incluía spec leads interessados em usar a API. Ficamos quase uma hora respondendo perguntas e escutando as sguestões das pessoas para a API. Agradeço ao pessoal do UOL pela presença e em especial ao Sponch pelas fotos. Valeu :-)
Outros destaques foram uma palestra sensacional sobre música, mais especificamente MIDI, com o JFugue, feita pelo seu criador, David Koelle, as duas participações da Fabi (uma delas com o Edgar) e um BOF excelente sobre OutOfMemoryError
, do qual não esperava tanto.
Bem, como o tempo é curto, não posso fazer um relato tão extensivo. Para fotos e mais informações, vejam meu blog em inglês.