it-swarm-eu.dev

Esiste uno strumento efficace per convertire il codice C # in Java?

Esiste uno strumento efficace per convertire il codice C # in Java?

84
joshjdevl

Non ho mai incontrato uno strumento di conversione C # -> Java. La sintassi sarebbe abbastanza semplice, ma i framework sono notevolmente diversi. Anche se ci fosse uno strumento, lo sconsiglio vivamente. Ho lavorato su diversi progetti di "migrazione", e non posso dire con enfasi che mentre la conversione sembra una buona scelta, i progetti di conversione sempre sempre sempre si trasformano in pozzi di denaro. Non è una scorciatoia, quello che si ottiene è un codice che non è leggibile e non sfrutta la lingua di destinazione. parlando per esperienza personale, supponi che una riscrittura sia l'opzione più economica.

44
Michael Meadows

Abbiamo un'applicazione che dobbiamo mantenere sia in C # che in Java. Dal momento che manteniamo attivamente questo prodotto, una porta singola non era un'opzione. Abbiamo studiato Net2Java e gli strumenti Mainsoft, ma nessuno dei due ha soddisfatto i nostri requisiti (Net2Java per mancanza di robustezza e Mainsoft per costi e mancanza di conversione del codice sorgente). Abbiamo creato il nostro strumento chiamato CS2J che viene eseguito come parte del nostro script di build notturno e esegue una porta molto efficace del nostro codice C # su Java. In questo momento è esattamente abbastanza buono per tradurre la nostra applicazione, ma avrebbe ancora molta strada da fare prima di essere considerato uno strumento completo. Abbiamo concesso in licenza la tecnologia a poche parti con esigenze simili e stiamo giocando con l'idea di rilasciarla pubblicamente, ma il nostro core business ci tiene troppo occupati in questi giorni.

28
Mike Rustici

Questo blog post suggerisce risultati utili da tangibile .

8
Nick Westgate

C'è uno strumento di Microsoft per convertire Java in C #. Per la direzione opposta, dai un'occhiata qui e qui . Se questo non Per risolvere, non dovrebbe richiedere troppo tempo per convertire manualmente l'origine perché C # e Java sono molto simili,

6
Roger Ween

Anche se questa è una domanda vecchia, dai un'occhiata a xmlVM http://www.xmlvm.org/clr2jvm , non sono sicuro che sia ancora abbastanza maturo, anche se è in circolazione da diversi anni ormai. XMLvm è stato creato, credo, principalmente per la traduzione Android Java app per iPhone, tuttavia, il suo framework basato sulla traduzione di codice XML è abbastanza flessibile da fare altre combinazioni (vedere gli schemi sul sito).

Per un motivo per fare questa conversione, forse c'è la necessità di "dirottare" alcuni dei codice oss molto abbondante là fuori e usarli all'interno del proprio progetto [Java].

Saluti

Ricco

5
Big Rich

Prova a guardare Net2Java Mi sembra l'opzione migliore per la conversione automatica (o semi-automatica almeno) da C # a Java

4
Pedro C

Non si convertono direttamente, ma consentono l'interoperabilità tra .NET e J2EE.

http://www.mainsoft.com/products/index.aspx

3
scubabbl

C # ha alcune funzionalità in più rispetto a Java. Prendiamo ad esempio i delegati: molte applicazioni C # molto semplici usano i delegati, mentre il Java la gente pensa che il modello di osservatore fosse sufficiente. Quindi, affinché uno strumento converta un'applicazione C # che lo utilizza delegati dovrebbe tradurre la struttura dall'uso dei delegati a un'implementazione del modello di osservatore. Un altro problema è il fatto che i metodi C # non sono virtuali per impostazione predefinita mentre Java lo sono. Inoltre, Java non ha un modo per rendere i metodi non virtuali. Questo crea un altro problema: un'applicazione in C # potrebbe sfruttare il comportamento del metodo non virtuale attraverso il polimorfismo in un modo che non si traduce direttamente in Java. Se ti guardi intorno probabilmente scoprirai che ci sono molti strumenti per convertire Java in C # poiché è un linguaggio più semplice (per favore non darmi fuoco non ho detto peggio, ho detto più semplice); tuttavia, troverai pochissimi strumenti decenti che convertano C # in Java.

Consiglierei di cambiare il tuo approccio alla conversione da Java a C # in quanto creerà meno mal di testa a lungo termine. Db4Objects ha recentemente rilasciato il suo strumento interno che usano per convertire Db4o in C # al pubblico. Si chiama Sharpen. Se ti registri con il loro sito puoi visualizzare questo link con le istruzioni su come usare Sharpen: http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/How_To_Setup_Sharpen

(Sono stato registrato con loro per un po 'e sono bravi a non spamming)

3
Lorentz

Questi ragazzi sembrano avere una soluzione per questo, ma non ci ho ancora provato. Hanno anche una versione demo del convertitore.

3
Guven Demir

Non sono sicuro di cosa stai cercando di fare desiderando convertire C # in Java, ma se è l'interoperabilità .net di cui hai bisogno, potresti voler dare un'occhiata a Mono

1
karlipoppins

Beh, la sintassi è quasi la stessa ma si basano su diversi framework, quindi l'unico modo per convertire è ottenere qualcuno che conosca entrambe le lingue e convertire il codice :) la risposta alla tua domanda è che non esiste uno strumento "efficace" per convertire c # a Java

1
Hannoun Yassir

Questo è fuori dal bracciale, ma non è quello per cui Grasshopper era?

1

Forse potresti usare jni4net - opensource bridge invece? O un elenco di altre opzioni Lo so.

1
Pavel Savara