Sie sind hier: Startseite | Wissen
BASTA 2016
Begriff .NET Core
Abkürzung NETCORE
Eintrag zuletzt aktualisiert am 17.11.2016

 Zur Stichwortliste unseres Lexikons

Was ist .NET Core?

.NET Core 1.0 (bis 21.1.2016 noch benannt .NET Core 5.0) ist ein Neustart des .NET Frameworks als modulare und plattformunabhängig Neuentwicklung. .NET Core ist eine kompakte und optimierte Variante des Microsoft .NET Framework.

Geschichte

13.5.2014 (TechEd USA): Erste öffentliche Erwähnung, noch unter dem Namen "cloud-optimized .NET Framework" und "Project K"
12.11.2014 (connect 2014): Benennung .NET Core
18.11.2015 (connect 2015): RC1-Version für Windows, MacOS und Linux
21.01.2016: Umbenennung von .NET Core 5.0 in .NET Core 1.0
Sollte eigentlich erscheinen Frühjahr 2015
Ein Teil ist dann erschienen als "RTM" am 29.7.2015 in Rahmen von Windows 10
Rest dann verschoben auf 1. Quartal 2016
18.11.2015: RC1
19.01.2016: Umbenennung von .NET Core 5.0 in .NET Core 1.0
16.05.2016: RC2
1.2.2016: verschoben auf "TBD 2016"

.NET Core ist

… eine Mischung aus Neuimplementierung und Redesign/Refactoring von .NET
… leichtgewichtiger / schneller
… nur teilweise kompatibel zum bisherigen .NET Framework
… plattformunabhängig
… sehr modular aufgebaut
… komplett Open Source https://github.com/dotnet/corefx
… ein Parallelprodukt zu .NET Framework 4.x

Vorteile des .NET Core Framework gegenüber dem vollständigen .NET Framework

  • Schnellerer Anwendungstart
  • Wenig RAM-Bedarf durch nur benötigte Komponenten
  • Höhere Dichte von Anwendungen
  • Weniger Angriffsfläche
  • Agilere Entwicklung möglich

.NET Core 1.0 umfasst

  • .NET Core Common Language Runtime (.NET Core CLR / CoreCLR)
  • .NET Core Libraries (.NET Core FX / CoreFX): Ausgewählte Klassen (ca. 10%) der Klassen von .NET Framework 4.6
  • C# 6.0 (CSharp60)
  • Visual Basic 2015
  • .NET Native
  • .NET Compiler Plattform "Roslyn"
  • Neuer Just-in-Time-Compiler "RyuJIT"

Die Ursprünge von .NET Core liegen in .NET for Windows 8: "The .NET Core API started as the API for Windows 8 Store Apps." [http://blogs.msdn.com/b/dotnet/archive/2015/07/20/announcing-net-framework-4-6.aspx]

Auf .NET Core 1.0 bauen auf

  • ASP.NET Core
  • .NET Core-Konsolenanwendungen
  • Universal Apps in Windows 10 (Microsoft.NETCore.UniversalWindowsPlatform)
  • Entity Framework Core

Passende Entwicklungsumgebung

Visual Studio 2015 (Visual Studio Version 14) und höher

Details zu .NET Core 1.0

Im zweiten Entwicklungszweig von .NET 2015 fasst Microsoft .NET Core 1.0 fasst das im April 2014 angekündigte .NET Native (Codename „Project N“), mit dem Windows Apps direkt zu Native Code kompiliert werden können, und die im Mai 2014 angekündigte modulare Variante der Webentwicklungsplattform ASP.NET („Project K“) zusammen.

Im Gegensatz zum bisherigen monolithischen .NET Framework mit rund 200 MB Setup, bei dem es sehr viele komplexe Abhängigkeiten zwischen den einzelnen Bibliotheken gibt, wird .NET Core 1.0 ein sehr modulares Framework sein mit einem vergleichsweise kleinen Kern. Während die „CoreCLR“ in .NET Core 1.0 fast identisch zur CLR im bisherigen .NET Framework ist (es fehlen nur Application Domains und Code Access Security), wird Microsoft die .NET-Klassenbibliothek radikal „ausmisten“ und sich auf die unbedingt notwendigen Klassen beschränken, die Microsoft in einer neuen Version der „System.Runtime.dll“ ausliefert. Die mscorlib.dll wird hier nicht mehr gebraucht. Weitere Funktionen kann man auf .NET Core 1.0 aber als Erweiterungspakete installieren und Microsoft will daran arbeiten, in den kommenden Jahren sinnvolle Klassen aus dem bisherigen .NET Framework in die .NET Core-Sphäre als Erweiterungspakete zu überführen.

Umgangssprachlich grenzt Microsoft das bisherige .NET Framework mit .NET „Full“ Framework, .NET „Desktop“ Framework und auch .NET „Classic“ Framework von .NET Core 1.0 ab, für das auch die Namen „Cloud optimized Framework“ und modular .NET Framework im Umlauf sind.

Mit .NET Core kann man zunächst nur Windows Apps mit Windows Runtime-XAML und Webanwendungen mit ASP.NET erstellen. Das nächste ASP.NET (bisher Codename „ASP.NET vNext“ und "ASP.NET 5") erhält auch die Versionsnummer Core 1.0, umfasst dann aber nur ASP.NET MVC (inkl. WebAPI) und - geplant auch - ASP.NET WebPages.

Eine klassische Desktop-Anwendung mit Windows Forms und WPF kann man mit .NET Core zunächst nicht erzeugen. Alle Klassen der beiden Desktop-UI-Frameworks fehlen in .NET Core. Es gab noch keine konkrete Ankündigung dazu, ob Microsoft Windows Forms und WPF auf .NET Core portieren wird. Zugesagt ist aber, dass Microsoft beide Frameworks zunächst im Rahmen weiterer Versionen der .NET 4.x-Produktlinie weiterhin pflegen wird. Langfristig will Microsoft aber .NET Core zur Basis für alle Einsatzgebiete des .NET Frameworks – von Desktop-Anwendungen über Apps bis hin zu Server und Cloud - machen. Daraus lässt sich ableiten, dass entweder eine Portierung kommen wird oder ein neues UI-Framework. Durchaus möglich erscheint auch, dass Microsoft dann das Windows Runtime-basierte XAML zum vollständigen UI-Framework für alle Desktop-Anwendungen ausbaut. In Windows 10 kann man Windows Runtime- XAML-Apps als größenveränderbares Fenster auf dem Windows-Desktop laufen lassen, sodass es nur noch wenige Unterschiede zwischen WPF-Anwendung und einer WinRT-App gibt.

Querverweise zu anderen Begriffen im Lexikon

Beratung & Support:

Schulungen zu diesem Thema:

 Anfrage für eine individuelle Schulung zum Thema .NET Core  Gesamter Schulungsthemenkatalog