Condividi tramite


Conversione da Java a C# per Xamarin.Android

Questo approccio può essere di interesse per le organizzazioni che:

  • Stanno passando stack di tecnologie da Java a C#.
  • Deve mantenere un C# e una versione Java dello stesso prodotto.
  • Si vuole avere una versione .NET di una libreria Java comune.

Esistono due modi per convertire il codice Java in C#. Il primo modo consiste nel convertire manualmente il codice. Questo implica sviluppatori qualificati che comprendono sia .NET che Java e hanno familiarità con i linguaggi appropriati per ogni linguaggio. Questo approccio è particolarmente utile per piccole quantità di codice o per le organizzazioni che vogliono passare completamente da Java a C#.

La seconda metodologia di conversione consiste nel provare e automatizzare il processo usando un convertitore di codice, ad esempio Sharpen. Sharpen è un convertitore open source di Versant usato originariamente per convertire il codice per db4o da Java a C#. db4o è un database orientato agli oggetti sviluppato da Versant in Java e quindi convertito in .NET. L'uso di un convertitore di codice può avere senso per i progetti che devono esistere in entrambi i linguaggi e che richiedono una certa parità tra i due.

Un esempio di quando uno strumento di conversione automatica del codice è utile nel progetto ngit . Ngit è una porta del progetto Java jgit. Jgit è un'implementazione Java del sistema di gestione del codice sorgente Git . Per generare codice C# da Java, i programmatori ngit usano un sistema automatizzato personalizzato per estrarre il codice Java da jgit, applicare alcune patch per supportare il processo di conversione e quindi eseguire Sharpen, che genera il codice C#. Ciò consente al progetto ngit di trarre vantaggio dal lavoro continuo e continuativo svolto su jgit.

Spesso c'è una quantità di lavoro non semplice coinvolta con il bootstrap di uno strumento di conversione automatica del codice, e questo può dimostrare di essere una barriera da usare. In molti casi, può essere più semplice e facile convertire Java in C# a mano.