Baru-baru ini di Blog .NET Framework resmi diumumkan bahwa .NET Core akan menjadi open source .
Ironisnya, penulis menyebutkan bahwa apa NET Core akan dijelaskan dalam posting berikutnya. Beberapa perincian lainnya disebutkan dalam pos pengumuman lain .
Dari diagram yang disediakan:
dan artikel teks itu sendiri, saya akan berasumsi bahwa .NET Core (di samping hal-hal yang jelas seperti open-source) adalah implementasi ulang modular dari .NET penuh. Yaitu komponen kerangka dimuat sebagaimana diperlukan, seperti paket NuGet dimuat sekarang. Dan sekarang ASP.NET 5 adalah salah satu modul yang sudah diimplementasikan. Apakah pemahaman saya tentang .NET Core benar? Mungkin saya melewatkan sesuatu?
Saya telah menemukan artikel baru yang saya temukan pendek dan sangat bagus. Ini mencakup .NET Standard, .NET Core, dan .NET Framework dan hubungan mereka. Saya sangat merekomendasikannya.
Jawaban:
Dari blog .NET Mengumumkan Pratinjau .NET 2015: Era Baru untuk .NET :
Dan:
Singkatnya: pertama, ada Microsoft .NET Framework , yang terdiri dari runtime yang mengeksekusi kode aplikasi dan pustaka, dan pustaka kelas standar yang hampir sepenuhnya didokumentasikan .
Runtime adalah Common Language Runtime , yang mengimplementasikan Infrastruktur Bahasa Umum , bekerja dengan kompiler JIT untuk menjalankan bytecode CIL (sebelumnya MSIL) .
Spesifikasi dan implementasi Microsoft .NET diberi, mengingat sejarah dan tujuannya, sangat berpusat pada Windows dan IIS dan "gemuk". Ada variasi dengan lebih sedikit perpustakaan, ruang nama, dan jenis , tetapi sedikit di antaranya yang berguna untuk pengembangan web atau desktop atau merepotkan untuk port dari sudut pandang hukum .
Jadi untuk menyediakan versi .NET non-Microsoft, yang dapat berjalan pada mesin non-Windows, alternatif harus dikembangkan. Tidak hanya runtime yang harus diport untuk itu, tetapi juga seluruh Framework Class Library agar dapat diadopsi dengan baik. Selain itu, untuk sepenuhnya independen dari Microsoft, diperlukan kompiler untuk bahasa yang paling umum digunakan.
Mono adalah satu dari sedikit, jika bukan satu-satunya implementasi alternatif dari runtime , yang berjalan pada berbagai OS selain Windows, hampir semua ruang nama dari Framework Class Library pada. NET 4.5 dan VB dan C # compiler .
Masukkan .NET Core: implementasi open-source runtime , dan perpustakaan kelas dasar minimal. Semua fungsionalitas tambahan dikirimkan melalui paket NuGet, menggunakan runtime spesifik, pustaka kerangka kerja dan paket pihak ketiga dengan aplikasi itu sendiri.
ASP.NET Core adalah versi baru dari MVC dan WebAPI, yang dibundel bersama dengan abstraksi server HTTP yang tipis, yang berjalan pada runtime .NET Core - tetapi juga pada .NET Framework.
sumber
Ini adalah sub-set dari .NET Framework, dimulai dengan edisi Compact Framework. Ini berkembang menjadi Silverlight, Windows Store dan Windows Phone. Itu fokus pada menjaga penyebaran kecil, cocok untuk unduhan cepat dan perangkat dengan kemampuan penyimpanan terbatas. Dan lebih mudah untuk menampilkan pada platform non-Windows, dan tentunya inilah alasan dipilihnya sebagai edisi open source. Bagian "sulit" dan "mahal" dari CLR dan perpustakaan kelas dasar dihilangkan.
Kalau tidak, itu selalu mudah untuk dikenali ketika Anda menargetkan versi kerangka kerja seperti itu, karena banyak barang akan hilang. Anda akan menggunakan kumpulan rakitan berbeda yang hanya memaparkan apa yang didukung oleh runtime. Itu disimpan di mesin Anda di
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore
direktori.Pembaruan: setelah rilis .NET Core 2.0 Saya telah melihat beberapa angka representatif yang memberikan wawasan yang layak. Mereka telah bekerja keras mendukung kerangka kerja porting API ke .NET Core selama dua tahun terakhir. .NET Core 1.0 awalnya mendukung 13.000 API. .NET Core 2.0 menambahkan 20.000 API, sehingga totalnya menjadi 32.000 dan memungkinkan sekitar 70% dari paket NuGet yang ada untuk di-porting. Ada satu set API yang terlalu banyak dihubungkan ke Windows untuk mudah di-port ke Linux dan MacOS. Dicakup oleh Paket Kompatibilitas Windows yang baru dirilis, ia menambahkan 20.000 API.
sumber
.NET Core
adalah versi 5.0 yang lebih tinggi dari kerangka penuh terbaru. Saya berasumsi bahwa itu berarti sesuatu yang berbeda.Saya telah menemukan artikel baru yang saya temukan pendek dan sangat bagus. Ini mencakup .NET Standard, .NET Core dan .NET Framework dan hubungan mereka. Saya sangat merekomendasikannya. Sayangnya, saya tidak punya waktu untuk beradaptasi dan menaruhnya di sini.
Konten jawaban asli di bawah:
Jadi, berdasarkan entri resmi terbaru tentang masalah ini, berikut adalah beberapa poin penting yang saya lihat:
Jadi .NET Native dan ASP.NET 5 hanyalah "subjek" uji untuk konfigurasi kerangka baru, sebagian ini mungkin karena mereka sangat berbeda:
Lihat, mereka bahkan membutuhkan level rendah yang terpisah, tetapi sebagian besar BCL masih umum:
Yaitu, persegi panjang magenta di atas akan ditambahkan secara masif dengan Model Aplikasi baru, tetapi pangkalan akan tetap umum.
Penyebaran NuGet:
Hubungan dengan kerangka kerja saat ini:
Ringkasan:
Pada dasarnya ini dapat dianggap sebagai. NET 4.6 dengan model distribusi yang berubah, yang, secara bersamaan, sedang dalam proses menjadi open source.
sumber
Dokumentasi saat ini memiliki penjelasan yang bagus tentang .NET Core, area untuk digunakan, dan sebagainya. Karakteristik berikut paling baik mendefinisikan .NET Core:
Dan inilah yang .NET Core meliputi:
sumber
.NET Core adalah implementasi lintas platform baru dari standar .NET (ECMA 335) mirip dengan Mono tetapi dilakukan oleh Microsoft sendiri.
Lihat docs.microsoft.com
sumber
Microsoft mengenali paradigma open source web masa depan dan memutuskan untuk membuka .NET ke sistem operasi lain. .NET Core adalah .NET Framework untuk Mac dan Linux. Ini adalah .NET Framework “ringan”, sehingga beberapa fitur / pustaka hilang.
Di Windows, saya masih akan menjalankan .NET Framework dan Visual Studio 2015. .NET Core lebih bersahabat dengan dunia open source seperti Node.js , npm, Yeoman , Docker , dll.
Anda dapat mengembangkan situs web lengkap dan API RESTful di Mac atau Linux dengan Visual Studio Code + .NET Core yang sebelumnya tidak mungkin. Jadi jika Anda menyukai Mac atau Ubuntu dan Anda adalah pengembang .NET, silakan dan atur.
Untuk Mono vs. .NET Core, Mono dikembangkan sebagai .NET Framework untuk Linux yang sekarang diakuisisi oleh Microsoft (perusahaan bernama Xamarin ) dan digunakan dalam pengembangan ponsel. Akhirnya, Microsoft dapat menggabungkan / memigrasi Mono ke .NET Core. Saya tidak akan khawatir tentang Mono sekarang.
sumber
Saya mencoba untuk membuat proyek baru di Visual Studio 2017 hari ini (baru-baru ini ditingkatkan dari Visual Studio 2015) dan melihat serangkaian pilihan baru untuk jenis proyek. Entah mereka baru atau sudah lama sejak saya memulai proyek baru !! :)
Saya menemukan tautan dokumentasi ini dan merasa sangat berguna, jadi saya berbagi. Rincian peluru juga disediakan dalam artikel ini. Saya hanya memposting peluru di sini:
Tautan ini menyediakan daftar istilah .NET.
sumber
Dari Situs Web Microsoft :
Teknologi ini berbeda dari. NET asli dalam bahwa mereka berjalan menggunakan CoreCLR runtime (digunakan dalam Platform Universal Windows ).
Seperti yang Anda sebutkan dalam pertanyaan Anda, .NET Core tidak hanya open-source, tetapi juga portabel [berjalan pada MacOS, Windows, dan Linux]
Bagian dalam .NET Core juga dioptimalkan untuk tidak menggunakan modul yang berbeda dari pustaka inti kecuali diperlukan oleh aplikasi.
sumber
Microsoft baru saja mengumumkan .NET Core v 3.0, yang merupakan versi yang lebih baik dari .NET Core.
Untuk lebih jelasnya kunjungi artikel hebat ini: Perbedaan Antara .NET Framework dan .NET Core dari April 2019.
sumber
.NET Core adalah kerangka kerja perangkat lunak komputer gratis dan open-source yang dikelola untuk sistem operasi Windows, Linux, dan macOS. Ini adalah open source, penerus lintas platform ke .NET Framework.
Aplikasi .NET Core didukung di Windows, Linux, dan macOS. Singkatnya .NET Core mirip dengan .NET framework, tetapi cross-platform, yaitu, memungkinkan aplikasi .NET berjalan di Windows, Linux dan MacOS. Aplikasi .NET framework hanya dapat berjalan di sistem Windows. Jadi perbedaan mendasar antara .NET framework dan .NET core adalah .NET Core adalah cross platform dan .NET framework hanya berjalan di Windows.
Selain itu, .NET Core memiliki injeksi ketergantungan bawaan oleh Microsoft dan Anda tidak perlu menggunakan perangkat lunak pihak ketiga / file DLL untuk injeksi ketergantungan.
sumber
.NET Core adalah versi open source dan cross platform .NET. Produk Microsoft, selain kemampuan hebat yang mereka miliki, selalu mahal untuk pengguna biasa, terutama pengguna akhir produk yang dibuat oleh teknologi .NET.
Sebagian besar pelanggan tingkat rendah lebih suka menggunakan Linux sebagai OS mereka dan sebelumnya. NET Core mereka tidak ingin menggunakan teknologi Microsoft, meskipun kemampuan mereka yang luar biasa. Tetapi setelah .NET Core produksi, masalah ini diselesaikan sepenuhnya dan kami dapat memuaskan pelanggan kami tanpa mempertimbangkan OS mereka, dll.
sumber
.NET Core adalah versi open source dan cross platform dari .NET Framework.
sumber