Resumo JavaOne 2007

17 de Maio de 2007 @ 09:18 por Michael Nascimento Santos

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.

Fim de semana pre-JavaOne

7 de Maio de 2007 @ 13:10 por Michael Nascimento Santos

Já encontrei uns velhos amigos no JavaOne:

;-)

Também tive uma excelente conversa com o Stephen Colebourne, meu co-líder na JSR-310, sobre closures e muitas outras coisas interessantes e tenho me divertido muito com o Vinícius e a Yara Senger, da Globalcode e o Felipe Leme.

Fiz um post mais completo no meu blog em inglês sobre esse fim de semana.

JavaOne, aqui vou eu

4 de Maio de 2007 @ 16:03 por Michael Nascimento Santos

Daqui a quatro horas, se os controladores de vôo permitirem e Deus ajudar, vou estar rumo ao JavaOne. Minha palestra será na quarta-feira, mas há trocentos pré-eventos interessantes, como o NetBeans Day. Espero fazer uma cobertura ao vivo do evento aproveitando o wireless. Continuem ligados…

genesis 3.0-RC1

27 de Março de 2007 @ 16:40 por Michael Nascimento Santos

Finalmente, após três meses de trabalho, o genesis 3.0-RC1 foi lançado. A principal novidade dessa release é o suporte a estratégias de binding, que permite implementar “binding as you type”, ou seja, a medida que o usuário digita, o form é atualizado.

Por que você deveria usar o genesis no seu projeto desktop?

Saiba mais informações no site do projeto.

Palestra no JavaOne 2007

26 de Fevereiro de 2007 @ 18:51 por Michael Nascimento Santos

Recebi um email da equipe do JavaOne 2007 aprovando nosso BOF sobre a JSR-310! O título da palestré “A New Date and Time API for Java SE”. Essa será minha segunda apresentação no JavaOne. A primeira foi em 2003, com o tema “Enterprise Java-Technology Based Projects That Fail: What Can We Learn From Them?”. Os slides dessa primeira palestra estão disponíveis na seção de Palestras do blog.

JSR-310 aprovada!

13 de Fevereiro de 2007 @ 09:15 por Michael Nascimento Santos

Hoje terminou a votação de aceite da JSR-310. Foram 15 votos sim (com a IBM mencionando que gostaria que a mesma API estivesse disponível para a plataforma J2ME) e a Borland que se não votou.

Se você quiser participar do Expert Group e realmente tem tempo pra colaborar conosco, submeta seus dados (em inglês). Vamos fechar o EG em breve, então, a hora é agora.

Ja era hora: resolvendo os problemas de data

7 de Fevereiro de 2007 @ 10:59 por Michael Nascimento Santos

Estive ocupado esses dias e não pude atualizar o blog. Finalmente, a novidade é pública: eu e Stephen Colebourne submetemos a JSR-310 cuja missão é prover uma API decente pra data e hora. Na descrição da JSR citamos alguns dos principais problemas da API existente, mas existem outros, como as regras do horário de verão dos TimeZones serem fixas, algo que incomoda muito a gente aqui no Brasil. Se tiverem alguma sugestão ou comentário, é só falar!

Em breve…

23 de Janeiro de 2007 @ 17:42 por Michael Nascimento Santos

Se tudo der certo, amanhã vocês vão ficar sabendo a razão de eu não ter postado muito nos últimos tempos (além do genesis, claro). Dica.

JustJava em resumo

8 de Dezembro de 2006 @ 22:20 por Michael Nascimento Santos

Bem, finalmente encontrei um tempo para atualizar a seção de palestras e artigos do blog para conter minha palestra no JustJava, Desktop em minutos com genesis, Matisse, Java WebStart e JSR-296.

Vou tentar colocar em poucas palavras a minha experiência no evento (até porque não tenho muito tempo de escrever algo com mais profundidade):

  • Embora o SENAC Santo Amaro seja numa região que a maioria do pessoal não conhece e que fica um tanto quanto longe para a maioria, as “facilities” são excelentes. Acho que bateram até o Anhembi em termos de local para evento técnico.
  • Encontrei pessoas sensacionais, embora não tenha tido tempo de conversar com todas elas o tanto quanto queria:
    • André de Oliveira
    • Daniel Amadei
    • Eduardo Guerra
    • Guilherme Silveira
    • Helder da Rocha
    • Jorge Diz
    • Márcio di Pietro
    • Michel Graciano
    • Rubem “Mentawai” Azenha
    • Saulo Arruda (MSJUG :-P )
    • Viníus, Yara Senger e filhota
  • Fui entrevistado pelo Juggy. Também quero saber no que deu isso…. ;-)
  • A palestra dessa vez teve uma audiência muito mais senior do que da anterior. A maioria do povo conhecia Matisse e até me conhecia, na verdade (eu conhecia boa parte deles pra afirmar isso :-P ), e outros já até estiveram em palestras sobre o genesis, mas mesmo assim percebi que se impressionaram com o estado de facilidade que chegamos nas últimas versões do framework. Allan e Raphael mostraram que o genesis não é projeto de um homem só :-P . Legal mesmo foram as conversas pós-palestra com o André e o outro sujeito da ObjectView, com o Michel Graciano e o resto do pessoal que deu atenção ao que falamos. Várias pessoas falaram comigo online nos dias seguintes querendo ajudar o projeto. Vamos ver quantos vão efetivamente contribuir :-P . E aguardem o demo completo online em breve…
  • O BOF do final da sexta sobre gerência de projetos foi bastante interessante, mas o de IDEs mostrou o quanto o NetBeans evoluiu nas suas últimas versões e como o sentimento geral de que é muito mais fácil fazer plugins nele existe entre quem já tentou fazer isso pros dois. O pessoal fã de Eclipse ficou até meio chocado com as declarações do Edgar sobre o quão fácil é desenvolver algumas funcionalidades específicas como suporte a um novo tipo de arquivo e code completion pra ele.

Bem, por enquanto é só. Preciso lidar com o feedback crescente do genesis - a lista anda muito agitada, mê passado foram 119 emails - e continuar tocando as outras coisas que faço. E, sim, já comecei a escrever sobre boas práticas de tags, branches e afins com CVS, tá salvo como rascunho por enquanto. Até ;-)

Com voces, Dr. Raphael Winckler de Bettio!

4 de Dezembro de 2006 @ 22:45 por Michael Nascimento Santos

Meu co-worker, quase doutor (literalmente) e commiter do genesis, Raphael Winckler de Bettio, acaba de criar um blog. Vamos ver quando o primeiro post de Java aparece por lá.

O Raphael anda envolvido em estudar boas práticas de programação com EJB3, junto com outro pessoal da Summa que vive no escritório. Como ele diria, o blog dele vai ser massa.