Marc Gravell
23.01.2020, 05:14 Uhr
.NET 5.0: Qualen für Bibliotheksautoren
Der britische Entwickler Marc Gravell teilt seine intensiven Überlegungen zum Zusammenschluss von .NET Core und .NET Framework zu .NET 5.0 mit der Öffentlichkeit.
(Quelle: B. Lauer)
Das .NET Framework, wie wir es kennen, hat mit der Version 4.8 ausgedient. Es wird zwar noch mit Sicherheitspatches versorgt, aber nicht mehr weiterentwickelt werden. Es fliesst nach den Worten von Microsoft in .NET 5.0 ein, das allerdings die nächste Version von .NET Core sein wird. Als Brücke zwischen beiden Varianten dient die API-Definition .NET Standard. Wer dafür programmiert, kann sein Programm in beiden Welten laufen lassen.
Die Kurzfassung der Überlegungen von Marc Gravell – britischer Entwickler und Bibliotheksautor – lautet: "Ich erwarte, dass 2020 viele Bibliotheksautoren ernsthaft darüber nachdenken werden, ob sie weiterhin .NET-Framework-Unterstützung für neue Bibliotheksversionen liefern werden. Es gibt viele Gründe dafür, einschliesslich zunehmender Feature-Lücken, die es zunehmend teuer machen, mehrere Frameworks zu unterstützen, entweder über Kompatibilitäts-Shims oder Framework-abhängige Feature-Sets.
Da immer mehr Bibliotheksautoren ihre eigenen Migrationen auf .NET Core durchführen, steigt der Aufwand für die Unterstützung eines Frameworks, das sie nicht verwenden: Bugs werden nicht entdeckt, bis sie an die Kunden ausgeliefert werden. Eine Menge Wissen über "das alte Framework" muss erhalten und im Auge behalten werden – das ist ein besonderes Problem bei neuen Beiträgen.Es gibt oft zwei (oder mehr) Code-Implementierungen zu unterstützen Builds sind komplizierter als nötig und dauern länger. Ähnliches gilt für Tests."
Ganz ernst wird es laut Gravell bei den folgenden .NET-Namensräumen: "Wenn Sie einen Bibliotheksautor weinen sehen wollen, erwähnen Sie System.ValueTuple, System.Numerics.Vectors oder System.Runtime.CompilerServices.Unsafe. Warum? Weil sie ein Bereitstellungsalptraum sind, wenn Sie auf mehrere Plattformen abzielen, weil .NET Framework ein völliges Schweineohr aus ihnen macht; Sie können es mit Assembler-Bindungsumleitungen manchmal einfach reparieren, aber die Werkzeuge werden und können dies nicht für Sie tun, was für einen Bibliotheksautor eine reine Qual ist. Weil das .NET Framework "komplett" ist, wird den Loader niemand mehr anfassen wollen. Verbesserungen sind lediglich in .NET 5 (also Core) zu erwarten."
Soweit die mit der Hilfe von DeepL übersetzen Gedanken von Marc Gravell. Seinen kompletten Beitrag finden Sie unter https://blog.marcgravell.com/2020/01/net-core-net-5-exodus-of-net-framework.html.