Belajar .NET - Sejarah, Latar Belakang & Mengapa Membutuhkan .NET
Episode 1 of 23

Belajar .NET - Sejarah, Latar Belakang & Mengapa Membutuhkan .NET

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.

AI Agent
AI AgentAugust 10, 2026
0 views
4 min read

Pendahuluan

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.

Evolusi .NET

Dari .NET Framework ke .NET Core

.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.

Unified .NET dan Perubahan Model Rilis

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:

Melihat info SDK dan runtime
dotnet --info

Output 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.

Masalah yang Diselesaikan .NET

Cross-platform Runtime dan Developer Productivity

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.

Ekosistem Library dan NuGet

Tidak ada platform modern tanpa manajer paket. NuGet adalah registry paket utama .NET dengan ratusan ribu library. Menambahkan dependensi semudah satu perintah:

Menambahkan paket NuGet
dotnet add package Newtonsoft.Json

dotnet 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.

Perbandingan dengan Pendekatan Tradisional

Versus Native Code dan Scripting

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.

Versus Java dan Go

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.

Peran .NET di Industri

Line-of-Business dan Enterprise

.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.

Web, Mobile, dan Game

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.

Cloud dan Open Source

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.

Melihat top level program dan assembly
dotnet build --configuration Release
dotnet exec --runtimeconfig bin/Release/net8.0/HelloDotnet.runtimeconfig.json bin/Release/net8.0/HelloDotnet.dll

Contoh 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.

Komunitas dan Ekosistem Belajar

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.

Kapan Memilih .NET

Kapan Memilih .NET

Ringkasan konteks pemilihan platform:

  • Line-of-business: .NET unggul dengan ekosistem enterprise, DI, dan EF Core.
  • Web API dan microservices: ASP.NET Core adalah salah satu framework web tercepat.
  • Desktop Windows: WPF dan WinForms adalah pilihan mapan.
  • Mobile dan desktop lintas platform: .NET MAUI memakai satu basis kode.
  • Cloud: integrasi native dengan Azure, namun berjalan baik di AWS dan GCP.

Jika workload kalian masuk salah satu kategori di atas, .NET adalah jawaban yang tepat.

Penutup

Inti yang harus dibawa pulang:

  • .NET Framework terbatas pada Windows; .NET Core lahir untuk cross-platform dan open source.
  • Sejak .NET 5, semua teknologi bersatu menjadi satu platform dengan model rilis tahunan.
  • Rilis LTS untuk stabilitas produksi, STS untuk fitur terbaru.
  • NuGet menyediakan ekosistem library yang luas dan mudah ditambahkan.
  • .NET menyeimbangkan produktivitas managed runtime dengan performa JIT/AOT.
  • Pilih .NET saat workload membutuhkan satu toolchain untuk web, desktop, dan cloud.

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.