.NET Standard adalah kumpulan formalSpesifikasi .NET API, diharapkan tersedia di semua implementasi .NET. Motivasi di balik pengenalan .NET Standard adalah untuk meningkatkan konsistensi dalam ekosistem .NET. ECMA 335 terus menetapkan keseragaman untuk perilaku implementasi .NET, tetapi tidak ada spesifikasi serupa untuk Pustaka Kelas Dasar (BCL) .NET untuk implementasi pustaka .NET.
.NET Standard mengaktifkan skenario utama berikut:
- Tentukan kumpulan API BCL yang terpadu dan agnostik beban kerja untuk semua implementasi .NET yang ingin Anda terapkan.
- Memungkinkan pengembang membangun pustaka portabel yang dapat digunakan dalam berbagai implementasi .NET melalui kumpulan API yang sama.
- Mengurangi atau bahkan menghilangkan kompilasi bersyarat kode sumber bersama untuk aspek .NET API (hanya API OS).
Berbagai implementasi .NET menargetkan versi tertentu dari .NET Standard. Setiap implementasi .NET mengumumkan versi .NET Standard tertinggi yang didukungnya, pernyataan yang berarti juga mendukung versi sebelumnya. Misalnya, .NET Framework 4.6 mengimplementasikan .NET Standard 1.3. Artinya, ini mengekspos semua API yang ditentukan dalam .NET Standard versi 1.0 hingga 1.3. Demikian pula, .NET Framework 4.6.1 mengimplementasikan .NET Standard 1.4, sedangkan .NET Core 1.0 mengimplementasikan .NET Standard 1.6.
Hubungan antara implementasi .NET Standard dan .NET sama dengan hubungan antara spesifikasi HTML dan browser. Yang terakhir adalah realisasi dari yang pertama.
Oleh karena itu, .NET Framework, Xamarin, dan .NET Core, masing-masing kerangka kerja terkelola mengimplementasikan . Standar NET. Karena industri komputer terus memperkenalkan perangkat keras dan sistem operasi baru, yang baru akan muncul di masa depan. Kerangka Kerja Hosting .NET. Standar ini memberi tahu pengembang aplikasi bahwa mereka dapat mengandalkan serangkaian API yang konsisten.
Masing-masing. Versi .NET sesuai dengan versi .NET Standard.
API konsisten, dan memindahkan aplikasi ke implementasi terkelola yang berbeda dan menyediakan alat akan lebih sederhana.
.NET Standard didefinisikan sebagai paket NuGet terpisah, karena semua . Implementasi .NET harus didukung
Standar .NET vs Perpustakaan Portabel
Bukankah perpustakaan portabel melakukan hal yang sama?
Class portabel menggunakan API umum yang didukung oleh beberapa platform. Akibatnya, semakin banyak platform yang didukung, semakin sedikit API yang tersedia, dan untuk kombinasi platform tertentu, mungkin sulit untuk mengetahui dengan tepat API mana yang didukung. Untuk platform baru, PCL yang ada harus dikompilasi ulang. PCL juga mengharuskan Microsoft untuk membuat fork implementasi kerangka kerja baru untuk setiap platform. Karena. NET Standard mengidentifikasi API, bukan implementasi, jadi tidak perlu mengkompilasi ulang aplikasi. Setiap yang baru dirilis. Implementasi .NET mengimplementasikan pustaka yang diperlukan. Aplikasi tidak perlu dikompilasi ulang untuk berjalan pada platform perangkat keras atau sistem operasi baru. Secara teoritis, pengecualian NotSupportedException mungkin tertangkap saat memanggil API, tetapi itu seharusnya jarang terjadi.
Dukungan implementasi .NET
Tabel berikut mencantumkan versi platform minimum yang mendukung setiap rilis .NET Standard. Ini berarti bahwa versi terbaru dari platform yang terdaftar juga mendukung versi .NET Standard yang sesuai. Misalnya, .NET Core 2.2 mendukung .NET Standard 2.0 dan yang lebih lama.
|