Was ist .NET?
Wenn jemand den Begriff .NET verwendet, hängt das, was sie bedeuten, stark vom Kontext ab. In dieser Lektion erfahren Sie mehr über .NET, indem Sie es als Ökosystem betrachten. Mit anderen Worten, .NET ist eine Sammlung vieler Teile und Personen, die gemeinsam eine leistungsstarke Umgebung zum Erstellen von Anwendungen erstellen.
.NET ist ein Ökosystem für die Anwendungsentwicklung
Der Begriff Ökosystem beschreibt die multiplen Facetten einer Anwendungsentwicklungsumgebung und der Community, die sie umgibt. Diese Facets verbinden sich, um einen überzeugenden Grund zu schaffen, in das Erlernen von .NET und das Erstellen von .NET-Anwendungen zu investieren.
Verwenden von .NET-Sprachen und Compilern zum Ausführen von Anwendungen in der .NET-Laufzeit
Softwareentwickler verwenden .NET-Sprachen wie C# und F# zum Schreiben von Quellcode. Jede Codezeile, die sie schreiben, drückt eine Anweisung oder einen Befehl aus, 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 zuerst kompilieren. Der .NET-Compiler ist ein Programm, das den Quellcode (in jeder unterstützten Programmiersprache) in eine portable Sprache konvertiert, die als Zwischensprache (IL ) bezeichnet wird. Der .NET-Compiler speichert den IL-Code in einer Datei namens .NET-Assembly. Indem Sie den Code in ein Zwischenformat kompilieren, können Sie die gleiche Codebasis verwenden, unabhängig davon, wo Sie den Code ausführen, ganz gleich, ob unter Windows oder Linux oder auf 32-Bit- oder 64-Bit-Computerhardware.
Die .NET-Laufzeit ist eine Ausführungsumgebung für die kompilierte .NET-Assembly. Mit anderen Worten: Die .NET-Laufzeit führt Ihre Anwendung so aus, wie sie auf einem Hostbetriebssystem ausgeführt und verwaltet wird. Wir sprechen mehr darüber, was die .NET-Runtime in nur einem Moment tut.
Glücklicherweise müssen Sie, wenn Sie als Softwareentwickler gerade mit .NET beginnen, sich nicht mit den Details beschäftigen, wie diese Mechanismen funktionieren. Mit zunehmender Erfahrung lernt man, die zugrunde liegende Leistungsfähigkeit der .NET-Sprachen, Compiler und der Laufzeitumgebung besser zu verstehen und zu schätzen.
Tipp
Manchmal denken die Benutzer, dass die C#-Programmiersprache .NET ist . C# und .NET unterscheiden sich jedoch. C# ist eine Programmiersprachesyntax. Im Rahmen der Syntax können Sie in .NET-Codebibliotheken oder Assemblys definierte Methoden referenzieren und aufrufen. Als Nächstes verwenden Sie den C#-Compiler, der mit dem .NET SDK installiert ist, um eine .NET-Assembly aus Ihrem C#-Code zu erstellen. Die .NET-Laufzeit führt dann die .NET-Assemblys aus. Diese Unterscheidungen sind wichtige Konzepte, während Sie mehr über .NET und C# erfahren.
Verwenden von .NET-Anwendungsframeworks und -Bibliotheken zum Nutzen vordefinierter Funktionen
Alle Software ist in Ebenen integriert, was bedeutet, dass Software auf verschiedenen Abstraktionsebenen auf einem Computer ausgeführt wird:
- Auf der niedrigsten Ebene kommuniziert die Software direkt mit der Hardware Ihres Computers. Es steuert den Datenfluss auf der Hauptplatine, Prozessoren, Arbeitsspeicher und Festplatten.
- Auf der nächsten Ebene ermöglicht die Software dem Endbenutzer, Anweisungen über ein Betriebssystem bereitzustellen.
- Auf der nächsten Ebene bietet Software wie .NET eine Möglichkeit, Anwendungen zu entwickeln und auszuführen.
- Auf der nächsten Ebene ermöglichen Anwendungsframeworks und Bibliotheken von Funktionen das schnelle Erstellen umfangreicher Anwendungen mit geringerem Aufwand als ältere Entwicklungsmethoden.
Eine Codebibliothek kapselt Funktionen für einen bestimmten Zweck in eine einzelne Assembly. Für .NET stehen Tausende von Bibliotheken zur Verfügung. Diese Bibliotheken können Erstanbieter oder Drittanbieter sein und kommerziell oder Open Source sein. Die Bibliotheken bieten eine vielzahl von Funktionen, die Sie in Ihren Anwendungen verwenden können. Sie verweisen lediglich auf diese Assemblys und rufen die benötigten Methoden auf. Auf diese Weise bauen Sie als Entwickler auf die Arbeit anderer Softwareentwickler auf. Sie sparen Zeit und Energie, da Sie nicht jedes Feature selbst erstellen und verwalten müssen.
Ein Anwendungsframework kombiniert mehrere verwandte Bibliotheken sowie Startprojekte, Dateivorlagen, Codegeneratoren und andere Tools. Sie können diese Ressourcen verwenden, um ganze Anwendungen für einen bestimmten Zweck zu erstellen. Diese Anwendungsframeworks werden als App-Modelle bezeichnet. Beispielsweise stehen .NET-Anwendungsframeworks für beliebte App-Modelle wie Webentwicklung, Desktop- und mobile Entwicklung und Spieleentwicklung zur Verfügung.
Sie können das .NET SDK direkt oder durch Installieren von Visual Studio 2022 installieren. Das .NET SDK vorinstalliert einen umfassenden Satz von Bibliotheken und Anwendungsframeworks, 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.
Für andere Drittanbieterbibliotheken verwenden Entwickler Paketmanager wie NuGet, um Codebibliotheken aus Paketrepositorys wie dem NuGet-Katalog zu finden und zu integrieren.
Was sind die wichtigsten App-Modelle?
Sie fragen sich vielleicht, welche Frameworks welche App-Modelle unterstützen. Verwenden Sie die folgende Tabelle, um ein App-Modell einem .NET Framework zuzuordnen.
App-Modell | Rahmenwerk | Hinweise |
---|---|---|
das Internet | ASP.NET Core | Das Framework zum Erstellen serverseitiger Logik. |
das Internet | ASP.NET Core MVC | Das Framework zum Erstellen serverseitiger Logik für Webseiten oder Web-APIs. |
das Internet | ASP.NET Core Razor Pages | Das Framework zum Erstellen von servergeneriertem HTML.The framework for building server-generated HTML. |
Webclient | Blazor | Blazor ist Teil von ASP.NET Core. Die beiden Modi ermöglichen entweder die Dom-Manipulation (Document Object Model) über Sockets als Kommunikationsfahrzeug für das Ausführen von serverseitigem Code oder eine WebAssembly-Implementierung für die Ausführung kompilierter C#-Elemente in einem Browser. |
Arbeitsfläche | .NET für Mac | Ermöglicht .NET-Entwicklern das Erstellen von Apps für Mac-Geräte mit systemeigenem UI- und API-Zugriff. |
Arbeitsfläche | WinForms | Ein Framework zum Erstellen von "Schlachtschiffgrau"-Anwendungen im Windows-Stil. |
Arbeitsfläche | Windows Presentation Foundation (WPF) | Ein Framework zum Erstellen dynamischer Desktopanwendungen, die unterschiedlichen Formfaktoren entsprechen. WPF ermöglicht Formularelementen das Ausführen von Bewegungen, Ausblenden, Gleiten und anderen Effekten mithilfe einer umfangreichen Animationsbibliothek. |
Mobiltelefon | .NET für Android | Ermöglicht .NET-Entwicklern das Erstellen von Apps für Android-Geräte mit systemeigenem UI- und API-Zugriff. |
Mobiltelefon | .NET für iOS | Ermöglicht .NET-Entwicklern das Erstellen von Apps für iOS und iPadOS mit systemeigenem UI- und API-Zugriff. |
Multiplattform-App-UI | .NET MAUI | Die wichtigste Möglichkeit zum Erstellen von Apps für iOS, Android, Mac und Windows über eine einzige freigegebene Codebasis mit systemeigener Benutzeroberfläche und Zugriff auf systemeigene APIs. |
.NET unterstützt auch beliebte Entwicklungsumgebungen und Module von Drittanbietern und Open-Source-Spielen wie Unity.
Verwenden von .NET-Tools zum Erstellen von .NET-Apps
Softwareentwickler verwenden Tools zum Schreiben von Code, Hinzufügen von Verweisen auf Codebibliotheken, Kompilieren von Code und Debugcode. In diesem Abschnitt werden mehrere .NET-Tools beschrieben, die Sie zum Erstellen von .NET-Anwendungen verwenden.
Visual Studio 2022 ist die Microsoft-Flaggschiff-Entwicklungsumgebung. Millionen von Entwicklern verwenden sie zum Erstellen von .NET-Anwendungen. Eine grafische Benutzeroberfläche (die Menüs, Fenster, visuelle Designer, Dialogfelder und Assistenten enthält) führt Entwickler durch den Prozess der Anwendungsentwicklung. Visual Studio 2022 ist in drei Editionen verfügbar: Community, Professional und Enterprise. Jede Edition enthält unterschiedliche Tools und ist für unterschiedliche Zwecke lizenziert.
Visual Studio Code ist der Microsoft-Flagship-Code-Editor, der mehrere Programmiersprachen unterstützt und unter Windows, Mac und Linux unterstützt wird. Die C# Dev Kit-Erweiterung bietet verbesserte Editor-zentrierte C#-Entwicklungsmöglichkeiten für Visual Studio Code und verbessert die Benutzererfahrung beim Arbeiten mit .NET-Projekten mit Unterstützung für einen Projektmappen-Explorer, ein Projektsystem, Testverbesserungen und einen Test-Explorer, KI-gestützte Entwicklung und einen leistungsstarken Sprachendienst für erstklassige C#-Sprachfunktionen wie Codenavigation, Refactoring, semantisches Bewusstsein und vieles mehr.
Entwickler, die einen Befehlszeilenworkflow bevorzugen, können eine Kombination aus Visual Studio Code (dem beliebtesten Code-Editor der Welt) und der .NET-Befehlszeilenschnittstelle (.NET CLI) verwenden.
Darüber hinaus können Sie aus zahlreichen First-Party- und Drittanbietertools für viele erweiterte .NET-Anwendungsfälle wählen. Zu den Optionen gehören Codeprofiler, Komponententestläufer und Codeabdeckungsanalyse.
Sie finden weitere .NET-Tools für andere Szenarien. Beispiel: Später in diesem Modul arbeiten Sie mit Try .NET. Sie verwenden diese browserbasierte Schnittstelle, um einfache Anwendungen zu schreiben, damit Sie die C#-Programmiersprache erlernen können.
Finden von Lösungen und Antworten in Dokumentationen und Lernprogrammen
Microsoft bietet aktiv eine vielzahl von Dokumentationen, Lernprogrammen und Schulungen. Sie finden Lernmaterialien in beliebten Modalitäten, die Ihnen bei jedem Schritt in Ihrem Lernprozess helfen.
Die folgende Tabelle enthält einige großartige Ressourcen, die Sie möglicherweise als Lesezeichen markieren und später erneut besuchen möchten.
Ressource | Zweck |
---|---|
Microsoft Learn | Bietet Schnellstartanleitungen und umfassende Referenzdokumentation. |
Muster und Methoden | Hilft Entwicklern und Softwarearchitekten, Lösungen für allgemeine Anwendungsentwicklungsanforderungen zu finden. Ressourcen gehen oft über die Details des Schreibens von Code hinaus und tauchen in die Auswahl von Produkten und Diensten ein, die scheinbar unendlich skalierbare Architekturen ermöglichen. |
.NET-Videos | Stellt Videolernprogramme aus dem .NET-Team bereit. Diese Videos führen Entwickler durch gängige Nutzungsszenarien. |
Erste Schritte mit C# | Bietet praktische Übungen, mit denen Sie Ihre Fähigkeiten aufbauen können, indem Sie Anweisungen, Übungen, Medien, Wissensprüfungen und ein Mittel zum Nachverfolgen Ihres Fortschritts kombinieren. |
Lernen und Teilen von Lösungen mit der .NET-Community
Das .NET-Ökosystem erstreckt sich über Sprachen, Bibliotheken und Tools hinaus für die Menschen. Sie können frei interagieren, indem Sie von der Community lernen und zur Community beitragen.
- Erfahren Sie: .NET-Communitymitglieder hosten persönliche Besprechungen und Live-Onlineereignisse. Sie erstellen Open-Source-Software, nehmen an F&A-Foren teil und zeichnen Videolernprogramme auf. Sie schreiben Bücher und Blogbeiträge, die Ihnen helfen, zu lernen und weiterzukommen, wenn Sie nicht wissen, was Sie als Nächstes tun sollen.
- Mitwirken: .NET ist Open Source auf GitHub. Die .NET Foundation verwaltet die Projekte in diesem Repository. Diese unabhängige Organisation ist darauf ausgerichtet, ein vertrauenswürdiges, kommerziell freundliches Open-Source-Ökosystem um die .NET-Entwicklungsplattform zu erweitern. In diesem Repository können Sie Ihre einzigartige Perspektive und Stimme freigeben, um anderen zu helfen, zu lernen.
Wie vergleicht sich das .NET-Ökosystem mit anderen?
Wenn Sie mit der Softwareentwicklungswelt vertraut sind, fragen Sie sich vielleicht, wie sich das .NET-Ökosystem mit anderen vergleichen lässt. Ehrlich gesagt, können andere Ökosysteme ähnliche Behauptungen wie einige oder viele der in dieser Einheit bisher gemachten Aussagen aufstellen.
Eines der charakteristischsten Features von .NET ist jedoch, dass seine fortlaufende Entwicklung und Unterstützung nicht nur von einem großen Technologieführer, sondern auch von der Community stammen. Bedeutende Teile von .NET wurden über Open-Source-Mittel entwickelt. Die Beiträge der Gemeinschaft werden sowohl begrüßt als auch gefördert. Tatsächlich sind 87 Prozent der Mitwirkenden außerhalb von Microsoft. Basierend auf der Community-Eingabe von mehr als 100.000 akzeptierten Pullanforderungen verschiebt Microsoft die Plattform aktiv mit Featureverbesserungen, Bugfixes und Leistungsverbesserungen.
Darüber hinaus hat das .NET-Ökosystem Dynamik:
- Die Zahl der .NET-Entwickler übersteigt 5 Millionen!
- Die Ergebnisse von Stack Overflow-Umfragen zeigen konsistent, dass .NET Core & .NET das am beliebtesten Framework sind.
- Studenten lieben .NET; 40 Prozent der Entwickler, die neu bei .NET sind, sind Studenten.
- Die GitHub-Repositories für .NET und ASP.NET gehören zu den 30 am schnellsten entwickelnden Open-Source-Projekten (OSS).
- GitHub listet C# in den fünf wichtigsten Programmiersprachen auf, und die Sprache nimmt nach dem TIOBE-Programmier-Communityindex 2020 zu.
- .NET verfügt über das schnellste Webframework auf dem Planeten gemäß den TechEmpower-Benchmarks. Eine unabhängige Open-Source-Reihe von Webleistungs-Benchmarks, die Dutzende von Sprachen und Anwendungsframeworks messen.
Eine kurze Geschichte von .NET
Das ursprüngliche .NET Framework wurde anfang 2002 erstmals veröffentlicht. Seitdem folgten viele Updates und mehr Funktionen. Nach Jahren der Verbesserungen und neuen Features wuchs das ursprüngliche .NET Framework, insbesondere wichtige Codebibliotheken, erheblich.
Nach 2002 arbeitete Microsoft daran, eine Version von .NET zu erstellen, die plattformübergreifende Kompatibilität hatte. Ziel war es, den Entwicklern zu ermöglichen, eine Codebasis zu schreiben und sie auf macOS-, Linux- und Windows-Betriebssystemen zu verwenden.
Durch diese Bemühungen wurde .NET Core rund 2014 eingeführt. Microsoft hat die ursprüngliche Version von .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 usw. Versionen werden in der Regel jeden November veröffentlicht.
Warum ist die .NET-Geschichte erwähnenswert? Da Sie wahrscheinlich Blogbeiträge, Videos und Quellcode finden, die auf das ursprüngliche .NET Framework ausgerichtet sind. In einigen Fällen funktionieren die Anweisungen oder der Code weiterhin, aber in anderen Fällen müssen Sie möglicherweise Anpassungen vornehmen, um an das neue .NET anzupassen.