Udostępnij za pośrednictwem


Przenoszenie języka Java do języka C# dla platformy Xamarin.Android

Takie podejście może być interesujące dla organizacji, które:

  • Przełączają stosy technologii z języka Java na C#.
  • Musi obsługiwać język C# i wersję języka Java tego samego produktu.
  • Chcesz mieć wersję platformy .NET popularnej biblioteki Języka Java.

Istnieją dwa sposoby przenoszenia kodu Java do języka C#. Pierwszym sposobem jest ręczne przenoszenie kodu. Obejmuje to wykwalifikowanych deweloperów, którzy rozumieją zarówno platformę .NET, jak i język Java i znają odpowiednie idiomy dla każdego języka. Takie podejście ma największe znaczenie w przypadku małych ilości kodu lub dla organizacji, które chcą całkowicie odejść od języka Java do języka C#.

Druga metodologia przenoszenia polega na wypróbowaniu i zautomatyzowaniu procesu przy użyciu konwertera kodu, takiego jak Sharpen. Sharpen to konwerter typu open source z Versant, który pierwotnie był używany do przenoszenia kodu db4o z języka Java do języka C#. db4o to obiektowa baza danych, którą Versant opracował w języku Java, a następnie przenosi do platformy .NET. Użycie konwertera kodu może mieć sens w przypadku projektów, które muszą istnieć w obu językach i które wymagają parzystości między nimi.

Przykład tego, kiedy automatyczne narzędzie konwersji kodu ma sens, można zobaczyć w projekcie ngit . Ngit to port jgit projektu Java. Sam Jgit to implementacja języka Java systemu zarządzania kodem źródłowym Git . Aby wygenerować kod języka C# z języka Java, programiści ngit używają niestandardowego systemu zautomatyzowanego do wyodrębniania kodu Java z jgit, stosowania niektórych poprawek w celu uwzględnienia procesu konwersji, a następnie uruchamiania narzędzia Sharpen, który generuje kod języka C#. Dzięki temu projekt ngit może korzystać z ciągłej, ciągłej pracy wykonywanej na jgit.

Często istnieje nietrywialna ilość pracy związanej z uruchamianiem zautomatyzowanego narzędzia konwersji kodu, co może okazać się barierą w użyciu. W wielu przypadkach przenoszenie języka Java do języka C# może być prostsze i łatwiejsze.