Ada dua komponen utama dalam
Framework .NET yaitu Common Language Runtime (CLR) dan .NET Framework Class
Library. Common Language Runtime (CLR) adalah pondasi utama dari Framework
.NET. CLR merupakan komponen yang bertanggung jawab terhadap berbagai macam
hal, seperti bertanggung jawab untuk melakukan managemen memory, melakukan
eksekusi kode, melakukan verifikasi terhadap keamanan kode, menentukan hak
akses dari kode, melakukan kompilasi kode, dan berbagai layanan system lainnya.
Dengan adanya fungsi CLR ini, maka aplikasi berbasis .NET biasa juga disebut
dengan managed code, sedangkan aplikasi di luar itu biasa disebut dengan
un-managed code. CLR akan melakukan kompilasi kode-kode aplikasi kita menjadi
bahasa assembly MSIL (Microsoft Intermediate Language). Proses kompilasi ini
sendiri dilakukan oleh komponen yang bernama Just In Time (JIT). JIT hanya akan
mengkompilasi metode metode yang memang digunakan dalam aplikasi, dan hasil
kompilasi ini sendiri di chace di dalam mesin dan akan dikompile kembali jika
memang ada perubahan pada kode aplikasi kita.
.NET Framework Class Library atau
sering juga disebut Base Case Library (BCL) adalah koleksi dari reusable
types yang sangat terintegrasi secara melekat dengan CLR. Class library bersifat
berorientasi terhadap objek yang akan menyediakan types dari fungsi-fungsi
managed code. Hal ini tidak hanya berpengaruh kepada kemudahan dalam hal
penggunaan, tetapi juga dapat mengurangi waktu yang diperlukan pada saat
eksekusi. Dengan sifat tersebut, maka komponen pihak ketiga akan dengan mudah
diaplikasikan ke dalam aplikasi yang dibuat. Dengan adanya BCL ini, maka kita
bisa menggunakan Framework .NET untuk membuat berbagai macam aplikasi, seperti
:
- · Aplikasi console
- · Aplikasi berbasis windowd
(Windows Form)
- · Aplikasi ASP.NET (berbasis
web)
- · Aplikasi Web Services XML
- · Aplikasi berbasis Windows
Services
Jika kita membuat sekumpulan Class
untuk membuat aplikasi berbasis windows, maka Class-Class itu bisa kita gunakan
untuk jenis aplikasi lain, seperti aplikasi berbasis web (ASP.NET).