Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette approche peut intéresser les organisations qui :
- Passez des piles technologiques de Java à C#.
- Doit conserver une version C# et une version Java du même produit.
- Vous souhaitez disposer d’une version .NET d’une bibliothèque Java populaire.
Il existe deux façons de porter du code Java vers C#. La première méthode consiste à porter le code manuellement. Cela implique des développeurs qualifiés qui comprennent à la fois .NET et Java et sont familiarisés avec les idiomes appropriés pour chaque langage. Cette approche est la plus logique pour de petites quantités de code ou pour les organisations qui souhaitent passer complètement de Java à C#.
La deuxième méthodologie de portage consiste à essayer d’automatiser le processus à l’aide d’un convertisseur de code, tel que Sharpen. Sharpen est un convertisseur open source de Versant qui a été utilisé à l’origine pour porter le code de db4o de Java vers C#. db4o est une base de données orientée objet développée par Versant en Java, puis transférée vers .NET. L’utilisation d’un convertisseur de code peut être utile pour les projets qui doivent exister dans les deux langages et qui nécessitent une certaine parité entre les deux.
Un exemple de cas où un outil de conversion de code automatisé est judicieux peut être vu dans le projet ngit . Ngit est un port du projet Java jgit. Jgit lui-même est une implémentation Java du système de gestion du code source Git . Pour générer du code C# à partir de Java, les programmeurs ngit utilisent un système automatisé personnalisé pour extraire le code Java de jgit, appliquer des correctifs pour prendre en charge le processus de conversion, puis exécuter Sharpen, qui génère le code C#. Cela permet au projet ngit de bénéficier du travail continu et continu effectué sur jgit.
Il y a souvent une quantité non triviale de travail impliquée dans l’amorçage d’un outil de conversion de code automatisé, et cela peut s’avérer un obstacle à l’utilisation. Dans de nombreux cas, il peut être plus simple et plus facile de porter Java vers C# manuellement.