Das .NET Framework von Microsoft dient der Anwendungsentwicklung unter Windows. Mit .NET Core hat Microsoft einen modernisierten und plattformunabhängigen Ableger des .NET Frameworks veröffentlicht, welches zudem als Open Source Projekt durch Microsoft, sowie gemeinsam mit der .NET Community auf der Entwicklungsplattform GitHub entwickelt und gepflegt wird. Windows, Linux sowie macOS Anwendungen können somit, als größte Neuerung, zum .NET Framework durch die Plattformunabhängigkeit lokal, über die Cloud oder auf IoT-Lösungen genutzt werden. Aktuell befindet sich .NET Core auf Version 2.1 und soll das .NET Framework auf lange Sicht, durch eine modernere und zeitgerechtere Implementierung, ablösen.
Der Unterschied zwischen Mono und .NET Core
Das Mono-Projekt wurde im Jahre 2001 von der Firma Novell initialisiert. Bei Mono handelt es sich in erster Linie um einen Eins-zu-Eins-Nachbau des .NET Frameworks, mit dem Ziel, die Funktionalität des .NET-Frameworks für weitere Betriebssysteme, wie macOS oder Linux, zur Verfügung zu stellen.
Bei dem .NET Core Projekt handelt es sich um eine vollständige Neuentwicklung des .NET Frameworks unter der Prämisse einer Modernisierung. Im Gegensatz zu Mono handelt es sich bei .NET Core nicht um einen direkten Klon des .NET Frameworks. Dies hat zur Folge, dass merkliche Unterschiede in den Schnittstellen zu verzeichnen sind.
Die Plattformunabhängigkeit des .NET Core
Wie bereits erwähnt, ist das .NET Core, ähnlich wie Mono, plattformunabhängig. Das bedeutet, dass man auf einer aktuellen Plattform, wie z. B. Windows, Linux oder macOS, .NET Core basierende Software entwickeln und ausführen kann. Die Entwicklung von solchen Anwendungen ermöglicht das .NET Core SDK, welches ebenfalls für die genannten Betriebssysteme frei zum Download auf der Microsoft-Seite bereitsteht.
Vorteile von .NET Core
.NET Core bietet zahlreiche Vorteile gegenüber Mono und dem klassischen .NET Framework. Updates werden in einer hohen Frequenz veröffentlicht und .NET Core wird von Tag zu Tag weiterentwickelt und erweitert.
Seit der Veröffentlichung der Version 1.0 im Juli 2016 ist .NET Core mittlerweile bei Version 2.1 angelangt. Im ersten Quartal des Jahres 2019 soll die Version 3.0 folgen, welche Windows Forms, WPF, UWP sowie EF6 unterstützen soll und somit Desktop Anwendungen unterstützt.
Aktuell großer Fokus sind Webapplikationen durch das ASP.NET MVC Core Framework von Microsoft, welche eine plattformübergreifende Weiterentwicklung darstellt.
Das .NET Framework verglichen mit dem .NET Core
Wann sollte ich .NET Framework / .NET Core nutzen
.NET Core:
- Plattformübergreifende Anforderungen.
- Sie möchten Microservices, Docker-Container nutzen.
- Skalierbare Hochleistungssysteme, verschiedene parallele .NET-Versionen pro Applikation.
- Sourcecode ist vollständig quelloffen.
.NET Framework:
- Wenn Sie keine Zeit zum Erlernen neuer Technologien aufbringen können.
- Eine stabile Entwicklungsumgebung benötigen.
- Fehlende Dritt-Bibliothek oder NuGet Paket Unterstützung durch .NET Core
Das .NET Core Framework stellt einen Umbruch in der .NET Entwicklungswelt von Microsoft dar und verspricht eine interessante und plattformübergreifende Plattform zu werden, die quelloffen und gemeinsam mit der Community geplant und entwickelt wird.
Quellen:
codechannels.com (when should i not use net core)
codechannels.com (when should i still use net framework 4 instead of net core)
microsoft.com
it-visions.de