BT
x Por favor preencha a pesquisa do InfoQ !

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.

Avalie esse artigo

Relevância
Estilo/Redação

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 mensagens dessa discussão
Comentários da comunidade

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

Receber mensagens dessa discussão

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

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

Percebemos que você está utilizando um bloqueador de propagandas

Nós entendemos porquê utilizar um bloqueador de propagandas. No entanto, nós precisamos da sua ajuda para manter o InfoQ gratuito. O InfoQ não compartilhará seus dados com nenhum terceiro sem que você autorize. Procuramos trabalhar com anúncios de empresas e produtos que sejam relevantes para nossos leitores. Por favor, considere adicionar o InfoQ como uma exceção no seu bloqueador de propagandas.