Einführung in .NET Core

Der folgende Artikel Was ist .Net Core? Enthält einen detaillierten Überblick über die Architektur des .Net Core. .Net Core ist eine Open-Source-Entwicklungsplattform, die von Microsoft und der .Net-Community entwickelt und verwaltet wird. .Net Core wurde unter Berücksichtigung verschiedener Anforderungen und Zwecke mit Schwerpunkt auf Webentwicklung, Windows Phone-Entwicklung und Windows Store-Apps-Entwicklung entwickelt. .Net Core ist eine Teilmenge des .Net Framework. Genauer gesagt, eine abgespaltene Version des .Net Frameworks. Jetzt wundern Sie sich vielleicht, warum Sie .Net Core brauchen, wenn es sich nur um eine Teilmenge des .Net Framework handelt. .Net Core hat einige grundlegende Änderungen in der Funktionsweise. In erster Linie ist es modularisiert. Auf diese Weise können Sie Anwendungen nur mit den von Ihnen benötigten Bibliotheken und ohne zusätzliches Gepäck erstellen. Zweitens ist es wirklich plattformübergreifend. Dies macht es zur Wahl der Entwicklungsplattform der Zukunft.

.Net Core-Architektur

  • Bei jeder Entwicklungsplattform oder jedem Framework ist die Architektur das Grundlegende und Wichtigste. Die Architektur definiert, wie Entwickler und Bibliotheken mit der Plattform interagieren. Bevor wir mehr über .Net Core erfahren, ist es wichtig zu sehen, was den Kern des .Net Core ausmacht.

  • Hier befindet sich .Net Core im .Net Stack. Die verschiedenen .Net-Frameworks und -Bibliotheken verwenden bis dato die gängigen Laufzeitbibliotheken, Compiler und NuGet-Pakete. Auf diesen allgemeinen Paketen bauen sie ihre eigenen plattformspezifischen Bibliotheken auf. Die allgemeinen Bibliotheken enthalten die Definitionen für primitive Elemente wie Datentypen. Dies ändert sich kaum und ist somit die Basis für alle .Net-Stack-Frameworks.

Schlüsselbegriffe in der Architektur von .Net Core

Lassen Sie uns die wichtigsten Terminologien in der Architektur von .Net Core verstehen.

Kern-CLR

Core CLR ist die Common Language Runtime, die für plattformübergreifende und cloudbasierte Bereitstellungen optimiert ist. Zusammen mit .Net Native Runtime bildet dies die Grundlage für alle .Net-basierten Plattformen.

.Net Native Runtime

.Net Native Runtime wird auch als Managed Runtime bezeichnet und enthält die systemeigenen Windows-basierten Bibliotheken. Dies enthält auch die AOT-Kompilierung (Ahead Of Time) anstelle der früheren JIT-Kompilierung (Just In Time). Dies verbessert die Leistung der Anwendungen.

Die .Net Native Runtime und die Core CLR sind die Ebenen, die Implementierungen primitiver Typen sowie generische Auflistungen in .Net enthalten. Diese Schichten ändern sich kaum und sind über die verschiedenen .Net-Stapel hinweg konstant. Die verschiedenen .NET-Stack-APIs verwenden daher dieselben Implementierungen.

Einheitliches BCL

Die Unified Base Class Library, auch als CoreFX bezeichnet, besteht aus den grundlegenden und grundlegenden Klassen, die den Kern der .Net Core-Plattform bilden.

App-Modelle

Neben der BCL finden Sie die verschiedenen App-Modelle, mit denen Entwickler plattformspezifische Anwendungen entwickeln. Derzeit verfügt .Net Core über das ASP .Net-Modell für die Webentwicklung und das Windows Store-Modell für die Windows-Anwendungsentwicklung.

Die Kraft von NuGet

  • Die .Net Core-Plattform wird im Gegensatz zu ihrem Vorgänger .Net Framework als eine Reihe von NuGet-Paketen geliefert. Damit trägt .Net Core wesentlich zum bereits florierenden Ökosystem der NuGet-Pakete bei. Beachten Sie, dass .Net Core nicht als einzelnes NuGet-Paket geliefert wird. Stattdessen wurde es faktorisiert, modularisiert und als mehrere NuGet-Pakete ausgeliefert.
  • Darüber hinaus beseitigte Microsoft die Unklarheit hinsichtlich der Nomenklatur der NuGet-Pakete und der relevanten Assemblys. In .Net Core haben die NuGet-Pakete denselben Namen wie die Assembly. Beispielsweise werden unveränderliche Sammlungen jetzt unter dem Namen System.Collections.Immutable anstelle von Microsoft.BCL.Immutable ausgeliefert. Dies hat das Problem der Ermittlung, welches NuGet-Paket welche Assembly enthält, erheblich vereinfacht. Hey, sie heißen jetzt gleich.

Warum hat sich Microsoft entschieden, .Net Core als eine Reihe von NuGet-Paketen auszuliefern? Nun, hier sind die Gründe:

  • Mit NuGet können Sie .Net Core agil bereitstellen. Jedes Upgrade auf eine .Net Core-Funktion kann einfach durch ein Upgrade des NuGet-Pakets durchgeführt werden.
  • Dies hat die Abhängigkeiten in Ihren Anwendungen verallgemeinert. Jetzt gibt es keine Assemblyverweise, Bibliotheken und NuGet-Verweise von Drittanbietern. Sie sind jetzt alle NuGet. Wenn für ein NuGet-Paket eines Drittanbieters eine höhere Version der System.Collections-Bibliothek erforderlich ist, werden Sie aufgefordert, das entsprechende System zu aktualisieren. Sammlungen NuGet-Paket und Sie sind fertig. Es wird wirklich sehr einfach.
  • Der modulare Ansatz von .Net Core stellt sicher, dass jede Anwendung nur die Pakete bereitstellt, die sie benötigen. Kein zusätzliches Gepäck.

Wie einfach funktioniert .Net Core?

.Net Core ist eine Plattform, auf der Frameworks wie ASP .Net Core und Universal Windows Platform installiert sind, die die Funktionen von .Net Core nutzen und erweitern. Sehen wir uns die Funktionen von .Net Core an, die Entwicklern das Leben leichter machen.

Plattformübergreifend und Architektur

.Net Core folgt dem Prinzip der einmaligen Ausführung an jedem Ort. Somit ist es plattformübergreifend. Es unterstützt Windows-, MacOS- und Linux-Plattformen. Sie können Ihre Anwendung auf jeder Plattform erstellen und auf einer anderen ausführen. Eine in .Net Core integrierte Anwendung ist außerdem in ihrem Verhalten in jeder Architektur wie x64, x86 oder ARM konsistent.

Befehlszeilen-Tools

.Net Core wird mit benutzerfreundlichen Befehlszeilentools für diejenigen geliefert, die gerne schwarz-weiß codieren. Diese Tools eignen sich sowohl für die lokale Entwicklung als auch für die kontinuierliche Integration von Code in Repositorys.

Flexibles CI / CD

.Net Core unterstützt die kontinuierliche Integration und Bereitstellung. Sie müssen sich also nur um die Codelogik kümmern. Der Rest wird von der .Net Core-Plattform erledigt.

Sprachen und IDEs

.Net Core-Anwendungen und -Bibliotheken und können in C #, F # und Visual Basic codiert werden. Dies wird durch die Integration mit Ihren bevorzugten IDEs wie Visual Studio, VS Code, Sublime, Vim usw. weiter unterstützt.

Kompatibilität und Support

Kompatibel mit .NET Framework, .NET Standard, Mono APIs und Xamarin. Es ist Open Source und wird sowohl von der Community als auch von Microsoft hervorragend unterstützt.

APIs

.Net Core stellt APIs für viele allgemeine und leistungsstarke Szenarien zur Verfügung. Einerseits gibt es APIs für primitive Datentypen (bool, int usw.) und Sammlungen (Listen, Wörterbücher usw.). Andererseits gibt es APIs für Hochleistungstypen wie Vector und Pipelines.

Benötigte Fähigkeiten

.Net Core ist eine Anwendungsentwicklungsplattform. Es gibt Frameworks, die auf .Net Core basieren und mit denen die Entwickler Anwendungen aufbauen können. Um die Entwicklung in .NET Core zu erlernen, benötigen Sie grundlegende Kenntnisse über die ASP.Net-Entwicklung, die MVC-Architektur und die Funktionsweise von NuGet-Paketen und Assembly-Referenzen in ASP.Net. Dies vereinfacht Ihre Lernkurve erheblich. Kenntnisse in C # sind auch ein Muss, um eine Anwendung in .Net Core zu entwickeln.

Für diejenigen, die bereits Entwickler in .Net Framework sind und ihre Anwendungen auf .Net Core migrieren möchten, sollten die folgenden Punkte beachtet werden:

  • .Net Core unterstützt die ASP .Net MVC-Architektur. Wenn Ihre Anwendung jedoch Web Forms-basiert ist, unterstützt .Net Core keine WebForms.
  • Wenn Ihre Anwendung auf der ASP.Net MVC-Architektur basiert, ist der einzige Vorteil für die Verlagerung auf die .Net Core-Plattform die Cross-Kompatibilität. Wenn die Cross-Kompatibilität für Ihre Anwendung keine große Rolle spielt, ist ASP .Net MVC genau so gut.
  • .Net Core konzentriert sich hauptsächlich auf die Web- und Windows Store-Entwicklung. Daher gibt es derzeit keine Unterstützung für Desktop-Anwendungen.
  • Konsolen-Apps profitieren am meisten von der .Net Core-Migration. Dadurch können sie auf mehreren Betriebssystemen ausgeführt werden.
  • Für die in Silverlight integrierten Webanwendungen ist eine Migration zu HTML erforderlich, bevor .Net Core in Betracht gezogen werden kann. Die Silverlight-Unterstützung wurde von Microsoft eingestellt.

Wie .Net Core zum Karrierewachstum beiträgt

.Net Core ist wirklich plattformübergreifend. Dies ist die zukünftige Plattform von Microsoft für integrierte Entwicklungsumgebungen für die Geräte der Zukunft. Der Schwerpunkt von .Net Core liegt auf Web-, Windows Store- und touchbasierten Geräten.

Das Erlernen von .Net Core hilft Ihnen bei der Erstellung von Anwendungen, die den zukünftigen Anforderungen von Geräten und Plattformen gerecht werden. Die Entwurfsprinzipien von .Net Core stellen sicher, dass Sie die Best Practices der Entwicklung befolgen. Der Bedarf an robusteren und interaktiven Anwendungen, sei es webbasiert oder mobil, wächst rasant. Dies wiederum erfordert eine verbesserte, einfachere und entwicklerfreundliche Plattform. Vorbei sind die Zeiten, in denen eine auf einer Plattform entwickelte Anwendung auf einer anderen Plattform nicht funktioniert. Die heutige Nachfrage besteht darin, Anwendungen zu entwickeln, die einmal erstellt wurden und überall ausgeführt werden. .Net Core baut auf dieser Ideologie auf und hilft Ihnen beim Lernen, bessere Anwendungen für moderne Geräte zu erstellen.

Fazit - Was ist .NET Core?

Die .NET Core-Plattform ist nicht wie ihr Vorgänger .Net Framework. Es handelt sich um einen neuen .NET-Stack, der für Open Source-Entwicklung und agile Bereitstellung über NuGet optimiert ist. Während .NET Framework plattformübergreifend konzipiert wurde, handelt es sich überwiegend um eine reine Windows-Plattform. .NET Core ist wirklich plattformübergreifend. Microsoft ist bestrebt, zukunftsfähig zu sein, und .Net Core ist ein sehr fruchtbarer Schritt in diese Richtung.

Interessierten Lesern wird empfohlen, sich eingehender mit .Net Core zu befassen, indem Sie Microsoft Developers-Blogs lesen. Für diejenigen, die Apps in .Net Core erstellen möchten, ist es am besten, mit einem Shell-Projekt in .Net Core in Visual Studio zu beginnen.

Empfohlene Artikel

Dies ist eine Anleitung zu Was ist .NET Core? Hier diskutieren wir .NET Core Architecture, das Arbeiten und die erforderlichen Fähigkeiten zusammen mit Carrer Growth. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. ASP.NET Framework
  2. Was ist ASP.NET?
  3. ASP.NET-Seitenlebenszyklus
  4. Karriere in ASP.NET
  5. Im Vorstellungsgespräch bei Xamarin | Top 18