Suchen

.NET Framework und .NET Core vereint Ausblick auf C#-Integration in .NET 5

| Autor / Redakteur: Thomas Joos / Stephan Augsten

Um mit C# zu arbeiten, sind verschiedene Zusatzlösungen notwendig, die bei der Entwicklung und Bereitstellung von Anwendungen helfen. Das .NET Framework bietet hierfür einen Compiler, eine Implementierung der Kommandozeile, Klassenbibliotheken und verschiedene Tools.

Firma zum Thema

Mit .NET 5 will Microsoft eine einheitliche Plattform für die Entwicklung verschiedenster Anwendungen mit unterschiedlichen Plattformen schaffen.
Mit .NET 5 will Microsoft eine einheitliche Plattform für die Entwicklung verschiedenster Anwendungen mit unterschiedlichen Plattformen schaffen.
(Bild: Microsoft)

Wer mit C# programmiert, kommt insbesondere bei der Entwicklung von Windows-Anwendungen kaum um das .NET Framework oder die moderne Version .NET Core herum. C# und .NET Framework bzw. Core ergänzen sich vor allem dann optimal, wenn als IDE das Visual Studio zum Einsatz kommt. Allerdings plant Microsoft in Zukunft, das klassische Framework und die Core-Version unter .NET 5 zusammenzufassen.

Sowohl das .NET Framework als auch .NET Core bieten eine sehr umfangreiche Klassenbibliothek und verschiedene Tools, die bei der Entwicklung helfen. So lassen sich Anwendungen für verschiedene Einsatzzwecke und mit Blick auf die Integration mit bestimmten CPUs optimieren. Die zusätzlichen Programme werden aber selten benötigt, da Entwickler normalerweise ohnehin mit Visual Studio arbeiten.

Das Microsoft .NET Framework wird als Paket installiert. Es gibt keine Möglichkeit von Side-by-Side-Installationen, dafür aber eine Abwärtskompatibilität mit älteren Paketen. Wird also eine neue Version installiert, dann unterstützt diese sowohl alte als auch neue Funktionen. Diesen Ansatz hat Microsoft mit .NET Core allerdings aufgegeben.

.NET Core funktioniert auch problemlos mit der kostenlosen Community-Edition von Visual Studio. Um also Anwendungen zu programmieren, die auf .NET aufbauen, können Entwickler komplett auf kostenlose Lösungen setzen. Microsoft veröffentlicht .NET Core und den Nachfolger .NET 5 als Open-Source-Projekte.

.NET Core – Die neue Version des .NET-Frameworks

Bei .NET Core handelt es sich vereinfacht gesagt um den Nachfolger des .NET-Frameworks, der wesentlich moderner, sicherer und schneller ist. Wer mit C# entwickeln will, sollte sich also auch mit den Möglichkeiten von .NET Core auseinandersetzen, idealerweise mit der neuen Version 3.1 und am besten auch gleich mit .NET 5.

Der Vorteil der Core-Version besteht darin, dass die jüngste Version als Plattform für Windows, Linux und macOS zur Verfügung zur Verfügung steht. Hinzu kommt, dass die Umgebung modular ist. Dadurch kann flexibler festgelegt werden, welche Teile auf einem System benötigt werden. Das spart schlussendlich auch Systemressourcen, vor allem Arbeitsspeicher, da weniger Bestandteile geladen werden müssen.

Hier kann also festgelegt werden, dass nur das installiert wird, was eine Anwendung benötigt. Windows-Systeme werden dadurch also entlastet und auch die Sicherheit wird verbessert. Sind auf einem Computer weniger Anwendungen und Softwarebestandteile installiert, reduziert das auch die Angriffsfläche. Das System erkennt weitgehend automatisch welche Bestandteile installiert werden müssen. Im Gegensatz zum alten .NET Framework lassen sich beim Einsatz von .NET Core mehrere Versionen installieren. Das gilt auch für den Nachfolger .NET 5.

Microsoft plant für .NET Core, das aktuell als Version 3.1 zur Verfügung steht, auch eine neue Namensstruktur. Die nächste Version wird nicht mehr als „.NET Core“ veröffentlicht, sondern erhält den Namen „.NET“. Die neue Version nach 3.1 erhält auch die Versionsnummer 5. Das soll klarmachen, dass .NET 5 auch der Nachfolger des .NET Frameworks 4.8 ist. Die neue Version wird also .NET Framework und .NET Core vereinheitlichen und für eine gemeinsame Basis sorgen.

Das gilt übrigens auch für die PowerShell. Auch hier werden PowerShell für Windows und PowerShell Core zur PowerShell 7 zusammengefasst. Auch diese funktioniert mit Windows, macOS und Linux.

Achtung bei der Umstellung von Framework-Anwendungen

Auch wenn das .NET Core 3.1 wesentlich moderner und schneller ist als das betagte .NET Framework, unterstützt es leider nicht alle Klassen und Funktionen. Wer seine Anwendungen auf die neue Version umstellt, muss also vorher überprüfen, ob .NET Core optimal unterstützt wird. ASP.NET Core und .Net Core-Anwendungen bauen auf .NET Core auf.

Ausblick auf .NET 5

Mit der neuen Version werden alle .NET-Variationen in ein gemeinsames Release überführt. Zu den unterstützten Plattformen gehören neben Windows, Linux und macOS auch iOS, Android, tvOS, watchOS und WebAssembly. Microsoft plant, die erste Version von .NET 5 im ersten Halbjahr 2020 zu veröffentlichen.

Die finale Version wird für November 2020 erwartet und von Visual Studio 2019, Visual Studio für Mac und Visual Studio Code unterstützt. Hier müssen allerdings beim Erscheinen der neuen Version Updates installiert werden. Wer mit C# entwickelt, sollte sich die Möglichkeiten von .NET 5 frühzeitig anschauen.

.NET Runtime zur Umsetzung von Programmen

C#-Anwendungen nutzen die .NET-Runtime, um auf Betriebssystemen installiert zu werden. Dabei handelt es sich um eine Schicht auf dem Betriebssystem, mit der die Funktionen von C# und .NET umgesetzt werden. Hier können also .NET-Anwendungen in Windows, aber durch .NET Core und dem Nachfolger .NET 5 auch auf Linux und macOS betrieben werden, ab Version 5 des .NET auch auf iOS, Android, tvOS, watchOS und WebAssembly.

Werden Anwendungen in .NET kompiliert, wird ein Zwischencode (ILCode) erstellt. Dabei handelt es sich um Intermediate Language, also eine Sprache, die für die Zwischenverarbeitung genutzt wird. Während der Laufzeit kann ein Compiler den ILCode in Maschinencode übersetzen. Dieser kommuniziert dann wiederum mit der .NET Runtime.

Klassenbibliothek in .NET Core mit C# nutzen

Einer der herausragenden Vorteile von .NET besteht in der extrem umfangreichen Klassenbibliothek. Es gibt haufenweise Möglichkeiten, Code aus verschiedenen Bereichen auch in C# zu nutzen. Netzwerkfunktionen, Collections, Webanwendungen und viele andere Funktionen sind Bestandteil der Klassenbibliothek. Wenn ein Programm mit C# entwickelt wird, vor allem wenn es sich um ein Programm mit grafischer Oberfläche handelt, spielt die einzelnen Bestandteile der Klassenbibliothek eine wichtige Rolle. Hier gibt es Windows-Forms und WPF, um Anwendungen mit grafischer Oberfläche zu programmieren.

Fazit

C#, Visual Studio und .NET sind ein Gespann, dass beim Entwickeln viele Vorteile mit sich bringt. Wer mit C# entwickelt, sollte sich mit den Möglichkeiten von .NET auseinandersetzen, und sich frühzeitig mit den neuen Möglichkeiten von .NET 5 auseinandersetzen.

(ID:46281789)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist