Fallback Image
Fallback Image

Umbraco 9 –

mit .NET Core in die Zukunft

Noch im August 2021 ist mit der neusten Version von Umbraco – V9 – zu rechnen. Ein Release Candidate wurde bereits veröffentlicht. Welche Vorteile bietet ein Umstieg und was wird sich verändern?

Mit Version 9 wird Umbraco von .NET 4.x nach .NET 5.0 portiert. Durch die Neuentwicklung erreicht V9 außerdem erstmals eine Plattformunabhängigkeit, was ein Hosting auch außerhalb von Windows (IIS) auf anderen Betriebssystemen ermöglicht. Diese Neuerungen eröffnet der Umbraco-Community viele zusätzliche Anwendungsmöglichkeiten und vereinfacht deren Handhabung.

Project Unicore

Seinen Anfang nahm die Entwicklung von Umbraco 9 mit dem Projekt Unicore auf dem Umbraco MVP Retreat 2019. Das Ziel war es, die Backend-Technologie von Umbraco 8 auf das .NET 5 Framework und das Web-Framework ASP.NET Core 5 zu überführen. Hieraus entstand in zwei Jahren Arbeit Umbraco 9. Für V9 wird Umbraco allerdings nicht komplett neu entworfen, sondern Stück für Stück vollständig auf .NET Core migriert.

Die Veröffentlichung der ersten Beta-Version von Umbraco 9 fand bereits im April 2021 statt. Enthalten und auf die neuste Version des Microsoft-Tech-Stacks migriert waren zu diesem Zeitpunkt bereits alle Features und Funktionalitäten, die den Nutzenden auch in Umbraco 8.13 zur Verfügung stehen. Seit Juli 2021 steht der Community außerdem ein erster Release Candidate zum Testen bereit. Nicht nur hier, sondern während des gesamten Prozesses wurde, wie üblich, viel Wert auf die aktive Beteiligung der Community gelegt. Die Verantwortung hierfür übernahm das so genannte Unicore Team unter der Leitung von Bjarke Berg, welches aus Freiwilligen aus der Community und einigen HQ-Mitgliedern besteht.

.NET Core & Umbraco

Umbraco läuft schon immer auf dem Microsoft .NET Framework. Schon lange bevor Microsoft 2019 verkündete, dass es nach dem .NET Framework 4.8 keine weiteren Versionen hiervon mehr geben wird, stand der Umzug von Umbraco auf .NET Core fest. Auch wenn .NET Core 5 zunächst noch keinen Long Term Support (LTS) bietet, soll Umbraco damit zukunftssicher und offen für eine Weiterentwicklung gemacht werden. Sobald .NET 6 LTS veröffentlicht ist (geplant November 2021), sollen Projekte mit Umbraco 9 dann einfach aktualisiert werden können, während Umbraco selbst seine Dependencies auf ASP.NET Core 5 beibehält.

Welche Vorteile bietet die Migration?

Neben der Zukunftssicherheit bietet der Umstieg zahlreiche weitere Vorteile. .NET Core wurde von Microsoft komplett neu entwickelt, wobei einer der Grundgedanken maximale Performance war. Der Umstieg verspricht für Umbraco daher eine enorme Verbesserung bezüglich der Performance. Hierdurch kann es Vorteile neuer Hard- und Software ausnutzen, woraus sich – je nach Anwendung – eine 100 bis 1000% Steigerung der Leistung ergibt (Quelle: Umbraco). Zudem ist die Skalierbarkeit auf Hardware-Ebene um ein Vielfaches höher.

Mit der Umstellung auf .NET Core steht Umbraco außerdem erstmals plattformunabhängig zur Verfügung. Hierdurch wird Umbraco nun neben Microsoft Windows auch auf Linux und MacOS nutzbar sein. Aktuelle Einschränkungen auf neuen MacOS-Geräten sollten spätestens mit .NET 6 gelöst werden. Damit öffnet sich Umbraco für neue Gruppen und vergrößert die Hosting-Optionen und Architektur-Möglichkeiten. Das Potential für ein Wachstum der Umbraco-Community ist enorm!

Ein weiterer Vorteil von Umbraco 9 und der plattformunabhängingen Verwendung liegt in der Öffnung für Kubernetes- und Docker-Technologien. Was unter Windows in V8 noch kaum praktikabel war, ist jetzt möglich und erlaubt den Einsatz von Docker auch unter Microsoft und MacOS.

Was hat sich verändert?

Um Umbraco auf die neuste Version von .NET zu überführen und die damit verbundenen Vorteile zu nutzen, waren jede Menge Änderungen notwendig. Am Aussehen hat sich seit V8 wenig getan, der Wandel wird erst im Code ersichtlich. Hier einige Beispiele:

Benutzer- und Mitgliedsauthentifizierung

Statt zwei Authentifizierungsmöglichkeiten ASP.NET Identity und Membership Providers wie noch in Umbraco 8, kann ASP.NET Core Identity nun für die Implementierung beider Arten genutzt werden. Dies vereinfacht langfristig die Wartung und ein Großteil des Codes kann bei beiden Konzepten wiederverwendet werden.

Third-party Dependencies

Umbraco 8 nutzt einige third-party Dependencies, die ursprünglich nicht für die Verwendung mit .NET Core vorgesehen waren. Viele hiervon konnten durch ein Update kompatibel gemacht werden, andere wurden neuentwickelt. V9 nutzt nun außerdem die in .NET Core integrierte Dependency Injection (MSDI), statt wie bisher ein externes Package. Dies bietet den Nutzenden höhere Flexibilität sowie Anpassungsfähigkeit an individuelle Arbeitsabläufe.

Installation von Packages

Der Ablauf der Installation von Umbraco musste grundlegend geändert werden. Statt das Umbraco-Paket in ein leeres Web-Projekt zu installieren, kann nun dotnet new templates genutzt werden. Diese Templates müssen über den Open-Source Package Manager NuGet installiert werden, können anschließend aber sowohl über CLI, Visual Studio und Rider verwendet werden.

Was bleibt gleich?

Um den End-Nutzer:innen, Entwickler:innen, Mitarbeitenden sowie dem Headquarter selbst, den Umstieg so einfach wie möglich zu machen, wurden Veränderungen am aktuellen Konzept von Umbraco auf ein Minimum beschränkt. Weitere Modifikationen in der Architektur oder Verbesserungen sollen in späteren Versionen folgen. In V9 wird es demnach kaum Veränderungen im Frontend oder den Funktionalitäten im Vergleich zu Umbraco 8 geben. Zwar wird parallel hieran gearbeitet, jedoch unabhängig von V9. Auch Veränderungen an Datenbanken, über die vorab immer wieder Besorgnis geäußert wurde, gibt es wenige. Da der Fokus auf .NET Core liegt, wird am Javascript-Code nicht mehr verändert als unbedingt notwendig.

LTS-Versionen von Umbraco ab 9x

© Umbraco

LTS-Versionen von Umbraco ab 9x

Wie geht es mit Umbraco 8 weiter?

Packages von Umbraco 8 werden nicht auf dem neuen Framework laufen und daher migriert werden müssen. Umbraco 8 selbst wird weiterhin verbessert und mit Updates vom Headquarter versorgt. So sicherte dieses noch mindestens drei Jahre weiteren Support und Bug-Fixes nach dem letzten Minor-Release zu. Weitere Infos hierzu, findet ihr hier. Zukünftige Veränderungen und zusätzliche Features in Umbraco 8 werden kontinuierlich in der .NET Core Version nachgezogen werden.

Wir bei byte5 sind sehr gespannt auf die neuen Möglichkeiten, die sich mit Umbraco 9 in unserem Projektalltag eröffnen und freuen uns auf eine wachsende Umbraco-Community. H5YR!

Auch der Einstieg von Monterro als in Investor bei Umbraco wird spannende neue Impulse ermöglichen und die Weiterentwicklung fördern. Weiter Infos dazu findet ihr hier.

Sie interessieren sich für

Umbraco 9?

jetzt kontaktieren