Bagikan melalui


Porting Java ke C# untuk Xamarin.Android

Pendekatan ini mungkin menarik bagi organisasi yang:

  • Beralih tumpukan teknologi dari Java ke C#.
  • Harus mempertahankan C# dan versi Java dari produk yang sama.
  • Ingin memiliki versi .NET dari pustaka Java populer.

Ada dua cara untuk memindah kode Java ke C#. Cara pertama adalah dengan mem-port kode secara manual. Ini melibatkan pengembang terampil yang memahami .NET dan Java dan terbiasa dengan idiom yang tepat untuk setiap bahasa. Pendekatan ini paling masuk akal untuk sejumlah kecil kode, atau untuk organisasi yang ingin sepenuhnya pindah dari Java ke C#.

Metodologi porting kedua adalah mencoba dan mengotomatiskan proses dengan menggunakan pengonversi kode, seperti Sharpen. Sharpen adalah pengonversi sumber terbuka dari Versant yang awalnya digunakan untuk mem-port kode untuk db4o dari Java ke C#. db4o adalah database berorientasi objek yang dikembangkan Versant di Java, lalu di-port ke .NET. Menggunakan pengonversi kode mungkin masuk akal untuk proyek yang harus ada dalam kedua bahasa dan yang memerlukan beberapa paritas antara keduanya.

Contoh kapan alat konversi kode otomatis masuk akal dapat dilihat dalam proyek ngit . Ngit adalah pelabuhan proyek Java jgit. Jgit sendiri adalah implementasi Java dari sistem manajemen kode sumber Git . Untuk menghasilkan kode C# dari Java, programmer ngit menggunakan sistem otomatis kustom untuk mengekstrak kode Java dari jgit, menerapkan beberapa patch untuk mengakomodasi proses konversi, lalu menjalankan Sharpen, yang menghasilkan kode C#. Hal ini memungkinkan proyek ngit mendapat manfaat dari pekerjaan berkelanjutan dan berkelanjutan yang dilakukan pada jgit.

Seringkali ada sejumlah pekerjaan yang tidak sepele yang terlibat dengan bootstrapping alat konversi kode otomatis, dan ini mungkin terbukti menjadi penghadang untuk digunakan. Dalam banyak kasus, mungkin lebih sederhana dan lebih mudah untuk port Java ke C# dengan tangan.