BT

Java 1.5 para a Plataforma .NET

| por Jonathan Allen Seguir 529 Seguidores , traduzido por Felipe Rodrigues Seguir 0 Seguidores em 16 dez 2008. Tempo estimado de leitura: 2 minutos |

Ja.NET é um porte do Java 1.5 SE para a plataforma .NET. O compilador é baseado no Eclipse JDT, que foi modificado para gerar tanto IL quanto JaJa Byte Code. Java tradicionalmente compila cada classe em um arquivo separado, ma isso cria um overhead inaceitável para .NET. Para resolver isso, uma ferramenta baseada no Cecil é usado par criar grandes pacotes de forma similar a como os arquivos Jar são criados para Java.

Para conseguir um bom começo no suporte a bibliotecas, o Ja.NET JDK é baseado no projeto open source Apache Harmony. Dave Tillman escreveu,

Uma coisa que me atraui no Hermony, como alternativa em relação ao openJDK, é que as bibliotecas no Harmony já estão organizadas em módulos. Por exemplo, você encontra um módulo LUNI que se compara ao Lang-Util-Net-Io, um módulo NIO, etc. De qualquer forma, eu comecei trabalhando com o OpenJDK e também tenho uma versão dessa funcionando em minha máquina, mas escolhi mudar para o Harmony a algum tempo atrás.

Quando nós conversamos com o Dave, ele deu alguns detalhes para a InfoQ,

Nesse ponto, o projeto Ja.NET SE é unicamente focado no Java SE. Fornecendo um Java 5 SDK para .NET. Antes de avançar para algo maior (Java EE), eu acho que nó precisamos terminar o SE, e terminar direito. Todas as bibliotecas do Java 5 SE estão incluídas na distribuição, MAS, nem todas são totalmente funcionais. Percebe-se que estou baseando meu trabalho em vários projetos conhecidos (veja meu blog para mais detalhes - www.janetdev.org). O maior é o projeto Apache Harmony. Harmony desenvolveu código para a maior parte (99,x%) das bibliotecas do Java 5 SE, incluindo Swing, AWT, etc. Eles também tem código Java ME e Java 6.

As bibliotecas Ja.NET SE são derivadas do código do Harmony, e hoje eu faço o build de todo o código do Harmony em pacotes para .NET e os incluo para distribuição. MAS nem todo o trabalho de modificar o código das bibliotecas de classes para unir isso aos serviços .NET/CLR correspondentes está completo neste momento. Por exemplo, o trabalho para Swing e AWT no WPF não foi feito ... isso explica porque estou procurando por voluntários ;-). Para fazer isso, uma pessoa deveria pegar o código base do Swing/AWT que já é fornecido pelo Harmony, abrí-lo e adicionar chamadas para as APIs do WPF no lugares apropriados do código. Todo o código Swing/AWT do Harmony já compila para pacotes .NET, só não está atrelado ao WPF ainda.

Então, o que há. Bem, o suficiente das bibliotecas core (reflection, concurrency, class loading, io, nio charsets, etc.) e há ferramentas Ja.NET SE (compilador, assembly merger, executam no .NET. Também, eu consegui que boa parte do JUnit 4.3/4.5, Xerces 2.8, Ant 1.7.0 funcionem no .NET sem nenhuma mudança no código. E, claro, estou adicionando mais e mais, diariamente! :-)

Ja.NET rodas tanto no CLR Microsoft quanto na plataforma Mono da Novell.

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

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT