Anda harus menggunakan .NET Core, sebagai ganti .NET Framework atau Xamarin, dalam 6 skenario khas berikut ini sesuai dengan dokumentasi di sini .
1. Kebutuhan Cross-Platform
Jelas, jika tujuan Anda adalah memiliki aplikasi (web / layanan) yang seharusnya dapat berjalan di berbagai platform (Windows, Linux dan MacOS), pilihan terbaik dalam ekosistem .NET adalah menggunakan .NET Core sebagai runtime-nya (CoreCLR ) dan perpustakaan adalah lintas platform. Pilihan lain adalah menggunakan Proyek Mono.
Kedua pilihan adalah open source, tetapi .NET Core secara langsung dan resmi didukung oleh Microsoft dan akan memiliki investasi besar yang bergerak maju.
Saat menggunakan .NET Core di seluruh platform, pengalaman pengembangan terbaik ada pada Windows dengan Visual Studio IDE yang mendukung banyak fitur produktivitas termasuk manajemen proyek, debugging, kontrol sumber, refactoring, pengeditan kaya termasuk Intellisense, pengujian dan banyak lagi. Tetapi pengembangan yang kaya juga didukung menggunakan Visual Studio Code pada Mac, Linux dan Windows termasuk intellisense dan debugging. Bahkan editor pihak ketiga seperti Sublime, Emacs, VI dan banyak lagi bekerja dengan baik dan bisa mendapatkan intellisense editor menggunakan proyek open source Omnisharp.
2. Layanan Mikro
Ketika Anda sedang membangun sistem yang berorientasi layanan-mikro yang terdiri dari beberapa layanan-layanan mikro yang independen, dapat diskalakan, status atau stateless, keuntungan besar yang Anda miliki di sini adalah bahwa Anda dapat menggunakan teknologi / kerangka / bahasa yang berbeda pada tingkat layanan-mikro. Itu memungkinkan Anda untuk menggunakan pendekatan dan teknologi terbaik per area mikro di sistem Anda, jadi jika Anda ingin membangun layanan Microsoft yang sangat berkinerja dan terukur, Anda harus menggunakan .NET Core. Akhirnya, jika Anda perlu menggunakan pustaka .NET Framework yang tidak kompatibel dengan .NET Core, tidak ada masalah, Anda dapat membangun microservice itu dengan .NET Framework dan di masa depan Anda mungkin dapat menggantinya dengan .NET Inti.
Platform infrastruktur yang bisa Anda gunakan banyak. Idealnya, untuk sistem microservice yang besar dan kompleks, Anda harus menggunakan Azure Service Fabric. Tetapi untuk layanan microser stateless, Anda juga dapat menggunakan produk lain seperti Azure App Service atau Azure Functions.
Perhatikan bahwa pada Juni 2016, tidak semua teknologi dalam Azure mendukung NET Core, tetapi .NET Core dukungan di Azure akan meningkat secara dramatis sekarang. NET Core RTM dirilis.
3. Sistem berkinerja terbaik dan terukur
Ketika sistem Anda membutuhkan kinerja dan skalabilitas terbaik sehingga Anda mendapatkan respons terbaik tidak peduli berapa banyak pengguna yang Anda miliki, maka di situlah .NET Core dan ASP.NET Core benar-benar bersinar. Semakin banyak yang dapat Anda lakukan dengan jumlah infrastruktur / perangkat keras yang sama, semakin kaya pengalaman yang akan Anda miliki untuk pengguna akhir Anda - dengan biaya lebih rendah.
Hari-hari peningkatan kinerja hukum Moore untuk CPU tunggal tidak berlaku lagi; namun Anda perlu melakukan lebih banyak ketika sistem Anda tumbuh dan membutuhkan skalabilitas dan kinerja yang lebih tinggi untuk pengguna sehari-hari yang lebih menuntut yang tumbuh secara eksponensial dalam jumlah. Anda perlu lebih efisien, mengoptimalkan di mana-mana, dan skala yang lebih baik di seluruh kelompok mesin, VM dan core CPU, pada akhirnya. Ini bukan hanya masalah kepuasan pengguna; itu juga dapat membuat perbedaan besar dalam biaya / TCO. Inilah sebabnya mengapa penting untuk mengupayakan kinerja dan skalabilitas.
Seperti yang disebutkan, jika Anda dapat mengisolasi bagian-bagian kecil dari sistem Anda sebagai layanan microser atau pendekatan yang digabungkan secara longgar lainnya, itu akan lebih baik karena Anda tidak hanya dapat mengembangkan setiap bagian kecil / layanan mikro secara mandiri dan memiliki jangka panjang yang lebih baik kelincahan dan pemeliharaan, tetapi Anda juga akan dapat menggunakan teknologi lain di tingkat layanan mikro jika apa yang perlu Anda lakukan tidak kompatibel dengan .NET Core. Dan pada akhirnya Anda akan dapat melakukan refactor dan membawanya ke .NET Core jika memungkinkan.
4. Pengembangan gaya baris perintah untuk Mac, Linux atau Windows.
Pendekatan ini bersifat opsional saat menggunakan .NET Core. Anda juga dapat menggunakan Visual Studio IDE lengkap, tentu saja. Tetapi jika Anda adalah pengembang yang ingin mengembangkan dengan editor yang ringan dan penggunaan banyak baris perintah, .NET Core dirancang untuk CLI. Ini menyediakan alat baris perintah sederhana yang tersedia di semua platform yang didukung, memungkinkan pengembang untuk membangun dan menguji aplikasi dengan instalasi minimal pada pengembang, lab atau mesin produksi. Editor seperti Visual Studio Code menggunakan alat baris perintah yang sama untuk pengalaman pengembangan mereka. Dan IDE seperti Visual Studio menggunakan alat CLI yang sama tetapi menyembunyikannya di belakang pengalaman IDE yang kaya. Pengembang sekarang dapat memilih level yang mereka inginkan untuk berinteraksi dengan rantai alat dari CLI ke editor ke IDE.
5. Perlu berdampingan versi .NET per tingkat aplikasi.
Jika Anda ingin dapat menginstal aplikasi dengan dependensi pada berbagai versi kerangka kerja dalam .NET, Anda perlu menggunakan .NET Core yang menyediakan 100% berdampingan seperti dijelaskan sebelumnya dalam dokumen ini.
6. Aplikasi Windows 10 UWP .NET.