Member-only story
Perlukah belajar .NET Core?
.NET Core adalah salah satu usaha dari Microsoft untuk merangkul lebih banyak developer dengan mengembangkan teknologi .NET yang open source dan multi-platform os artinya .NET Core tidak hanya bisa berjalan di Windows tetapi bisa juga di sistem operasi Linux maupun macOS.
Teknologi .NET sebenarnya sangat potensial untuk portable hanya saya dalam perkembangannya menjadi segede gaban, terlalu banyak fragmentasi dan hanya khusus berjalan di Windows yang bernama .NET Framework. Seiring perkembangan teknologi dan market maka kebutuhan untuk deployment aplikasi ke multi device dan multi arsitektur prosesor akan semakin diperlukan dan sekitar tahun 2014, Microsoft kemudian mengambil fitur yang esensial atau bersifat core saja dari .NET Framework dan kemudian memunculkan .NET Core.
Secara garis besar Microsoft memegang tiga domain teknologi .NET saat ini seperti digambarkan dibawah ini,

Beberapa teknologi inti dari .NET Framework yang tetap ada di .NET Core yaitu ASP.NET untuk aplikasi web, Entity Framework Core untuk ORM database serta segala fitur untuk mengembangan aplikasi console ataupun cloud service dan perlu dicatat bahwa tidak ada pustaka untuk pengembangan GUI saat ini.
Ada beberapa komponen penyusun dari .NET Core yang perlu anda ketahui yaitu
- .NET Runtime atau CoreCRL
- .NET foundational libraries atau CoreFX
- .NET Core SDK
.NET Runtime fungsinya hampir sama seperti JVM, jadi C# dikompilasi oleh Roslyn (nama compiler C# saat ini) menjadi Intermediate Language atau IL yang kemudian disimpan sebagai berkas assembly (DLL atau .EXE), nah berkas-berkas assembly tersebut yang kemudian akan dieksekusi oleh .NET Core Runtime atau CoreCRL. Jadi untuk deployment aplikasi, CoreCRL bisa di bundle jadi satu atau dinamakan self-contained deployments (SCD) ataupun di instal secara global pada komputer klien atau lebih dikenal dengan nama framework-dependent deployments (FDD).
Pada intinya platform .NET Core memungkinkan pengembangan serta deployment aplikasi secara lintas platform dengan HANYA memakai paket-paket yang dibutuhkan oleh aplikasi tersebut artinya tidak perlu lagi klien menginstall satu unit berkas penuh seperti pada aplikasi .NET Framework umumnya. Sistem manajemen paket ini…