Belajar Pemrograman C# .NET di Linux, Apakah Bisa?
Saya pernah berpikir:
Sepertinya pemrograman .NET (dibaca “Dot net”) tidak mungkin bisa dilakukan di Linux. Karena .NET sendiri merupakan produk dari Microsoft.
Ternyata itu salah… (karena kurang piknik sih 😸 )
Dunia sudah berubah.
Sejak CEO Microsoft Satya Nadella menyatakan:
“Microsoft ❤ Linux” 1
Beberapa produk Microsoft menjadi open source, termasuk juga .NET yang sudah di-open-sourcekan sejak tahun 201.
Programmer Microsoft juga banyak yang berkontribusi di proyek-proyek open source.
Buktinya, Microsoft menjadi organisasi yang paling banyak berkontribusi di proyek open source (di Github), mengalahkan Facebook dan Google.
(sumber: Github Octoverse 201)
Saat tidak ada lagi persaingan, maka akan ada kolaborasi dan gotong-royong untuk membangun ekosistem yang lebih baik.
Itulah semangat open source.
Pada kesempatan ini, kita akan belajar:
- Pengenalan C# dan .NET
- Bagaimana membuat program C# .NET di Linux?
- Alat apa saja yang dibutuhkan untuk membuat program C# .NET di Linux?
- Cara Kompilasi dan Eksekusi Program C# .NET di Linux.
Mari kita mulai…
Apa itu C# dan .NET?
C# (dibaca “C Sharp”) adalah bahasa pemrograman buatan Microsoft yang dirancang untuk berjalan di atas .NET.
.NET sendiri merupakan sebuah platform untuk membuat dan menjalankan program C#, F#, dan VB .NET.
Di dalam .NET terdapat beberapa komponen seperti Framework Class Library (FCL), WinForms, CLR, dan sebagainya yang bisa kita manfaatkan untuk membuat program.
Program yang dibuat untuk .NET akan dieksekusi oleh sebuah mesin virtual bernama Common Language Runtime (CLR).
Jadi, bila komputermu belum terinstal .NET, maka tidak akan bisa menjalankan program yang dibuat dengan C#, F#, dan VB .NET.
Jika kamu pernah belajar Java, .NET bisa diibaratkan seperti JDK dan JRE yang bisa digunakan untuk membuat program Java dan menjalankannya.
.NET ada beberapa jenis:
Apa saja perbedaannya?
- .NET Framework merupakan platform untuk membuat aplikasi windows saja;
- .NET Core merupakan platform yang bisa digunakan di berbagai platform seperti Linux dan MacOS;
- XAMARIN adalah platform .NET yang khusus untuk mobile.
.NET yang manakah yang akan kita gunakan?
Tentu saja kita akan menggunakan yang .NET Core.
Peralatan yang Harus dipersiapkan
Ada beberapa alat yang harus kita persiapkan untuk melakukan pemrograman C# di Linux:
- Teks Editor (Visual Studio Code) untuk menulis kode program;
- Kompilator (.NET SDK) untuk kompilasi kode program.
Itu saja?
Ya benar, itu saja.
Sebenarnya ada alternatif lain, yaitu menggunakan Monodevelop. Namun, pada pada tulisan ini, saya akan menggunakan peralatan dari Microsoft saja. Biar resmi 😄.
1. Siapkan Teks Editor
Kenapa harus pakai VS Code, bisa tidak menggunakan teks editor yang lain?
Bisa saja sih…
Namun, Saya merekomendasikan VS Code karena di sana ada ekstensi yang bisa kita gunakan untuk debugging program C#.
Silakan install VS Code. Baca cara instalnya di sini: [Review] Teks Editor Visual Code Studio di Linux
Setelah itu, install ekstensi C#.
Ekstensi ini semacam plug-in yang akan kita gunakan untuk men-debug program.
2. Instalasi .NET SDK di Linux
Berbeda distro, beda juga cara instalnya. Saya akan menginstal .NET di distro Kubuntu 20.04 64-bit.
Untuk distro lain, silakan lihat di: Install .NET Core on Linu.
Pertama kita harus menambahkan repository .NET:
## Download paket dari Microsoft
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
## Kemudian install
sudo dpkg -i packages-microsoft-prod.deb
Catatan: Instalasi ini untuk Ubuntu versi 20.04, untuk versi yang lainnya silakan cek di Install .NET Core SDK or .NET Core Runtime on UbunLalu, baru kita bisa install .NET dengan perintah:
sudo apt update; \
sudo apt install -y apt-transport-https && \
sudo apt update && \
sudo apt install -y dotnet-sdk-3.1
Tunggulah sampai prosesnya selesai..
Setelah itu, untuk memastikan .NET sudah terinstal dengan benar, coba ketik perintah dotnet --version
.
Membuat Project Baru
Silakan buka terminal, lalu ketik perintah berikut untuk membuat project C# .NET:
dotnet new console -o HelloApp
Keterangan:
console
adalah jenis aplikasi yang akan kita buat.HelloApp
adalah nama project aplikasinya.
Selain aplikasi console ada juga jenis aplikasi yang lain seperti ASP untuk aplikasi Web.
Bisa kita lihat dengan dotnet new --help
.
Setelah kita membuat project, sekarang kita buka dengan teks editor.
Ketik perintah berikut:
code HelloApp
Kemudian akan terbuka seperti ini:
Jika muncul pesan Warning seperti di atas, klik saja “Yes”.
Kita bisa mulai menulis programnya pada file Program.cs
.
Menjalankan Program
Untuk menjalankan program, kita harus lakukan melalui terminal. Karena programnya adalah program console.
Tapi tenang saja, kita juga bisa menjalankan melalui VS Code.
Ketik perintah berikut untuk menjalankannya:
dotnet run --project HelloApp
Atau jika kamu berada di direktori HelloApp
langsung saja ketik dotnet run
.
Keren…
Kita sudah berhasil membuat program Hello World dengan C# di Linux.
Selanjutnya, kita akan coba menjalankan dari VS Code.
Silakan masuk ke Debug, lalu klik Run.
Ini hanya untuk debugging saja.
Lalu, bagaimana kalau aplikasi console-nya sudah jadi?
Kita bisa melakukan build dengan perintah:
dotnet publish
Maka akan tercipta file binary baru di HelloApp/bin/Debug/netcoreapp2.0/publish/
bernama HelloApp.dll
.
Kenapa output-nya berupa HelloApp.dll
, bukan HelloApp.exe
?
Karena file ini akan dieksekusi oleh .NET runtime.
Publikasi Aplikasi ke Platform Tertentu
Apabila kita ingin publikasi aplikasi ke platform tertentu, misalnya Windows 7 64-bit. Maka kita harus menambahkan RID (Runtime Identifier) pada file HelloApp.csproj
.
Untuk mengetahui nama-nama RID, bisa dilihat di .NET Core RID Catalo.
Contoh di atas, saya menambahkan platform win7-x64
dan ubuntu-x64
.
Setelah menambahkan RID, barulah kita bisa kompilasi atau publish aplikasinya ke platform tersebut.
Perintahnya seperti ini:
dotnet publish --runtime win7-x64
Kita harus menambahkan argumen --runtime
dan nama RID-nya. Ini artinya, kita akan mempublikasikan aplikasi beserta .NET Runtime-nya.
Proses publikasi membutuhkan koneksi internet untuk mengambil beberapa paket. Sehingga hasilnya akan seperti ini:
Banyak sekali file .dll
, ini semua adalah library .NET yang dibutuhkan oleh aplikasi agar bisa dieksekusi (publish sekaligus dengan .NET).
Semua file tersebut dapat kita taruh di dalam C:\Program Files\HelloApp
. Atau biar mudah, dibuatkan wizard installer-nya.
No comments:
Post a Comment