Sie sollten .NET Core anstelle von .NET Framework oder Xamarin in den folgenden 6 typischen Szenarien gemäß der Dokumentation hier verwenden .
1. Plattformübergreifende Anforderungen
Wenn Sie eine Anwendung (Web / Service) haben möchten, die plattformübergreifend (Windows, Linux und MacOS) ausgeführt werden kann, ist es im .NET-Ökosystem am besten, .NET Core als Laufzeit (CoreCLR) zu verwenden ) und Bibliotheken sind plattformübergreifend. Die andere Möglichkeit ist die Verwendung des Mono-Projekts.
Beide Optionen sind Open Source, aber .NET Core wird direkt und offiziell von Microsoft unterstützt und wird in Zukunft eine hohe Investition erfordern.
Bei der plattformübergreifenden Verwendung von .NET Core bietet Windows die beste Entwicklungserfahrung mit der Visual Studio-IDE, die viele Produktivitätsfunktionen unterstützt, darunter Projektmanagement, Debugging, Quellcodeverwaltung, Refactoring, umfangreiche Bearbeitung einschließlich Intellisense, Testen und vieles mehr. Eine umfassende Entwicklung wird jedoch auch mit Visual Studio Code unter Mac, Linux und Windows unterstützt, einschließlich Intellisense und Debugging. Selbst Editoren von Drittanbietern wie Sublime, Emacs, VI und andere funktionieren gut und können mithilfe des Open-Source-Omnisharp-Projekts Editor Intellisense erhalten.
2. Microservices
Wenn Sie ein Microservices-orientiertes System erstellen, das aus mehreren unabhängigen, dynamisch skalierbaren, zustandsbehafteten oder zustandslosen Microservices besteht, besteht der große Vorteil darin, dass Sie verschiedene Technologien / Frameworks / Sprachen auf Microservice-Ebene verwenden können. Auf diese Weise können Sie den besten Ansatz und die beste Technologie pro Mikrobereich in Ihrem System verwenden. Wenn Sie also sehr leistungsfähige und skalierbare Mikrodienste erstellen möchten, sollten Sie .NET Core verwenden. Wenn Sie eine .NET Framework-Bibliothek verwenden müssen, die nicht mit .NET Core kompatibel ist, können Sie diesen Microservice möglicherweise mit .NET Framework erstellen. In Zukunft können Sie ihn möglicherweise durch .NET Framework ersetzen Ader.
Es gibt viele Infrastrukturplattformen, die Sie verwenden können. Idealerweise sollten Sie für große und komplexe Microservice-Systeme Azure Service Fabric verwenden. Für zustandslose Microservices können Sie jedoch auch andere Produkte wie Azure App Service oder Azure Functions verwenden.
Beachten Sie, dass ab Juni 2016 nicht jede Technologie in Azure den .NET Core unterstützt, aber die .NET Core-Unterstützung in Azure wird nach der Veröffentlichung von .NET Core RTM dramatisch zunehmen.
3. Beste performante und skalierbare Systeme
Wenn Ihr System die bestmögliche Leistung und Skalierbarkeit benötigt, damit Sie unabhängig von der Anzahl der Benutzer die bestmögliche Reaktionsfähigkeit erzielen, sind .NET Core und ASP.NET Core genau das Richtige für Sie. Je mehr Sie mit der gleichen Menge an Infrastruktur / Hardware tun können, desto umfangreicher ist die Erfahrung für Ihre Endbenutzer - zu geringeren Kosten.
Die Tage von Moores Gesetzesverbesserungen für einzelne CPUs gelten nicht mehr. Sie müssen jedoch mehr tun, während Ihr System wächst, und eine höhere Skalierbarkeit und Leistung für die anspruchsvolleren Benutzer des Alltags benötigen, deren Anzahl exponentiell wächst. Sie müssen effizienter werden, überall optimieren und letztendlich besser über Cluster von Maschinen, VMs und CPU-Kernen skalieren. Es geht nicht nur um die Zufriedenheit des Benutzers. Dies kann auch einen großen Unterschied bei den Kosten / Gesamtbetriebskosten bewirken. Aus diesem Grund ist es wichtig, Leistung und Skalierbarkeit anzustreben.
Wie bereits erwähnt, ist es besser, wenn Sie kleine Teile Ihres Systems als Microservices oder andere lose gekoppelte Ansätze isolieren können, da Sie nicht nur jedes kleine Teil / jeden kleinen Microservice unabhängig weiterentwickeln und langfristig eine bessere Leistung erzielen können Agilität und Wartung, aber Sie können auch jede andere Technologie auf Microservice-Ebene verwenden, wenn das, was Sie tun müssen, nicht mit .NET Core kompatibel ist. Und schließlich können Sie es umgestalten und wenn möglich auf .NET Core bringen.
4. Entwicklung des Befehlszeilenstils für Mac, Linux oder Windows.
Dieser Ansatz ist bei Verwendung von .NET Core optional. Natürlich können Sie auch die vollständige Visual Studio-IDE verwenden. Wenn Sie jedoch ein Entwickler sind, der mit einfachen Editoren und starker Verwendung der Befehlszeile entwickeln möchte, ist .NET Core für CLI konzipiert. Es bietet einfache Befehlszeilentools, die auf allen unterstützten Plattformen verfügbar sind und es Entwicklern ermöglichen, Anwendungen mit einer minimalen Installation auf Entwickler-, Labor- oder Produktionsmaschinen zu erstellen und zu testen. Editoren wie Visual Studio Code verwenden dieselben Befehlszeilentools für ihre Entwicklungserfahrungen. Und IDEs wie Visual Studio verwenden dieselben CLI-Tools, verbergen sie jedoch hinter einer umfassenden IDE-Erfahrung. Entwickler können jetzt die Ebene auswählen, auf der sie mit der Toolkette interagieren möchten, von der CLI über den Editor bis zur IDE.
5. Benötigen Sie nebeneinander .NET-Versionen pro Anwendungsebene.
Wenn Sie Anwendungen mit Abhängigkeiten von verschiedenen Versionen von Frameworks in .NET installieren möchten, müssen Sie .NET Core verwenden, das 100% nebeneinander bereitstellt, wie zuvor in diesem Dokument erläutert.
6. Windows 10 UWP .NET-Apps.