Pergunta

Eu começo a escrever uma aplicação cliente - servidor usando .net (C#) para o cliente e servidor de lado.

Infelizmente, a minha empresa se recusar a pagar para o Windows licença no servidor de caixa de significado que eu preciso reescrever meu código em Java, ou ir para o Mono forma.

Há boa maneira de traduzir o código C# em Java ?O servidor de aplicação utilizado .net recurso específico, só atravessar ferramentas de linguagem como Spring.net, Hibernate.net e log4net.

Obrigado.

Foi útil?

Solução

Eu sugiro edifício para o funcionamento em Mono.Você vai correr em alguma área cinzenta, mas no geral é ótimo.No entanto, se você quiser construir para Java, você pode verificar para fora Gafanhoto.É um produto comercial, mas ele afirma ser capaz de traduzir CIL (a saída do compilador C#) para Java bytecodes.

Outras dicas

Soluções possíveis de lado, direta traduções de programas escritos em um idioma para um idioma diferente é geralmente considerado uma Má Ideia™ -- especialmente se esta tradução é feita em alguns automatizada.Mesmo quando feito por um "real" do programador, tradução de um aplicativo de linha por linha, muitas vezes, resulta em uma menor do que o desejável resultado final porque cada língua tem as suas próprias expressões, pontos fortes e fracos que exigem que as coisas sejam feitas de uma forma ligeiramente diferente.

Por mais doloroso que possa ser, é, provavelmente, o seu melhor interesse e aqueles que têm de manter este aplicativo para reescrevê-lo em Java, se o que o seu empregador exige.

Eu só sei de outra maneira. Dbo4 é desenvolvido em java e o c# versão é gerada a partir do java fontes automaticamente.

Não há nenhuma boa forma.Minha recomendação é começar de novo em Java, ou como você disse, usar Mono.

Embora eu acho que o primeiro erro foi a escolha de um idioma implementação, sem garantir um adequado ambiente de implantação, não há nada que pode ser feito sobre isso agora.Eu acho que o Mono caminho seria melhor.Ter que reescrever o código, só iria aumentar o custo do projeto, especialmente se você já tiver uma boa quantidade de código escrito em C#.Eu, pessoalmente, tentar evitar reescrever o código sempre que possível.

Java e C# são muito próximos em sintaxe e semântica.O problema real são as pequenas diferenças.Eles vão morder você quando você não espera ele.

Gafanhoto é realmente a melhor solução no momento, se o licenciamento de obras para você (a versão gratuita tem algumas limitações significativas).É completamente baseado em Mono classe libs (que são realmente muito bons), mas é executado no topo do padrão Java Vm.Isso é bom como o Java VMs são geralmente um pouco mais rápido e mais estável do que o Mono, na minha experiência.Ele tem mais fracos do que Mono quando se trata de Formas de Gráficos APIs relacionadas, como muito de esta não tenha sido portado para o Java a partir do Mono VM, no entanto.

Em casos onde ele trabalha, ele pode ser maravilhoso, apesar de tudo.O desempenho é, por vezes, até melhor do que quando executar o mesmo código no MS VM no Windows.:)

Eu diria que a partir de uma manutenção stand ponto de reescrever o código.Ele vai trazer o custo inicial do projeto, mas seria menos trabalhoso, mais tarde, para quem está olhando para o código.Como cartazes anteriores declarou nada automatizado como esta não pode fazer tão bom como um trabalho de um "real" do programador e fazer linha por linha, de conversão não ajuda muito.Você não quer produzir código mais tarde que funciona, mas o inferno é para manter.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top