Laden...

.NET Core 3.0 - Was ist neu?

Erstellt von Abt vor 4 Jahren Letzter Beitrag vor 4 Jahren 15.526 Views
Abt Themenstarter:in
16.807 Beiträge seit 2008
vor 4 Jahren
.NET Core 3.0 - Was ist neu?

Heute wurde .NET Core 3.0 released!

Insgesamt stellt .NET Core 3.0 einen großen Meilenstein dar; denn es leitet direkt die neue .NET Welt "One .NET Platform" ein, in der .NET Framework, .NET Core und Mono vereinheitlicht werden.

Was gibts Neues?

Nicht nur .NET Core 3.0 selbst wurde heute released, sondern auch eine große Menge an Dingen rund um das Ökosystem .NET.

.. und vieles vieles mehr!

.NET 5
Das .NET Ökosystem ist sehr gewachsen; teilweise zu sehr gewachsen.
Es musste sich aber in .NET Core trennen, um die neuen Anforderungen von Cloud, Mobile und Co erfüllen zu können - hinzu kam dann noch die Übernahme von Xamarin und damit Mono.

Es ist nun aber Zeit, alles zu konsolidieren: .NET 5.

Man kann nun über den Namen streiten; aber das Ziel ist entscheidend.
Es wird zukünftig eine Unified Plattorm geben, die Abstand vom monolitischen Gedanken von .NET Framework genommen hat.

.NET 5 wird Ende 2020 kommen.

Abt Themenstarter:in
16.807 Beiträge seit 2008
vor 4 Jahren

Nachgeschoben:

6.911 Beiträge seit 2009
vor 4 Jahren

Hallo,

mir gefallen die Pläne für die Zukunft von .NET.

die Abstand vom monolitischen Gedanken von .NET Framework genommen hat

Wie äußert sich das?
Indem es Ideen gibt etliche git-Repos der dotnet-Foundation zu einem großen Mono-Repo zusammenzuführen?
Indem es statt dem GAC halt "Frameworks", "Runtime stores", etc. gibt?
Indem der Weg "NuGet as delivery vehicle" schon wieder großteils verlassen wurde und auch einst separate Projekt zusammengefasst werden (damit auf Interna zugegriffen werden kann)?

Der Begriff Monolith ist momentan so etwas wie ein Unwort und daher muss es omnipräsent erwähnt werden, dass es kein Monolith ist. Das hat schon inflationäre Züge und ist teilweise am Ziel vorbei, denn für ein Framework wie .NET mit all seinem Komponenten wie EE, JIT, GC, BCL, ... macht ein Monolith durchaus Sinn, da einzelen Komponenten ohne die anderen nicht funktionieren. Daher wird .NET 5 auch ein Monolith sein, so wie es aktuell auch .NET Core 3.0 ist. Da lässt sich nichts schönreden.

In .NET Core gibt es mehr Abstraktionen als im klassischen .NET Framework, das macht jedoch aus einem Produkt noch lange keine "Nicht-Monolithen".
Von der Architektur her ist sich .NET Core und .NET Full gar nicht so unähnlich.
In Hinblick .NET 5 (wie der momentane "Arbeitstitel" lautet) wird lediglich geschaut dass mehr Ressourcen zwischen .NET, Mono (Xamarin), etc. gemeinsam genutzt werden können (und wie die Repos vereinheitlicht werden können).

Bevor jetzt eine Diskussion entbrannt, sollte der Begriff Monolith jedoch definiert werden, dnen das bin ich hier (absichtlich) auch schuldig geblieben, da ich genauso vom üblichen Verständnis ausgehe wie die eingangs zitierte Aussage 😉

PS: In Introducing .NET 5 hat Rich Lander keine Silbe über einen Monolithen verloren (und das hat er sicherlich nicht einfach vergessen zu erwähnen 😉).

PPS: Ich bin nicht für od. gegen Monolithen, sondern dafür wo es sinnvoll ist und dagegen wo es keine Sinn macht. Also per se sind Monolithen nicht schlecht, es kommt nur darauf wo und wie sie eingesetzt werden. Es gibt Anwendungen / Architekturen da sind Monolithen eher nicht geeignet (-> Mikroservices sind da eine Interessante Alternative).
Ich bin jedoch dagegen, dass ein Begriff einfach als "böse" / "schlecht" abgestempelt wird wenn diese nicht der Fall ist.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

6.911 Beiträge seit 2009
vor 4 Jahren

Hallo,

als Ergänzung vom Eingangs-Post:

.NET 5 wird Ende 2020 kommen.

Dazwischen wird es noch .NET Core 3.1 (samt ASP.NET Core 3.1, EF Core 3.1) geben, das für November 2019 geplant ist.

.NET Core 3.1 wird dann eine LTS (long term support) Release sein.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Abt Themenstarter:in
16.807 Beiträge seit 2008
vor 4 Jahren

Wie äußert sich das?

..

Der Begriff Monolith ist momentan so etwas wie ein Unwort und daher muss es omnipräsent erwähnt werden, dass es kein Monolith ist.

Diese Sprachweise ist von Microsoft selbst so in Verwendung (gewesen?), daher in dieser Form auch wieder gegeben.
Wenn das jetzt ein einzelner so nicht verwendet: warum weiß ich nicht.

Microsoft bezieht/bezog sich hier auf das Verhalten des GAC: riesen Ding, das in der Form mit modernen Themen (Mobile, Container...) nicht mehr funktioniert.

Wenn Microsoft hier die Sprachweise geändert hat, dann ging das an mir vorbei.

6.911 Beiträge seit 2009
vor 4 Jahren

Hallo Abt,

MS hat das v.a. zu Beginn von .NET Core so kommuniziert, mittlerweile wurde viel gelernt und somit hat sich das auch ein wenig (tw. viel) geändert.

In Bezug auf GAC gibt es mittlerweile mit den "packs" und "shared frameworks" auch so etwas wie eine moderen Reinkarantion, da es sich einfach als vorteilhafter herausgestellt hat.
Der Weg, dass per NuGet "pay for what you play" gemacht wird ist eher obsolet.

Insgesamt empfinde ich .NET (samt Ökosystem) unter der dotnet-Foundation auf einem gutem Weg. Es ist auch schön zu sehen wie mit der Zeit Erkenntnisse gewonnen und umgesetzt werden. Somit ist .NET Core 3.0 schon wesentlich moderner als .NET Core 1.0 😃

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

62 Beiträge seit 2017
vor 4 Jahren

Es dürfte auch spannend werden, ob wenn ja wie Microsoft Hilfsmittel für die Migration von .NET 4.x auf .NET 5 bereitstellt.

So, wie ich das mitbekommen habe, soll das nicht so ganz ohne sein, seine vorhandenen (legacy) Anwendungen auf .NET 5 zu portieren.

Wer ordentlichen Code schreibt, lebt entspannter 8)

Abt Themenstarter:in
16.807 Beiträge seit 2008
vor 4 Jahren

MS hat das v.a. zu Beginn von .NET Core so kommuniziert, mittlerweile wurde viel gelernt und somit hat sich das auch ein wenig (tw. viel) geändert.

Also ich hab noch ne (vermutlich interne) Folie von März 2019 mit der Monolith-Formulierung.
Aber gut; wenn das mittlerweile geändert wurde. Registriert.

Abt Themenstarter:in
16.807 Beiträge seit 2008
vor 4 Jahren

Migration von .NET 4.x auf .NET 5 bereitstellt.

Was genau meinst Du? Von .NET Framework auf .NET 5?

Das wird definitiv ein breaking change.

6.911 Beiträge seit 2009
vor 4 Jahren

Hallo HeikoAdams,

siehe Abts Antwort.

Der The .NET Portability Analyzer wird wahrscheinlich weiter ausgebaut werden.

Klassenbibliothenken, sofern sie keine Abhängigkeiten zu [Tutorial] Konfigurationsmodell im .NET Framework, etc. haben und das sollten sie auch nicht -- sondern per Abstraktionen, könnten relativ einfach zu .NET Standard 2.0 (ev. auch .NET Standard 2.1, aber das wird von .NET 4.x nicht unterstützt) umgewandelt werden*.

Für Anwendungen selbst wird u.U. mehr Aufwand nötig sein.
Aber .NET 4.x wird in Windows enthalten bleiben, genauso wie .NET 2 nach wie vor gut 15 Jahre nach Einführung noch enthalten ist.
Von daher können bestehende Projekte ohne Panik weiterhin verwendet werden. Es können auch nur Teile nach .NET 5 umgewandelt werden -- ein "alles od. nichts" muss es nicht sein. Klar setzt die eine gewisse Architektur voraus bzw. ist jetzt an der Zeit eine suboptimale Architektur durch eine bessere zu ersetzen -- nicht umsonst wird das hier im Forum schon lange gepredigt 😉

* meine Vorgehensweise ist meist wie folgt1. bisheriges Projekt eine temp-Namen geben

  1. neues Projekt (mit "neuem" MsBuild-Format) erstellen
  2. Koperien der Dateien vom temp-Projekt zum Neuen
  3. allfällige Compiler-Fehler beheben
  4. temp-Projekt (sollte so gut wie leer sein) löschen

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

62 Beiträge seit 2017
vor 4 Jahren

Migration von .NET 4.x auf .NET 5 bereitstellt.
Was genau meinst Du? Von .NET Framework auf .NET 5?

Ja, genau.

Schön wären entweder Tools/Assistenten, die einen bei der Migration unterstützen und/oder eine Übersicht, was es in .NET 5 nicht mehr gibt und wie man es ersetzen kann.

Wer ordentlichen Code schreibt, lebt entspannter 8)

Abt Themenstarter:in
16.807 Beiträge seit 2008
vor 4 Jahren

was es in .NET 5 nicht mehr gibt und wie man es ersetzen kann.

Es wird Hilfestellungen und API Diffs geben bzw. gibts die bereits heute.