Ein .NET-Glossar

.NET, welches teilweise auch mit Microsoft .NET bezeichnet wird, dient als Sammelbegriff für die von Microsoft herausgegebenen Software-Plattformen, Produkte, Frameworks, Programmiersprachen und allem was dazu gehört, wie Werkzeuge oder Technologien. Die .NET Platform Veröffentlichung wurde von Microsoft im Jahr 2000 offiziell bekannt gegeben.
In diesem Artikel möchten wir Ihnen die wichtigsten Begriffe zu .NET erläutern.

.NET Framework
Das .NET Framework (abgekürzt dotNetFx bzw. NetFx), welches Teil von Microsofts Software-Plattform .NET ist, wurde am 13. Februar 2002 in der Version 1.0 veröffentlicht. 1995 gab Microsoft bekannt, von seinem Konkurrenten „Sun Microsystems“, die Lizenz für Java zu erwerben und hatte es nach eigenen Bedürfnissen angepasst, was jedoch die Plattformunabhängigkeit von Java-Programmen beeinträchtigte. Als „Sun Microsystems“ dies durch eine Gerichtsverfügung unterband, änderte Microsoft seine Strategie, zumal Microsoft bis dato drei Softwaresysteme wie C++, Visual Basic und J++ entwickelt hatte, welche alle zueinander inkompatibel gewesen waren.
Mittlerweile veröffentlicht Microsoft in unregelmäßigen Abständen eine neue Version seines Frameworks. Aktuell ist das .NET Framework in der Version 4.7.2 verfügbar, 4.8 soll laut Microsoft im Jahr 2019 erscheinen. Frameworks bieten nützliche Funktionen, mit denen das Entwickeln, bzw. die Ausführung von Anwendungen leichter realisiert werden können.

Mono
Mono, welches 2001 von der Firma Ximian entwickelt wurde, ist eine quelloffene Implementierung von Microsofts .NET Framework. Unter Mono ist es möglich, dass .NET Framework auf Unix, Linux und Apple (macOS, iOS, tvOS und watchOS) Systemen zu nutzen. Im Jahr 2011 wurden die Entwickler in die neue Firma Xamarin übernommen, welche 2016 zu einer Tochtergesellschaft von Microsoft wurde.

Xamarin
Xamarins Hauptaugenmerk liegt in der Beschleunigung und Vereinfachung der Entwicklung von Cross-Platform Anwendungen für mobile Endgeräte (iOS, Windows und Android). Mittlerweile sind Xamarin-Laufzeitumgebung, Bibliotheken und Kommandozeilenwerkzeuge quelloffen und Xamarin ist fester Bestandteil von Visual Studio geworden. Via C# kann gegen die native Schnittstelle des jeweiligen mobilen Betriebssystems programmiert werden. So spart man sich viel Zeit, indem sie für alle Plattformen die gleiche Codebasis nutzen können.

.NET Core
.NET Core ist ein quelloffenes Projekt von Microsoft innerhalb der .NET-Plattform. Es ist Modernisierungsansatz von Microsoft eine neue Variante des .NET Frameworks zu erschaffen, um moderne und plattformübergreifende Lösungen zu realisieren.

.NET Framework Libraries
Fundamentale Funktionen für die Entwicklung von Software, wie der „String“-Operator, Datei Ein- und Ausgabe, threading und noch vieles mehr, sind in den .NET Framework Libraries beschrieben, welche auch in jeder .NET Sprache zu finden sind. Hierbei handelt es sich um eine Ansammlung an Standard-Funktionalitäten.

.NET Standard
Das .NET Standard ist eine Spezifikation der .NET-Klassenbibliotheken, in welcher alle veralteten oder nicht mehr genutzten Klassen entfernt und die bestehenden überarbeitet werden.
.NET Standard wird aktuell von vielen .NET-Varianten implementiert und setzt Standards der Funktionen, welche eine Langzeitpflege erleichtern.

UWP
Die Universal Windows Platform macht es möglich, Anwendungen geräte- und systemübergreifend zu gestalten. Die Anwendungen lassen sich dann nicht nur auf anderen Systemen, wie auf mobilen Endgeräten öffnen, sondern werden auch automatisch grafisch skaliert. Hierzu verwenden UWP-Anwendungen Responsive Design Techniken, um die Darstellung auf unterschiedlichen Endgeräten dynamisch zu realisieren.

Roslyn
Roslyn, Codename für die .NET Compiler Platform, ist das Projekt, mit welchem Microsoft die Compiler für C# und Visual Basic .NET in einzelne Dienste zerlegt („Compiler as a Service“). Somit baut der Prozess der Compilierung nicht mehr auf eine Black-Box auf, sondern ist beeinflussbar.

.NET Native
.NET Native ist ein Ahead-of-time-Compiler, welcher auch ein fester Bestandteil des .NET Cores ist. Ein Ahead-of-time-Compiler übersetzt den vom Entwickler geschriebenen Code vor der Ausführung, anstatt zur Laufzeit (JIT – Just-in-Time), in eine sogenannte Maschinensprache, welche der Computer direkt verstehen und ausführen kann. Vorkompilierte Anwendungen zeichnen sich i.d.R. durch eine performantere Ausführung aus.

ASP.NET
Die Active Server Pages .NET (kurz: „ASP.NET“) sind der Nachfolger von ASP. Mit ASP.NET lassen sich dynamische Webseiten, Webanwendungen und Webservices erstellen, somit lassen sich dynamische und komplexe Webanwendungen mithilfe von .NET und C# entwickeln. ASP.NET ist heute, nach PHP, eine der am meisten verwendeten Sprachen zum Erstellen von Webseiten.

.NET Runtime
Das Herzstück des .NET Frameworks, zur Ausführung seiner Anwendungen, ist die .NET Runtime, welche den JIT-Compiler (JIT: „Just-In-Time“) enthält, welcher den geschriebenen Code, in eine universelle Sprache übersetzt. Diesen kann die Runtime, dann auf mehreren Systemen ausführen.

Assembly
In z.B. C# geschriebener Code wird von einem Compiler in eine Maschinensprache übersetzt, man nennt diesen auch Assembly (zu deutsch: „Assembler“). Dieser Maschinencode wird in eine „.exe“-, oder „.dll“-Dateien durch den Compiler umgewandelt und kann anschließend von Computern ausgeführt werden.

C#
C-Sharp ist eine typisierte, objektorientierte Programmiersprache, welche sich an C, C++, Java, Delphi und Haskell orientiert. Obwohl C# exklusiv für Windows und im Rahmen von .NET entwickelt wurde, kann es mittlerweile mit der Hilfe von .Net Core auf macOS und GNU/Linux genutzt werden, sowie via Xamarin auf macOS, iOS und Android. C# ist heute die primäre Entwicklungssprache für das .NET Framework.

F#
F-Sharp ist eine typisierte und hauptsächlich funktionale Programmiersprache, welche mit der .NET-Platform interagieren kann. Auch diese kann mit .NET Core und Xamarin komplett plattformübergreifend agieren. Neben C# wurde die Programmiersprache F# für das .NET Framework entwickelt.

Quellen
zdnetasia.com
mono-project.com
heise.de
wikipedia.org

PG & JS