Episode ini menelusuri evolusi .NET dari .NET Framework ke .NET Core dan unified .NET. Kalian akan memahami masalah yang diselesaikan platform ini, perubahan model rilis, serta perbandingannya dengan pendekatan pengembangan tradisional.

Di episode 0 kalian sudah menyiapkan environment .NET. Sekarang saatnya memahami mengapa .NET ada dan dari mana asalnya. Tanpa konteks ini, keputusan teknis yang kalian temui di series ini — seperti memilih runtime, memahami rilis LTS, atau memakai NuGet — akan terasa seperti aturan tanpa alasan.
Episode 1 membedah sejarah panjang .NET: kelahiran .NET Framework di awal 2000-an, kebangkitan .NET Core sebagai platform open-source dan cross-platform, hingga penyatuan keduanya menjadi satu .NET yang kita kenal sekarang. Kalian juga akan melihat masalah yang diselesaikan platform ini dan bagaimana ia dibandingkan dengan pendekatan tradisional.
.NET Framework lahir pada tahun 2002 bersama era Windows. Ia kuat dan stabil, tetapi terikat pada sistem operasi Windows serta memiliki model rilis yang lambat. Masalahnya menjadi jelas saat industri mulai memindahkan workload ke Linux dan cloud: pengembang tidak bisa menjalankan aplikasi .NET Framework di luar Windows.
Solusinya adalah .NET Core yang dirilis tahun 2016. Ia ditulis ulang sebagai runtime modular, open-source, dan cross-platform. Aplikasi bisa berjalan di Windows, Linux, dan macOS tanpa perubahan berarti. Ini adalah titik balik yang membuka jalan bagi adopsi .NET di dunia cloud.
Mulai versi 5, Microsoft menghapus istilah Core dan Framework, lalu menggabungkan semuanya menjadi satu platform: .NET. Satu SDK, satu runtime, satu bahasa C#, dan satu model rilis yang terjadwal setiap bulan November:
dotnet --infoOutput dotnet --info menampilkan versi SDK, runtime, dan jalur instalasi. Perhatikan dua kategori rilis: LTS (misalnya .NET 8) yang didukung lebih dari 3 tahun untuk stabilitas produksi, dan STS (misalnya .NET 9) yang dirilis dengan dukungan singkat untuk fitur terbaru.
Sebelum .NET Core, tim pengembang sering memakai bahasa berbeda untuk backend, desktop, dan tooling. .NET menyatukan semuanya: satu kode C# bisa di-compile menjadi konsol, web API, aplikasi desktop, hingga mobile. Managed runtime menangani garbage collection dan type safety, sehingga pengembang fokus pada logika bisnis, bukan manajemen memori.
Compiler C# yang modern membawa fitur seperti nullable reference types dan pattern matching yang membuat kode lebih aman dan ringkas. Ini meningkatkan produktivitas tanpa mengorbankan performa — JIT bahkan bisa menyamai native code untuk banyak workload.
Tidak ada platform modern tanpa manajer paket. NuGet adalah registry paket utama .NET dengan ratusan ribu library. Menambahkan dependensi semudah satu perintah:
dotnet add package Newtonsoft.Jsondotnet add package Newtonsoft.Json men-download library ke project dan memperbarui file .csproj secara otomatis. SDK-style project (episode 3) membuat resolusi dependensi ini transparan dan reproducible, berbeda dengan era sebelumnya yang penuh konflik assembly.
Bahasa native seperti C++ menawarkan kontrol penuh tetapi menuntut pengelolaan memori manual dan siklus build yang lambat. Bahasa scripting seperti Python atau JavaScript cepat untuk prototipe tetapi performanya bergantung pada interpreter. .NET mengambil jalan tengah: kode dikompilasi ke IL (Intermediate Language), lalu di-JIT atau di-AOT ke native pada saat eksekusi — kombinasi produktivitas dan performa.
Java punya JVM dengan konsep serupa, namun .NET unggul dalam hal tooling modern seperti hot reload, source generators, dan integrasi mendalam dengan ekosistem cloud Microsoft. Go unggul di kecepatan startup dan binary kecil, tetapi ekosistem library dan fitur bahasa C# jauh lebih kaya untuk aplikasi enterprise.
Tip
Jangan memilih platform hanya dari popularitas. Ukur dari workload kalian: untuk line-of-business, web API, dan integrasi cloud, .NET adalah kandidat kuat karena satu toolchain menangani semuanya.
.NET telah lama menjadi pilihan utama untuk line-of-business — sistem yang menggerakkan operasi harian perusahaan seperti ERP, CRM, dan sistem keuangan. Alasannya adalah stabilitas, dukungan LTS yang panjang, dan tooling yang matang: debugging, profiling, dan integrasi IDE yang sudah teruji selama dua dekade. Bagi perusahaan, memperbarui sistem keuangan bukanlah keputusan ringan — dan .NET memberikan jaminan yang mereka butuhkan.
Di sisi web, ASP.NET Core dikenal sebagai salah satu framework server web dengan performa terbaik — mendekati angka jutaan request per detik di benchmark. Untuk game, Unity memakai C# sebagai bahasa scripting utama, sehingga keterampilan .NET membuka jalur ke industri game. Sementara itu, .NET MAUI menyatukan mobile dan desktop dalam satu basis kode.
Sejak 2016, .NET sepenuhnya open source di GitHub dengan komitmen reguler dari ribuan kontributor. Ini membawa dampak besar: kalian bisa membaca source code runtime, melaporkan bug, bahkan berkontribusi langsung. Ekosistem cloud pun menyambut .NET dengan SDK resmi untuk Azure, AWS, dan GCP — menjadikannya warga kelas satu di ketiga provider besar.
dotnet build --configuration Release
dotnet exec --runtimeconfig bin/Release/net8.0/HelloDotnet.runtimeconfig.json bin/Release/net8.0/HelloDotnet.dllContoh di atas menunjukkan dua cara menjalankan aplikasi: lewat dotnet run yang menyatukan build dan eksekusi, atau lewat dotnet exec yang langsung mengeksekusi assembly dengan runtimeconfig yang sudah dihasilkan build. Pemahaman ini berguna saat kalian membaca script deployment di episode 19.
Di balik teknologi ada komunitas yang membuatnya hidup. Ekosistem .NET memiliki forum resmi, dokumentasi berkualitas, jutaan pertanyaan terjawab di Stack Overflow, serta event tahunan seperti .NET Conf yang gratis untuk diikuti. Kalian tidak pernah belajar sendirian — dan sumber daya ini akan sangat membantu di sepanjang series ini.
Simpan juga halaman dokumentasi resmi Microsoft Learn sebagai rujukan utama saat menemui konsep yang belum jelas. Membaca dokumentasi adalah keterampilan yang sama pentingnya dengan menulis kode.
Ringkasan konteks pemilihan platform:
Jika workload kalian masuk salah satu kategori di atas, .NET adalah jawaban yang tepat.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya kita akan membahas konsep dasar dan arsitektur utama — bagaimana C# dikompilasi ke IL dan dieksekusi oleh CLR, garbage collector, JIT, struktur project .NET, serta Generic Host. Ini adalah fondasi yang menjelaskan perilaku aplikasi .NET di bawah kap mesin.