BT

Projeto Jigsaw: reações ao adiamento para o Java 9

por Victor Grazi , traduzido por Fernando Ribeiro em 15 Out 2012 |

Os desenvolvedores Java reagiram intensamente ao anúncio do arquiteto-chefe da plataforma Java na Oracle Mark Reinhold, de que o projeto Jigsaw, o futuro framework de modularidade para a tecnologia Java, seria adiado novamente para o Java 9, como foi reportado no InfoQ.com e no InfoQ Brasil. O Jigsaw estava originalmente planejado para o Java 7 em 2011; depois foi adiado para o Java 8 e passa a ser adiado novamente para 2015.

O Jigsaw pretende atender dois conjuntos distintos de requisitos: fornecer um sistema de módulos em Java para novas aplicações e separar a plataforma Java em módulos que podem ser excluídos se não forem necessários.

As reações ao anúncio de Mark Reinhold podem ser divididas em três grupos:

  • Bom desenvolvimento ágil: entregue cedo e frequentemente; se o Jigsaw está atrasado, adie-o para a próxima versão e entregue o Java 8 no prazo;
  • O Java 8 sem o Jigsaw não vale nem o disco em que está armazenado; espere pelo Jigsaw;
  • O Jigsaw já foi adiado duas vezes e ninguém sabe se será mesmo entregue. Desista, Oracle, e apoie uma tecnologia existente.

Os apoiadores do framework OSGi acreditam que esse padrão já está bem estabelecido para uso em aplicações Java, então há certa frustração quanto à direção tomada pela Oracle.

O ex-diretor da OSGi Alliance Peter Kriens disse ao InfoQ que os projetos devem parar de esperar e adotar o OSGi:

Se a Sun/Oracle não tivesse gasto os últimos sete anos com a síndrome "Não inventado aqui", nossa indústria teria sido mais produtiva. Está claro que a adoção do OSGi sofreu com medo, incerteza e dúvida com relação ao Jigsaw. Se seguirem esse novo "planejamento", teremos modularidade (limitada) na plataforma Java por volta de 2015, uma década inteira depois da JSR 277 e surpreendentes 17 anos depois da OSGi Alliance ter sido fundada. Para quem estava esperando pelo Jigsaw, chegou a hora de adotar o OSGi e obter os benefícios da modularidade. Além de não existir uma alternativa, melhorou muito o suporte de ferramentas como o projeto bndtools.

O ex-líder do expert group do OSGi Enterprise, Eric Newcomer, falou ao InfoQ.com sobre como as coisas poderiam ter sido:

Há quatro anos, convidamos o pessoal do Jigsaw para juntarmos forças. Não aceitaram, e receio que todo mundo esteja pagando agora o preço daquela decisão infeliz. A modularidade é um problema complexo por definição (como o pessoal do Jigsaw já reconheceu). Não acredito que o OSGi tenha sido seriamente avaliado como solução geral.

O especialista em OSGi na Paremus, Neil Bartlett, vê o adiamento do Jigsaw como uma oportunidade perdida:

Parece que não teremos os benefícios de uma plataforma modular até pelo menos 2015. Isso é triste para os desenvolvedores que estão usando o OSGi, assim como para todos que estão desenvolvendo para a plataforma Java. Afinal, quem não gostaria de ter uma plataforma somente com as funcionalidades necessárias?

Além diso, a maneira que o próprio OSGi interage com a plataforma atual deixa muito a desejar, porque um bundle não consegue requisitar somente os módulos necessários. Com uma plataforma modular, poderíamos verificar em tempo de compilação quais APIs são usadas pelo bundle, e até mesmo usar o serviço Resolver da versão R5 do OSGi para determinar quais módulos devem ser instalados juntamente com aquele bundle. Ainda tenho esperanças de que chegaremos a esse ponto no futuro.

O diretor executivo da Fundação Eclipse, Mike Milinkovitch disse ao InfoQ.com:

Está claro que a plataforma Java se beneficiaria muito, tanto com um sistema de módulos quanto com a modularização da própria plataforma. É triste que a entrega desse trabalho importante tenha sido empurrada até 2015. Estou particularmente preocupado com o impacto a decisão pode ter no futuro da plataforma Java em ambientes embutidos e móveis. Um atraso adicional de dois anos nesses segmentos, que estão crescendo rapidamente, coloca em questão a relevância de toda a plataforma Java. Neste momento, qualquer plataforma que não oferece muitas funcionalidades para desenvolvedores de sistemas embutidos ou móveis corre o risco de se tornar irrelevante.

Ao mesmo tempo, esse atraso permite o avanço da "outra" tecnologia de modularidade Java. O OSGi precisa melhorar para sobreviver no longo prazo, e esse adiamento de dois anos é uma oportunidade para os seus apoiadores. A comunidade OSGi precisa investir em ferramentas e em usabilidade para atrair mais desenvolvedores Java.

O IDE Eclipse é impactado significativamente por tudo isso, já que é usado por entre 65% e 70% de todos os desenvolvedores Java. Além disso, a nossa comunidade está comprometida com o OSGi, já que o padrão suporta o modelo de plug-ins do Eclipse. A continuidade dessa tecnologia é claramente importante para o futuro da comunidade Eclipse.

Por outro lado, o vice-presidente de desenvolvimento da Oracle, Cameron Purdy, defende o argumento da agilidade:

Embora seja desapontador que a entrega do Jigsaw tenha sido adiada, é importante que o processo seja feito corretamente. Se isso significa que a inclusão da tecnologia tem que ser atrasada, então que isso seja feito. Seria muito pior colocar algo incompleto na plataforma Java. Fazer da maneira certa sempre vai demorar mais que o esperado.

Um tema comum entre as reações é a dúvida de por quanto tempo ainda se vai esperar. O consultor Markus Karg falou sobre isso no seu comentário ao post de Reinhold:

É rídiculo que o Jigsaw seja adiado para o Java 8 depois de ter sido adiado para o Java 7. O que vem depois disso? Adiá-lo para o 10 depois do 9, 11 depois do 10? Simplesmente desista e use o Maven. Ele nos serve bem.

O líder do desenvolvimento do Groovy na SpringSource/VMware Guillaume Laforge disse:

Não fomos muito longe com a modularidade no Groovy 2 porque não queríamos duplicar o que estava planejado no Java 8 - que agora não estará nas mãos dos desenvolvedores por mais dois anos e em produção por mais três. Isso significa que o Jigsaw, se sair algum dia, estará sendo feito há mais de cinco anos. Parece muito, mesmo para uma tarefa grande como essa.

O diretor de pesquisa do Gartner Kirk Knoernschild tuitou um conselho prático para a Oracle:

Por que não entregar o sistema de módulos no Java 8 e modularizar a própria plataforma no Java 9? Por que fazer as duas coisas na mesma versão?

Até a Oracle entregar o projeto Jigsaw, portanto, os times de desenvolvimento terão que escolher entre esperar ou adotar alternativas existentes.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT