Ringkasan .NET Framework

.NET Framework adalah teknologi yang mendukung pembuatan dan eksekusi layanan web dan aplikasi Windows. .NET Framework dirancang untuk memenuhi tujuan berikut:

  • Menyediakan lingkungan pemrograman berorientasi objek yang konsisten apakah kode objek disimpan dan dieksekusi secara lokal, dijalankan secara lokal tetapi didistribusikan secara web, atau dijalankan dari jarak jauh.

  • Berikan lingkungan eksekusi kode yang:

    • Meminimalkan penyebaran perangkat lunak dan konflik penerapan versi.

    • Mempromosikan eksekusi kode yang aman, termasuk kode yang dibuat oleh pihak ketiga yang tidak dikenal atau semi-tepercaya.

    • Menghilangkan masalah performa lingkungan yang diskrip atau ditafsirkan.

  • Buat pengalaman pengembang konsisten di berbagai jenis aplikasi, seperti aplikasi berbasis Windows dan aplikasi berbasis Web.

  • Bangun semua komunikasi di standar industri untuk memastikan bahwa kode yang didasarkan pada .NET Framework terintegrasi dengan kode lainnya.

Catatan

.NET Framework dilayani setiap bulan dengan perbaikan bug keamanan dan keandalan. .NET Framework akan terus disertakan dengan Windows, tanpa rencana untuk menghapusnya. Anda tidak perlu memigrasikan aplikasi .NET Framework, tetapi untuk pengembangan baru, gunakan .NET 6 atau yang lebih baru.

.NET Framework terdiri dari runtime bahasa umum (CLR) dan pustaka kelas .NET Framework. Runtime bahasa umum adalah dasar .NET Framework. Pikirkan runtime sebagai agen yang mengelola kode pada waktu eksekusi, menyediakan layanan inti seperti manajemen memori, manajemen rangkaian, dan remoting, sementara juga menerapkan keamanan jenis yang ketat dan bentuk akurasi kode lainnya yang mendukung keamanan dan kekuatan. Faktanya, konsep manajemen kode adalah prinsip mendasar runtime. Kode yang menargetkan runtime dikenal sebagai kode terkelola, sedangkan kode yang tidak menargetkan runtime dikenal sebagai kode yang tidak dikelola. Pustaka kelas adalah koleksi lengkap yang berorientasi objek dari jenis yang dapat digunakan kembali yang Anda gunakan untuk mengembangkan aplikasi mulai dari baris perintah tradisional atau aplikasi antarmuka pengguna grafis (GUI) hingga aplikasi yang berbasis inovasi terbaru yang disediakan oleh ASP.NET, seperti layanan web XML dan Formulir Web.

.NET Framework dapat di-host oleh komponen yang tidak dikelola yang memuat runtime bahasa umum ke dalam prosesnya dan memulai eksekusi kode terkelola, sehingga menciptakan lingkungan perangkat lunak yang mengeksploitasi fitur terkelola dan tidak terkelola. .NET Framework tidak hanya menyediakan beberapa host runtime tetapi juga mendukung pengembangan host runtime pihak ketiga.

Misalnya, ASP.NET meng-host runtime untuk menyediakan lingkungan sisi server yang dapat diskalakan untuk kode terkelola. ASP.NET berfungsi langsung dengan runtime untuk mengaktifkan aplikasi ASP.NET dan layanan web XML, yang keduanya dibahas nanti dalam artikel ini.

Ilustrasi berikut menunjukkan hubungan runtime bahasa umum dan pustaka kelas dengan aplikasi Anda dan dengan keseluruhan sistem. Ilustrasi ini juga menunjukkan bagaimana kode terkelola beroperasi dalam arsitektur yang lebih besar.

Screenshot that shows how managed code operates within a larger architecture.

Bagian berikut menjelaskan fitur utama .NET Framework secara lebih mendetail.

Fitur runtime bahasa umum

Runtime bahasa umum mengelola memori, eksekusi rangkaian, eksekusi kode, verifikasi keamanan kode, kompilasi, dan layanan sistem lainnya. Fitur ini intrinsik dengan kode terkelola yang berjalan pada runtime bahasa umum.

Mengenai keamanan, komponen terkelola diberikan berbagai tingkat kepercayaan, tergantung pada sejumlah faktor yang mencakup asalnya (seperti Internet, jaringan perusahaan, atau komputer lokal). Ini berarti bahwa komponen terkelola mungkin atau mungkin tidak dapat melakukan operasi akses file, operasi akses registri, atau fungsi sensitif lainnya, meskipun digunakan dalam aplikasi aktif yang sama.

Runtime juga memberlakukan keuletan kode dengan menerapkan infrastruktur verifikasi-jenis-dan-kode yang ketat yang disebut sistem jenis umum (CTS). CTS memastikan bahwa semua kode terkelola menjelaskan sendiri. Berbagai pengompilasi bahasa Microsoft dan pihak ketiga menghasilkan kode terkelola yang sesuai dengan CTS. Ini berarti bahwa kode terkelola dapat menggunakan jenis dan instans terkelola lainnya, sekaligus secara ketat menegakkan ketepatan jenis dan keamanan jenis.

Selain itu, lingkungan runtime terkelola menghilangkan berbagai masalah perangkat lunak umum. Misalnya, runtime secara otomatis menangani tata letak objek dan mengelola referensi ke objek, melepaskannya saat tidak lagi digunakan. Manajemen memori otomatis ini menyelesaikan dua kesalahan aplikasi yang paling umum, kebocoran memori dan referensi memori yang tidak valid.

Runtime juga mempercepat produktivitas pengembang. Misalnya, pemrogram menulis aplikasi dalam bahasa pengembangan pilihan mereka namun sepenuhnya memanfaatkan runtime, pustaka kelas, dan komponen yang ditulis dalam bahasa lain oleh pengembang lain. Setiap vendor pengompilasi yang memilih untuk menargetkan runtime dapat melakukannya. Pengompilasi bahasa yang menargetkan .NET Framework membuat fitur .NET Framework tersedia untuk kode yang ada yang ditulis dalam bahasa tersebut, yang sangat memudahkan proses migrasi untuk aplikasi yang ada.

Meskipun runtime dirancang untuk perangkat lunak masa depan, ini juga mendukung perangkat lunak hari ini dan kemarin. Interoperabilitas antara kode terkelola dan tidak terkelola memungkinkan pengembang terus menggunakan komponen COM dan DLL yang diperlukan.

Runtime dirancang untuk meningkatkan performa. Meskipun runtime bahasa umum menyediakan banyak layanan runtime standar, kode terkelola tidak pernah ditafsirkan. Fitur yang disebut kompilasi just-in-time (JIT) memungkinkan semua kode terkelola berjalan dalam bahasa mesin native dari sistem tempat ini dijalankan. Sementara itu, pengelola memori menghilangkan kemungkinan memori terfragmentasi dan meningkatkan lokalitas referensi memori untuk lebih meningkatkan performa.

Akhirnya, runtime dapat di-host oleh aplikasi sisi server performa tinggi, seperti Microsoft SQL Server dan Layanan Informasi Internet (IIS). Infrastruktur ini memungkinkan Anda menggunakan kode terkelola untuk menulis logika bisnis Anda, sekaligus tetap menikmati performa superior dari server perusahaan terbaik di industri yang mendukung hosting runtime.

Pustaka kelas .NET Framework

Pustaka kelas .NET Framework adalah kumpulan jenis yang dapat digunakan kembali yang sangat terintegrasi dengan runtime bahasa umum. Pustaka kelas berorientasi objek, yang menyediakan jenis yang fungsionalitas kode terkelola Anda diturunkan darinya. Ini tidak hanya membuat jenis .NET Framework mudah digunakan tetapi juga mengurangi waktu yang terkait dengan mempelajari fitur baru .NET Framework. Selain itu, komponen pihak ketiga terintegrasi secara lancar dengan kelas di .NET Framework.

Misalnya, kelas koleksi .NET Framework menerapkan serangkaian antarmuka untuk mengembangkan kelas koleksi Anda sendiri. Kelas koleksi Anda menyatu dengan lancar dengan kelas di .NET Framework.

Seperti yang Anda harapkan dari pustaka kelas berorientasi objek, jenis .NET Framework memungkinkan Anda menyelesaikan berbagai tugas pemrograman umum, termasuk manajemen string, pengumpulan data, konektivitas database, dan akses file. Selain tugas umum ini, pustaka kelas mencakup jenis yang mendukung berbagai skenario pengembangan khusus. Anda dapat menggunakan .NET Framework untuk mengembangkan jenis aplikasi dan layanan berikut:

Kelas Formulir Windows adalah seperangkat jenis yang dapat digunakan kembali yang sangat memudahkan pengembangan GUI Windows. Jika Anda menulis aplikasi Formulir Web ASP.NET, Anda dapat menggunakan kelas Formulir Web.

Lihat juga