Was ist .NET?

Abgeschlossen

Was mit dem Begriff .NET gemeint ist, hängt stark vom Kontext ab. In dieser Lerneinheit erfahren Sie mehr über .NET, indem Sie .NET als Ökosystem betrachten. Anders ausgedrückt: .NET umfasst viele Komponenten und Personen, die zusammen eine leistungsstarke Umgebung für das Entwickeln von Anwendungen schaffen.

.NET ist ein Ökosystem für die Anwendungsentwicklung

Der Begriff Ökosystem beschreibt die vielen Facetten einer Anwendungsentwicklungsumgebung und der Community, in die sie eingebettet ist. Diese Facetten bilden zusammen ein überzeugendes Argument dafür, in das Lernen in Bezug auf .NET und das Entwickeln von .NET-Anwendungen zu investieren.

Verwenden von .NET-Sprachen und -Compilern zum Ausführen von Anwendungen in der .NET-Runtime

Softwareentwickler verwenden .NET-Sprachen wie C# und F#, um Quellcode zu schreiben. Jede Codezeile, die sie schreiben, enthält eine Anweisung oder einen Befehl, die bzw. den der Computer ausführen soll, während das Programm ausgeführt wird.

Bevor Softwareentwickler ihren Code ausführen können, müssen sie ihn erst kompilieren. Der .NET-Compiler ist ein Programm, das den Quellcode (in jeder unterstützten Programmiersprache) in eine portierbare Sprache konvertiert, die als Zwischensprache (Intermediate Language, IL) bezeichnet wird. Der .NET-Compiler speichert den IL-Code in einer Datei, die als .NET-Assembly bezeichnet wird. Durch das Kompilieren des Codes in ein Zwischenformat kann immer dieselbe Codebasis verwendet werden, unabhängig davon, wo der Code ausgeführt wird – unter Windows oder Linux und auf Computerhardware mit 32 Bit oder 64 Bit.

Die .NET-Laufzeit ist eine Ausführungsumgebung für die kompilierte .NET-Assembly. Das heißt, wenn Ihre Anwendung unter einem Hostbetriebssystem ausgeführt wird, wird sie von der .NET-Laufzeit ausgeführt und verwaltet. Auf die Aufgaben der .NET-Runtime wird gleich näher eingegangen.

Glücklicherweise müssen Sie als Softwareentwickler, der gerade erst in .NET einsteigt, die Details dieser Mechanismen nicht kennen. Wenn Sie Erfahrung mit .NET sammeln, erhalten Sie immer mehr Einblicke in die zugrunde liegende Leistungsfähigkeit der .NET-Sprachen und -Compiler sowie der .NET-Runtime und werden diese schätzen lernen.

Tipp

Manche Anwender denken, dass die C#-Programmiersprache .NET sei. C# und .NET sind jedoch zwei verschiedene Dinge. C# ist eine Programmiersprachensyntax. Im Rahmen der Syntax können Sie auf Methoden verweisen, die in .NET-Codebibliotheken oder Assemblys definiert sind, und diese aufrufen. Als Nächstes verwenden Sie den C#-Compiler, der mit dem .NET-SDK installiert wird, um aufbauend auf Ihrem C#-Code eine .NET-Assembly zu erstellen. Die .NET-Runtime führt dann die .NET-Assemblys aus. Diese Unterschiede sind wichtige Konzepte, wenn Sie mehr über .NET und C# erfahren.

Verwenden von .NET-Anwendungsframeworks und -Bibliotheken für die Nutzung vorgefertigter Funktionalität

Software besteht immer aus verschiedenen Ebenen, d. h., sie wird auf einem Computer auf mehreren Abstraktionsebenen ausgeführt:

  • Auf der niedrigsten Ebene kommuniziert die Software direkt mit der Hardware Ihres Computers. Sie steuert den Datenfluss auf der Hauptplatine, den Prozessoren, dem Arbeitsspeicher und den Festplatten.
  • Auf der nächsten Ebene ermöglicht Software es dem Endbenutzer, über ein Betriebssystem Anweisungen zu erteilen.
  • Auf der darauffolgenden Ebene bietet Software wie .NET die Möglichkeit, Anwendungen zu entwickeln und auszuführen.
  • Auf einer weiteren Ebene können Sie mithilfe von Anwendungsframeworks und Funktionsbibliotheken schnell umfangreiche Anwendungen erstellen, und dies mit weniger Aufwand als bei älteren Entwicklungsmethoden.

Eine Codebibliothek fasst Funktionen für einen bestimmten Zweck zu einer einzelnen Assembly zusammen. Für .NET sind Tausende von Bibliotheken verfügbar. Dabei kann es sich um Erst- oder Drittanbieterbibliotheken handeln, die kommerzielle Bibliotheken oder Open-Source-Bibliotheken sein können. Diese Bibliotheken bieten eine große Bandbreite von Funktionalitäten, die Sie in Ihren Anwendungen verwenden können. Hierzu verweisen Sie lediglich auf diese Assemblys und rufen die benötigten Methoden auf. So bauen Sie als Entwickler auf der Arbeit anderer Softwareentwickler auf. Sie sparen Zeit und Energie, da Sie nicht jedes Feature selbst erstellen und pflegen müssen.

Ein Anwendungsframework kombiniert mehrere verwandte Bibliotheken sowie Startprojekte, Dateivorlagen, Code-Generatoren und andere Tools. Mit diesen Ressourcen können Sie ganze Anwendungen für einen bestimmten Zweck entwickeln. Diese Anwendungsframeworks werden als App-Modelle bezeichnet. Es gibt beispielsweise .NET-Anwendungsframeworks für beliebte App-Modelle wie Webentwicklung, Entwicklung für Desktop- oder Mobilgeräte sowie die Spieleentwicklung.

Sie können das .NET SDK direkt oder durch Installation von Visual Studio 2022 installieren. Das .NET SDK installiert eine umfassende Reihe von Bibliotheken und Anwendungsframeworks vor, die als Basisklassenbibliothek bezeichnet werden. Sie können diese Codebibliothek unabhängig von der Plattform oder den App-Modellen, die Sie erstellen möchten, in Ihren Programmen verwenden.

Bei anderen Drittanbieterbibliotheken verwenden Entwickler Paket-Manager wie NuGet, um Codebibliotheken in Paketrepositorys wie der NuGet Gallery zu suchen und zu integrieren.

Welche wichtigen App-Modelle gibt es?

Sie fragen sich vielleicht, welche Frameworks welche App-Modelle unterstützen. In der folgenden Tabelle ist für verschiedene .NET-Frameworks jeweils das entsprechende App-Modell aufgeführt.

App-Modell Framework Notizen
Web ASP.NET Core Das Framework zum Erstellen von serverseitiger Logik.
Web ASP.NET Core MVC Das Framework zum Erstellen von serverseitiger Logik für Webseiten und Web-APIs.
Web ASP.NET Core Razor Pages Das Framework zum Erstellen vom Server generierten HTML-Codes.
Webclient Blazor Blazor ist Teil von ASP.NET Core. Blazor verfügt über zwei Modi: einen zum Verändern des Dokumentobjektmodells (DOM) über Sockets als Kommunikationsmittel für die Ausführung von serverseitigem Code und einen zum Ausführen von kompiliertem C#-Code im Browser über eine WebAssembly-Implementierung.
Desktop .NET für Mac Ermöglicht .NET-Entwickler*innen die Erstellung von Anwendungen für Mac-Geräte mit nativer Benutzeroberfläche und API-Zugriff.
Desktop WinForms Ein Framework zum Entwickeln von Anwendungen im klassischen Windows-Stil.
Desktop Windows Presentation Foundation (WPF) Ein Framework zum Erstellen dynamischer Desktopanwendungen, die sich an verschiedene Formfaktoren anpassen. Mit WPF können Formelemente mithilfe einer umfangreichen Animationsbibliothek z. B. Bewegungs-, Ausblendungs- und Gleiteffekte durchführen.
Mobil .NET für Android Ermöglicht .NET-Entwickler*innen die Erstellung von Apps für Android-Geräte mit nativer Benutzeroberfläche und API-Zugriff.
Mobil .NET für iOS Ermöglicht .NET-Entwickler*innen die Erstellung von Apps für iOS und iPadOS mit nativer Benutzeroberfläche und API-Zugriff.
Multi-Plattform App-Benutzeroberfläche .NET MAUI Die wichtigste Methode zur Entwicklung von Apps für iOS, Android, Mac und Windows auf einer gemeinsamen Codebasis mit nativer Benutzeroberfläche und Zugriff auf native APIs.

.NET unterstützt auch gängige Umgebungen und Module für die Spieleentwicklung von Drittanbietern und Open-Source-Anbietern wie Unity.

Verwenden von .NET-Tools zum Erstellen von .NET-Apps

Softwareentwickler verwenden Tools zum Schreiben von Code, zum Hinzufügen von Verweisen auf Codebibliotheken sowie zum Kompilieren und Debuggen von Code. In diesem Abschnitt werden mehrere .NET-Tools zum Erstellen von .NET-Anwendungen beschrieben.

Visual Studio 2022 ist die wichtigste Entwicklungsumgebung von Microsoft. Millionen von Entwicklern erstellen damit .NET-Anwendungen. Eine grafische Benutzeroberfläche mit Menüs, Fenstern, visuellen Designern, Dialogfeldern und Assistenten führt Entwickler durch den Prozess der Anwendungsentwicklung. Visual Studio 2022 ist in drei Editionen verfügbar: Community, Professional und Enterprise. Jede Edition umfasst andere Tools und wird für unterschiedliche Zwecke lizenziert.

Visual Studio Code ist das Flaggschiff unter den Code-Editoren von Microsoft. Es unterstützt mehrere Programmiersprachen und wird von Windows, Mac und Linux unterstützt. Die C# Dev Kit-Erweiterung bringt eine verbesserte editororientierte C#-Entwicklung in Visual Studio Code und verbessert die Erfahrung bei der Arbeit mit .NET-Projekten durch die Unterstützung eines Projektmappen-Explorers, eines Projektsystems, von Testverbesserungen und eines Testexplorers, einer KI-unterstützten Entwicklung und eines leistungsstarken Sprachdienstes für erstklassige C#-Sprachfunktionen wie Code-Navigation, Refactoring, semantisches Bewusstsein und mehr.

Entwickler, die einen Befehlszeilenworkflow bevorzugen, können z. B. Visual Studio Code, den weltweit beliebtesten Code-Editor, in Kombination mit der .NET-Befehlszeilenschnittstelle verwenden, die auch als .NET-CLI bezeichnet wird.

Darüber hinaus können Sie aus zahlreichen Erst- und Drittanbietertools für viele fortgeschrittene .NET-Anwendungsfälle auswählen. Zu den Optionen zählen Codeprofiler, Komponententestrunner und Analysetools für die Code Coverage.

Für andere Szenarios sind weitere .NET-Tools verfügbar. Später in diesem Modul werden Sie beispielsweise mit Try .NET arbeiten. Mithilfe dieser browserbasierten Schnittstelle schreiben Sie einfache Anwendungen, um die Programmiersprache C# zu erlernen.

Dokumentation und Tutorials mit Problemlösungen und Antworten auf Ihre Fragen

Microsoft stellt eine große Bandbreite von Dokumentationen, Tutorials sowie Aus- und Weiterbildungsmöglichkeiten bereit. Sie finden Lernmaterialien in beliebten Formaten, die Sie bei jedem Schritt Ihres Lernprozesses unterstützen.

In der folgenden Tabelle finden Sie einige wichtige Ressourcen, für die Sie ein Lesezeichen erstellen sollten, um später darauf zuzugreifen.

Resource Zweck
Microsoft Learn Die Microsoft-Dokumentation umfasst Schnellstarttutorials und die maßgebliche Referenzdokumentation.
Muster und Methoden Hier finden Entwickler und Softwarearchitekten Unterstützung bei der Suche nach Lösungen für häufige Fragen bei der Anwendungsentwicklung. Die Ressourcen gehen häufig über die genauen Details zum Codeschreiben hinaus und bieten vertiefende Informationen über die Auswahl von Produkten und Diensten, die anscheinend unendlich skalierbare Architekturen ermöglichen.
.NET-Videos Unter diesem Link finden Sie Videotutorials des .NET-Teams. Diese Videos stellen Entwicklern die gängigen Verwendungsszenarios vor.
Erste Schritte mit C# Die Microsoft Learn-Module bieten Praxislabs, die Ihnen helfen, Ihre Kenntnisse durch eine Kombination von Anleitungen, Übungen, Medien und Wissensbeurteilungen sowie einer Funktion zur Nachverfolgung Ihres Lernfortschritts auszubauen.

Lernen von der .NET-Community und Austauschen von Lösungen in dieser

Das .NET-Ökosystem umfasst nicht nur Sprachen, Bibliotheken und Tools, sondern auch eine Community. Sie können von der Community lernen und auch selbst aktiv zur Community beitragen.

  • Lernen: Die Mitglieder der .NET-Community hosten Liveonlineevents und persönliche Treffen. Sie erstellen Open-Source-Software, nehmen an Frage-Antwort-Foren teil und zeichnen Videotutorials auf. Sie schreiben Bücher und Blogbeiträge, die Ihnen beim Lernen helfen und Antworten bieten, wenn Sie nicht wissen, wie es weitergeht.
  • Beitragen: .NET ist eine auf GitHub verfügbare Open-Source-Software. Die Projekte in diesem Repository werden von der .NET Foundation verwaltet. Diese unabhängige Organisation hat es sich zur Aufgabe gemacht, ein vertrauenswürdiges, wirtschaftsfreundliches Open-Source-Ökosystem rund um die .NET-Entwicklungsplattform zu schaffen. In diesem Repository können Sie Ihrer einzigartigen Perspektive und Stimme Gehör verschaffen, um anderen Personen beim Lernen zu helfen.

Das .NET-Ökosystem im Vergleich

Wenn Sie mit der Welt der Softwareentwicklung vertraut sind, fragen Sie sich unter Umständen, wie das .NET-Ökosystem im Vergleich mit anderen abschneidet. Für andere Ökosysteme können möglicherweise dieselben oder zumindest einige von den Ansprüche erhoben werden, die in dieser Lerneinheit für .NET genannt wurden.

Eines der wichtigsten Alleinstellungsmerkmale von .NET besteht darin, dass die Weiterentwicklung und der Support nicht nur von einem der wichtigsten IT-Marktführer, sondern auch von der Community betrieben werden. Ein beträchtlicher Anteil von .NET wurde Open Source entwickelt. Beiträge der Community sind jederzeit willkommen und werden aktiv gefördert. 87 % der Mitwirkenden sind keine Mitarbeiter von Microsoft. Microsoft entwickelt die Plattform durch neue Funktionen, Fehlerkorrekturen und Leistungsverbesserungen anhand von Feedback aus der Community weiter. Es wurden bereits mehr als 100.000 Pull Requests aus der Community akzeptiert.

Außerdem weist das .NET-Ökosystem eine hohe Dynamik auf:

  • Es gibt mehr als 5 Millionen .NET-Entwickler!
  • Die Ergebnisse von Stack Overflow-Umfragen zeigen immer wieder, dass .NET Core und .NET die beliebtesten Frameworks sind.
  • Studierende sind begeistert von .NET, und 40 % der Entwickler, die noch nicht mit .NET vertraut sind, sind Studierende.
  • Die GitHub-Repositorys für .NET und ASP.NET befinden sich unter den 30 dynamischsten Open-Source-Softwareprojekten.
  • GitHub listet C# unter den fünf beliebtesten Programmiersprachen auf, und laut dem TIOBE-Programmiercommunityindex 2020 wird die Sprache immer beliebter.
  • .NET verfügt laut den TechEmpower-Benchmarks, einer Reihe von unabhängigen Open-Source-Benchmarks für Webleistung, mit dem Dutzende von Sprachen und Anwendungsframeworks gemessen werden, über das weltweit schnellste Webframework.

Zur Entstehung von .NET

Das ursprüngliche .NET Framework wurde Anfang 2002 veröffentlicht. Seitdem folgten viele Updates und Funktionen. Alle diese Verbesserungen und neuen Features haben das ursprüngliche .NET Framework, insbesondere wichtige Codebibliotheken, im Laufe der Jahre erheblich vergrößert.

Nach 2002 hat Microsoft an einer Version von .NET mit plattformübergreifender Kompatibilität gearbeitet. Ziel war es, Entwickler in die Lage zu versetzen, eine Codebasis zu schreiben, die unter macOS, Linux und Windows funktioniert.

Die Bemühungen trugen Früchte, und ca. 2014 wurde .NET Core veröffentlicht. Microsoft hat das ursprüngliche .NET Framework unterstützt, neue Features und Verbesserungen sind jedoch für .NET Core vorbehalten. Core wurde später aus dem Namen entfernt. Die nächsten Hauptversionen sind .NET 5, .NET 6, .NET 7, .NET 8, und so weiter. Neue Versionen werden normalerweise immer im November veröffentlicht.

Warum ist die Geschichte von .NET relevant? Weil Sie wahrscheinlich Blogbeiträge, Videos und Quellcode zum ursprünglichen .NET Framework finden werden. In einigen Fällen funktionieren die Anleitungen oder der Code zwar noch, in anderen Fällen müssen Sie jedoch möglicherweise Anpassungen vornehmen, damit sie mit der neuen .NET-Version funktionieren.