Interview mit Thomas Claudius Huber

„Ein Umstieg von .NET Core 3.1 auf .NET 5.0 ist minimaler Aufwand“
Keine Kommentare

Microsoft hat .NET 5.0 als direkten Nachfolger von .NET Core 3.1 veröffentlicht. Die neue Version hat unter anderem zusätzliche Blazor-Features und C# 9 mit an Bord. Wann lohnt sich der Umstieg und wie wird .NET 5.0 die tägliche Arbeit verändern? Wir haben bei Thomas Claudius Huber nachgefragt und seine Empfehlungen sowie persönlichen Highlights in Erfahrung gebracht.

Entwickler: Was sind für dich persönlich die Highlights an .NET 5.0?

Thomas Claudius Huber: Am meisten freue ich mich auf die neuen C#-9.0-Features, welche mit .NET 5.0 zur Verfügung stehen. Meine Favoriten sind Record Types, mit welchen sich Datenklassen weitaus komfortabler erstellen lassen als bisher. Dazu lassen sich die Record Types mit der neuen with Expression „bearbeiten“ (tatsächlich wird eine neue Kopie erstellt, da Record Types immutable und somit nicht veränderbar sind). Auch die neuen Möglichkeiten des Pattern Matchings in C# finde ich sehr spannend. Neben den C#-Neuerungen gibt es viele kleinere Erweiterungen, die ich definitiv nutzen werde. Eine davon ist die JavaScript-Isolierung in Blazor-Apps. Damit lassen sich in einer Blazor-Komponente isolierte ES6-Module laden, womit der Global Scope von JavaScript sauber und aufgeräumt bleibt.

Entwickler: Was fehlt deiner Ansicht nach bzw. welche weiteren Möglichkeiten hättest du dir in .NET 5.0 gewünscht?

Am meisten freue ich mich auf die neuen C#-9.0-Features. Meine Favoriten sind Record Types.

Thomas Claudius Huber: Naja, wenn man es ganz genau nimmt, dann ist .NET 5.0 aufgrund der Verzögerungen durch die Pandemie nicht ganz das, was Microsoft ursprünglich geplant hat. Eigentlich hätte ich gerne die Windows UI Library (WinUI) bereits mit .NET 5 produktiv eingesetzt. Darüber hinaus sollte eigentlich das .NET Multi-Platform App UI (.NET MAUI) bereits mit .NET 5.0 erscheinen.

Sowohl von WinUI als auch von .NET MAUI gibt es erste Preview-Versionen, aber an einen produktiven Einsatz kann man noch nicht denken. Während WinUI nächstes Jahr in der ersten Jahreshälfte in der Version 3.0 erscheinen soll, wird die finale Version von .NET MAUI erst im November 2021 mit .NET 6.0 erscheinen. Das hätte ich gerne schon jetzt gehabt. Aber ich freue mich dennoch, mit den Preview-Versionen etwas zu experimentieren.

Entwickler: Wird .NET 5.0 deine tägliche Arbeit verändern, und wenn ja, inwiefern?

Thomas Claudius Huber: Bisher sind alle meine Projekte noch auf .NET Core 3.1, viele Kunden arbeiten auch weiterhin mit .NET Framework. Meine tägliche Arbeit wird somit auch mit .NET 5.0 nicht wirklich anders sein. Aber das nächste Jahr wird zeigen, wie viele meiner Kunden auf .NET 5.0 umsteigen werden. Es wäre schon schön, wenn die neuen C#-Features auch in bestehenden Projekten zum Einsatz kommen könnten.

Entwickler: Ist ein sofortiger Umstieg sinnvoll oder sollte damit unter Umständen noch gewartet werden? Was sollte beim Umstieg beachtet werden?

Ist man am Entwickeln einer Anwendung, welche bereits .NET Core nutzt, dann ist ein Umstieg auf jeden Fall zu empfehlen.

Thomas Claudius Huber: Ob ein Umstieg sinnvoll ist oder nicht, hängt von verschiedenen Faktoren ab. Wenn man eine bestehende Anwendung auf .NET Core oder .NET Framework hat, aber keine neuen Features für diese Anwendung plant, dann ist ein sofortiger Umstieg eher nicht wirklich sinnvoll. Ist man dagegen am Entwickeln einer Anwendung, welche bereits .NET Core nutzt, dann ist ein Umstieg auf jeden Fall zu empfehlen, da .NET 5.0 ja die nächste Version von .NET Core ist. Es ist quasi .NET Core 5.0. Ein Umstieg von .NET Core 3.1 auf .NET 5.0 ist minimaler Aufwand, der sich schon alleine für die neuen C#-Features lohnt.

Entwickelt man dagegen an einer .NET-Framework-Anwendung, ist ein Umstieg schon aufwändiger, da bestimmte Klassen oder auch Libraries für .NET Core nicht existieren. Hier lohnt sich ein Blick auf die Visual Studio Extension „.NET Portability Analyzer“, welche das Projekt analysiert und bereits Umstiegsprobleme wie beispielsweise in .NET 5.0 nicht mehr unterstützte Klassen erkennen kann. Aber auch hier darf man nicht in Hektik verfallen, da .NET Framework weiterhin unterstützt wird, und das für die Lebenszeit von Windows.

Entwickler: Und zum Schluss noch eine Frage, die die etwas weiter entfernte Zukunft betrifft: .NET 5.0 sollte ursprünglich noch größere Neuerungen mit sich bringen, die aufgrund der Coronavirus-Pandemie um ein Jahr auf das LTS (Long-Term Support) Release .NET 6.0 vertagt wurden. Worauf freust du dich schon in .NET 6.0?

.NET MAUI ist wirklich eine Revolution.

Thomas Claudius Huber: Ich freue mich am meisten auf .NET MAUI. Microsoft hat dort viele Neuerungen angekündigt. Es ist somit nicht nur eine umbenannte Version von Xamarin.Forms, sondern es ist wirklich eine Revolution. Statt mehrerer Projekte für verschiedene Plattformen wie iOS, Android, macOS oder Windows zielt .NET MAUI darauf ab, dass es nur noch ein Projekt gibt, welches für alle Plattformen funktioniert. Das kommt moderner Cross-Plattform-Entwicklung schon ein ganzes Stück näher als alles andere, was wir bisher auf dem Microsoft Stack hatten.

Entwickler: Vielen Dank für das Interview!

Thomas Claudius Huber ist Microsoft MVP im Bereich Windows Development und Senior Principal Consultant und Partner der Trivadis AG. Als Trainer, Berater und Entwickler ist er in den Bereichen C#, TypeScript, WPF, UWP, Angular und Azure unterwegs. Da ihn Benutzeroberflächen schon seit seinem Informatikstudium faszinierten, setzte er sich seit der ersten WPF-Version mit der UI-Programmierung mit XAML auseinander. Heute setzt er neben XAML UIs begeistert Anwendungen mit TypeScript und Angular um. Er ist Autor verschiedenster Bücher, darunter „Getting Started with TypeScript“ und das umfassende Handbuch zur Windows Presentation Foundation. Seine persönliche Webseite finden Sie unter https://www.thomasclaudiushuber.com.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
X
- Gib Deinen Standort ein -
- or -